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

# Attachment Downloader

> Download all attachments from Airtable records as a ZIP file with configurable folder structure.

## What this tool does

The Attachment Downloader collects files from one or more attachment fields across your Airtable records and packages them into a single downloadable ZIP file. You control how files are organized within the ZIP and how they are named.

## Settings reference

### Source

| Setting               | Description                               |
| --------------------- | ----------------------------------------- |
| **Source table**      | The table to download attachments from.   |
| **Attachment fields** | One or more attachment fields to include. |

### Folder structure

| Setting                 | Description                                                                                    |
| ----------------------- | ---------------------------------------------------------------------------------------------- |
| **Folder organization** | How files are organized inside the ZIP: Flat, By record, By field, or Record > Field (nested). |

### Folder organization options

| Option             | Structure                                                         |
| ------------------ | ----------------------------------------------------------------- |
| **Flat**           | All files in the root of the ZIP, no subfolders.                  |
| **By record**      | One subfolder per record, named by the record's primary field.    |
| **By field**       | One subfolder per attachment field.                               |
| **Record > Field** | Nested: a subfolder per record, with subfolders per field inside. |

### File naming

| Setting               | Description                                                                        |
| --------------------- | ---------------------------------------------------------------------------------- |
| **Filename mode**     | Keep original (use the file's existing name) or Use naming template.               |
| **Filename template** | Template with tokens for custom naming. Only shown when template mode is selected. |

### Filename template tokens

| Token           | What it inserts                         |
| --------------- | --------------------------------------- |
| `@{Field Name}` | Any Airtable field value                |
| `{original}`    | Original filename                       |
| `{record_name}` | Record's primary field value            |
| `{field_name}`  | Name of the attachment field            |
| `{index}`       | Position of the attachment in the field |

### Record filters

| Setting                | Description                                                   |
| ---------------------- | ------------------------------------------------------------- |
| **Source view**        | Limit to records in a specific view.                          |
| **Skip empty records** | Skip records that have no attachments in the selected fields. |

### Limits

| Setting                     | Description                                                                         |
| --------------------------- | ----------------------------------------------------------------------------------- |
| **Maximum total size (MB)** | The run fails if the total uncompressed size of all attachments exceeds this limit. |

## Getting the ZIP file

After the run completes, click **Download** in the run panel to save the ZIP file.

## Common questions

<AccordionGroup>
  <Accordion title="Is there a file count limit?">
    There is no file count limit, but the total size limit applies. Set a reasonable max total size to prevent unexpectedly large downloads.
  </Accordion>

  <Accordion title="What if two files have the same name in a flat structure?">
    Duplicate filenames are handled by appending a counter (`file.pdf`, `file_1.pdf`, `file_2.pdf`). Use a naming template with the `{record_name}` token to prevent collisions.
  </Accordion>

  <Accordion title="Can I download attachments from multiple fields at once?">
    Yes. Select multiple attachment fields in the **Attachment fields** setting. Files from all selected fields are included in the ZIP.
  </Accordion>
</AccordionGroup>
