Automate PDFs from Airtable

Generate label and card PDFs from Airtable records through Make or n8n

The reliable Airtable workflow uses Airtable as the trigger and record store, Make or n8n as the secure automation layer, and cloud storage as the file destination.

Airtable record becomes Ready
→ Make or n8n calls SheetsToLabels
→ PDF binary is uploaded to Drive, Dropbox, OneDrive, or S3
→ the file URL or attachment is written back to Airtable

Airtable attachment fields normally receive an uploaded file URL. The SheetsToLabels API intentionally returns the PDF binary and does not host a public file, so a storage step is required before updating the attachment field.

Prepare the base

Create fields for your template variables plus:

  • PDF Status: a single select with Draft, Ready, Generated, and Error.
  • PDF File: an attachment or URL field.
  • PDF Request ID: a text field for support and audit.
  • Last Modified: a last-modified-time field watching only source data fields.

Watching only source fields prevents writing the generated URL from triggering a second generation.

Build the automation

  1. Trigger when PDF Status becomes Ready.
  2. Read the Airtable record and map its fields to records[0].variables.
  3. Call POST https://sheetstolabels.com/api/v1/generate-pdf with Authorization, Content-Type: application/json, and X-Integration-Source: airtable.
  4. Use a stable key such as airtable-{recordId}-{lastModified} for Idempotency-Key.
  5. Configure the HTTP step to return a file or binary payload.
  6. Upload the PDF to private cloud storage.
  7. Update PDF File, save X-Request-Id, and change the status to Generated.
  8. On a structured API error, store its code and requestId, then change the status to Error.

Keep the API key in the Make/n8n credential store. Do not add it to an Airtable field, formula, script input visible to base collaborators, or webhook URL.

One record or a label sheet

For one card or label file, send the triggering record with layout.type: "single". To create a sheet, search Airtable for all Ready records, map them into one records array, and use a compatible preset. After one successful response, update every source record included in that batch.

Continue with the Make guide or n8n guide. Start an API trial when the workflow is ready to use your template.