Automette docs
Generating

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

  1. Upload a CSV to a project's Integrations → CSV tab (or the team-level Data Sources page)
  2. Link the data source to a template — Automette maps CSV columns to template fields automatically
  3. Click Generate — a background job starts immediately, one render per row
  4. 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 → IntegrationsCSV. 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:

StatusMeaning
CompatibleAll template fields are covered by a CSV column
PartialSome template fields are mapped; the rest use the template's default values
IncompatibleNo 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

ModeWhat you get
Bulk ZIPA .zip archive containing one file per row
Updated CSVYour original CSV with a document_url column appended

You can enable both at the same time.

URL type (Updated CSV mode)

TypeDescription
PublicPermanent CDN link — suitable for Airtable, Google Sheets, or embedding
SecurePresigned 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

On this page