Core concepts
This page covers the key concepts you'll encounter across Automette — templates, fields, and the different ways to generate documents.
Templates
A template is your document design. It has two parts: the fixed content that stays the same every time (your logo, legal footer, layout), and fields — the parts that change per document (a recipient name, an invoice total, a product image).
Automette gives you three ways to build a template:
- Visual editor — drag-and-drop canvas for designs where layout matters: certificates, social posts, banners, image-heavy marketing assets.
- Word document — upload a
.docxfile you already have and mark the variable parts with{{curly braces}}. Automette fills them in at generation time and can deliver as Word or PDF. - Typst markup — a text-based format for precise, multi-page PDFs: invoices, reports, data-dense documents. Good if you want fine-grained layout control or version-controlled templates.
Templates can optionally be organized into folders for grouping related designs together.
Fields
Fields are the variable slots in a template — the parts that get filled in each time you generate. A certificate might have recipient_name and course_title. An invoice might have client_name, amount, and due_date.
Fields are defined when you build the template. When you generate — whether manually, in bulk, or via an integration — you supply a value for each field.
Ways to generate
Once you have a template, there are several ways to produce documents from it:
- Manually — fill in fields on the Generate page and download the result. Good for one-offs and testing.
- Bulk from a spreadsheet — upload a CSV and Automette generates one document per row. Good for batch runs: monthly invoices, student certificates, offer letters.
- With a form — publish a hosted form to collect responses from people outside your team. Every submission lands in your dashboard, and can optionally generate a document too. See Forms.
- Via the API — send a request from your app or automation and get back a file URL. Good for integrating document generation into a product or workflow.
- On-demand URL — a personalized document URL you embed in emails or web pages. The document is generated on the first visit and cached for every request after.
Brand Kit
A brand kit stores your visual identity — colors, fonts, logos — in one place. Templates that reference a brand kit stay consistent automatically. Update the kit once and every template using it reflects the change.
History
Every document Automette generates is recorded in History — whether it came from the Generate page, a form, a CSV upload, or an API call. From History you can download individual files, grab a full batch as a ZIP, or inspect the input data that produced any particular document.
For developers
The API has four core objects:
Team
└── Template ← the design + field definitions
└── Job ← one trigger event
└── Render ← one output fileTeam — everything belongs to a team. Your API key is scoped to a team, so all requests operate within it automatically.
Template — the document blueprint, same as described above. In the API it is identified by a stable templateId and exposes its list of accepted fields via GET /api/v1/templates/{id}.
Job — the trigger event that kicked off work. Every generate action — an API call, a form submission, a CSV upload — creates one job. A job groups all the renders produced by that single trigger. In the dashboard a job is a row in History. The API returns a jobId on every render request so you can track the batch.
Render — one output file. A single API call produces one render; a bulk CSV with 500 rows produces 500 renders under one job. Each render has:
- A status —
pending,running,completed, orfailed. Renders are processed asynchronously; pollGET /api/v1/renders/{id}or supply awebhook_urlon the request to be notified on completion. - A URL to the file, available once status is
completed. - A visibility —
public(permanent CDN-cached URL, good for embedding and sharing) orsecure(short-lived signed URL, good for private downloads). You choose at request time; the default issecure. - The input data that produced it, kept for reference and replay.
See the API reference for endpoint details.
Last updated on