Generate PDFs from Airtable
To generate a PDF from Airtable, add an automation step that sends an HTTP request to the Docweave API (POST https://docweave.dev/api/v1/pdf) with your record's fields as JSON — Docweave renders the template and returns a PDF, no separate rendering service to run yourself.
Wire an Airtable automation to Docweave
Airtable automations can call any HTTP endpoint from a "Send an HTTP request" action. Set it up like this:
1. Trigger: When a record matches conditions / is created
In an Airtable automation, add a trigger such as "When record matches conditions" or "When record is created" on the table holding the records you want turned into PDFs (e.g. Orders, Contracts, Reports).
2. Action: Send an HTTP request
Add an action step and choose "Send an HTTP request." Set the method to POST and the URL to https://docweave.dev/api/v1/pdf.
3. Headers
Add three headers: Authorization set to Bearer dw_live_your_key, Content-Type set to application/json, and Accept set to application/pdf. The Accept header tells Docweave to return the raw PDF bytes in the response body instead of a JSON envelope, so the automation can attach or store the file directly.
4. Body
Set the request body to JSON and paste the body below, swapping the {{Name}}, {{Status}}, {{Notes}}, and {{Record ID}} placeholders for the matching Airtable field tokens inserted from the automation's dynamic-content picker.
5. Run and check the response
Test the step in the automation editor. A successful call returns the rendered PDF as the raw response body (Content-Type: application/pdf), which you can pass straight to an "Update record" action's attachment field or a storage step; on failure you get a normalized JSON error and a 502 status instead of a partial file, so you can branch on the HTTP status in a later automation step.
JSON body example
Paste this into the HTTP request action's body, then replace the placeholders with fields inserted from Airtable's dynamic-content picker:
{
"source": {
"type": "template",
"template": "<h1>{{ name }}</h1><p>Status: {{ status }}</p><p>Notes: {{ notes }}</p>",
"data": {
"name": "{{Name}}",
"status": "{{Status}}",
"notes": "{{Notes}}"
}
},
"options": { "format": "A4" },
"idempotencyKey": "{{Record ID}}"
}…or skip the automation with MCP
If an AI agent is the one assembling your Airtable data, it can call npx @docweave/mcp directly and use the generate_pdf tool instead of building the HTTP request itself — same rendering, no Airtable automation step required.
FAQ
How do I generate a PDF from Airtable?
Add an Airtable automation with an HTTP request action that sends a POST to https://docweave.dev/api/v1/pdf, with an Authorization: Bearer header and a JSON body containing a template plus the record's field values as data. Docweave renders the template with Chromium and returns the PDF.
Does Airtable have a native PDF export I should use instead?
Airtable's built-in view/record printing is limited to what a view already shows and offers little layout control. For a specific document design — an invoice, report, or contract — an HTTP request to a rendering API like Docweave gives you a custom HTML/CSS template instead. Check Airtable's current docs for what native printing supports today.
Can I turn multiple Airtable records into one PDF, or one PDF per record?
Both are possible. For one PDF per record, trigger the automation per record and pass that record's fields as data. For a combined document, first assemble the records into a single data payload (for example via a script step or a rollup) and send that combined structure in one request.
How do I avoid generating duplicate PDFs if the automation retries?
Pass an idempotencyKey in the request body, such as the Airtable record ID. A retried request with the same key returns the already-generated result instead of rendering (and billing) again.
Ready to generate PDFs from Airtable in production?
Get an API key