> ## Documentation Index
> Fetch the complete documentation index at: https://docs.autype.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Bulk Generation Panel

> Generate multiple personalized documents from a single template by uploading a CSV, Excel, or JSON data file.

The **Bulk Generation** panel lets you generate multiple personalized documents from a single template. Each row in your data file becomes a separate document, with [variables](/getting-started/editor/sidebar-variables) filled in automatically.

<Frame>
  <img src="https://mintcdn.com/centerbit/xsS3MEtCpKEJ0qMD/images/application/sidebar-bulk/sidebar-bulk-panel.png?fit=max&auto=format&n=xsS3MEtCpKEJ0qMD&q=85&s=60fffb17c898d69e569dcb8cc9b9a5e2" alt="Bulk Generation sidebar panel" width="1651" height="1274" data-path="images/application/sidebar-bulk/sidebar-bulk-panel.png" />
</Frame>

<Note>
  Your document must have at least one variable defined before you can use bulk generation. Variables act as placeholders that get replaced with values from your data file.
</Note>

***

## Getting started

There are two ways to use bulk generation:

1. **Upload a data file** — download one of the pre-filled template files, fill it with your data, and upload it back
2. **Use the API** — use the pre-generated curl commands for programmatic integration into your own workflows

### Download a template

At the bottom of the panel, you'll find three downloadable template files. Each template is **pre-filled with your document's variable names** as column headers or keys, so you know exactly which fields to fill in.

| Template                                              | Format  | Best for                                                          |
| ----------------------------------------------------- | ------- | ----------------------------------------------------------------- |
| <Icon icon="file-text" size={16} /> **CSV Template**  | `.csv`  | Simple text variables, easy to edit in any spreadsheet app        |
| <Icon icon="grid-3x3" size={16} /> **Excel Template** | `.xlsx` | Richer data with multiple sheets, works in Excel or Google Sheets |
| <Icon icon="braces" size={16} /> **JSON Template**    | `.json` | Complex variable types (images, lists, tables), ideal for API use |

<Tip>
  If your document uses **image**, **list**, or **table** variables, use the JSON template — CSV and Excel only support simple text values.
</Tip>

### API integration

Click the **API Code** button to open a modal with ready-to-use **curl commands** for triggering bulk generation via the [Developer API](/api-reference/introduction). The commands include your document ID and variable structure, so you can copy-paste them directly into your terminal or integration scripts.

***

## Uploading data

Drag and drop a file onto the upload area, or click to browse. Supported formats are **CSV**, **Excel** (`.xlsx`, `.xls`), and **JSON**.

After uploading, you'll see the file name and size displayed in the panel, along with the output format selector and action buttons.

<Frame>
  <img src="https://mintcdn.com/centerbit/xsS3MEtCpKEJ0qMD/images/application/sidebar-bulk/sidebar-view-after-upload.png?fit=max&auto=format&n=xsS3MEtCpKEJ0qMD&q=85&s=7d450e15f03bac50a4723503ae86f59d" alt="Bulk panel after uploading a CSV file" width="351" height="477" data-path="images/application/sidebar-bulk/sidebar-view-after-upload.png" />
</Frame>

### Output format

Choose the output format for all generated documents:

| Format   | Description                            |
| -------- | -------------------------------------- |
| **PDF**  | Portable Document Format — most common |
| **DOCX** | Microsoft Word format                  |
| **ODT**  | Open Document Format                   |

### Preview (First Row)

Before generating all documents, you can click **Preview (First Row)** to render a single document using only the first row of your data file. This lets you verify that variables are mapped correctly and the output looks as expected — without consuming resources for the full batch.

The preview file is automatically downloaded once rendering is complete.

***

## Generating documents

Click **Generate All** to start the bulk generation job. The panel shows a **progress bar** with the number of completed and failed items in real time.

<Warning>
  It is recommended to **keep this panel open** until the job is finished. Closing the panel or navigating away may interrupt the progress display, though the job itself continues on the server.
</Warning>

During processing, each row from your data file is rendered as a separate document. Depending on document size and server load, this can take anywhere from a few seconds to several minutes for large batches.

***

## Downloading results

Once the job is completed, a **Download ZIP** button appears showing the number of successfully generated files.

<Frame>
  <img src="https://mintcdn.com/centerbit/xsS3MEtCpKEJ0qMD/images/application/sidebar-bulk/generation-completed-with-download.png?fit=max&auto=format&n=xsS3MEtCpKEJ0qMD&q=85&s=3aeb513aa7b4710f086daec151e5d3e4" alt="Completed bulk generation with download button" width="345" height="453" data-path="images/application/sidebar-bulk/generation-completed-with-download.png" />
</Frame>

The ZIP file contains all generated documents. Files are **sequentially numbered** and include the document name:

```
001_My_Document.pdf
002_My_Document.pdf
003_My_Document.pdf
...
```

<Note>
  The download link is available for **1 hour** after the job completes. After that, the ZIP file is automatically cleaned up and you would need to run the job again.
</Note>

***

## Failed items

If some items fail during generation, the panel shows a **Failed Items** section that you can expand. Each failed item displays:

* The **item index** (row number from your data file)
* The **error message** explaining what went wrong
* A **preview of the variables** that were used for that item

This helps you identify and fix issues in your data file before re-running the job.
