Bulk generate from CSV
Bulk generation takes a CSV file and produces one document per row — all in a single background job. The result is a ZIP of all files, or a copy of the original CSV with a download link added to each row.
How it works
- Upload a CSV to a project's Integrations → CSV tab (or the team-level Data Sources page)
- Link the data source to a template — Automette maps CSV columns to template fields automatically
- Click Generate — a background job starts immediately, one render per row
- Download the ZIP when complete, or get the updated CSV with links
Each bulk run creates one Job and one Render per row. All runs appear in the History tab.
Uploading a CSV
Go to a project → Integrations → CSV. Click Upload CSV and select a file.
- The first row must be column headers
- All values are treated as strings — the template handles any type conversion
- There is no hard row limit, though very large files (thousands of rows) may take several minutes
Column → field mapping
When you link a CSV to a template, Automette tries to match CSV column names to template field keys automatically. Matching is case-insensitive and ignores spaces vs underscores (e.g. Student Name matches student_name).
The mapping status shown next to each linked template:
| Status | Meaning |
|---|---|
| Compatible | All template fields are covered by a CSV column |
| Partial | Some template fields are mapped; the rest use the template's default values |
| Incompatible | No columns could be matched |
You can review and adjust the mapping by clicking Edit mapping. Any unmapped template field falls back to the default value defined in the template.
Output options
Click the settings icon (⚙) before generating to configure the output:
Output mode
| Mode | What you get |
|---|---|
| Bulk ZIP | A .zip archive containing one file per row |
| Updated CSV | Your original CSV with a document_url column appended |
You can enable both at the same time.
URL type (Updated CSV mode)
| Type | Description |
|---|---|
| Public | Permanent CDN link — suitable for Airtable, Google Sheets, or embedding |
| Secure | Presigned URL with a 7-day expiry — more private |
Filename pattern
By default files are named {template-name}-{row-index}.pdf. You can set a custom pattern using column values as tokens:
{student_name}_{class}_{year}Any column header wrapped in {...} is replaced with the row's value. Spaces are replaced with underscores and special characters are stripped.
Tracking progress
While a job is running, the panel shows a live progress bar. When complete:
- A Download ZIP button appears (if ZIP output was selected)
- A Download CSV button appears with the updated file (if CSV output was selected)
- Expand the job row to see the status of every individual render
Failed rows are shown with their error message. The rest of the batch still completes.
History
Every bulk run appears in the project's History tab with source CSV. You can re-download the ZIP or individual renders from there at any time.
Last updated on