Zapier
Create PDFs, images and e-invoices from your templates in Zapier, start Zaps when renders finish, and attach the files to emails, drives and chats.
The Dynamic Document API app for Zapier fills your templates with data from any of Zapier's apps and hands the finished file to the next step: attach the invoice to an email, upload the certificate to a drive, post the social image to a channel. Triggers start a Zap when a render succeeds or fails, a batch completes or a template gets a new version.
The app is listed in the Zapier app directory: search for Dynamic Document API when you add a step to a Zap.
Connect your account
When you add a Dynamic Document API step to a Zap, Zapier asks you to connect an account. You sign in with your Dynamic Document API account (free plan, no card needed) and the consent screen shows:
- The workspace the connection may use. Zapier names the connection after it, so you can connect several workspaces and pick one per step.
- The permissions: read templates, create renders, read and delete renders and their files, read the account's plan and usage, manage the webhook endpoints of its instant triggers, and create signed links. The connection can't change templates, API keys, members or settings.
The connection lasts until you remove it under Settings → Integrations in the dashboard. Zapier renews its access in the background; if the connection isn't used for 90 days, Zapier asks you to reconnect it.
Triggers
| Trigger | Starts the Zap when |
|---|---|
| New Render Succeeded | A render finished, with its file ready for the next step |
| New Render Failed | A render failed, with the error code and message |
| New Batch Completed | A batch finished, with its counts and the ZIP or merged PDF if it made one |
| New Template Version Published | A template got a new live version in the dashboard, published or rolled back |
The first three are instant: Dynamic Document API sends the event to Zapier as a webhook the moment it happens (see webhook endpoints below). New Template Version Published is checked on Zapier's polling schedule.
The render and batch triggers take these options:
- Templates: only renders or batches of these templates. Leave it empty for every one, including renders from HTML, URLs and PDF tools.
- Test renders (render triggers only): include them, skip them or only use them. Skip them once the Zap sends real documents.
- Renders made in Zapier (render triggers only): skipped by default, so a Zap that renders in its own steps can't start itself again and again. Include them to continue a slow render in a second Zap, and filter that Zap by template so it doesn't react to its own renders.
Batches don't record where they came from, so New Batch Completed has no such option: a Zap that starts with it shouldn't create a batch of a template its trigger listens to.
Actions
| Action | What it does |
|---|---|
| Create PDF From Template | Fills a PDF template with data from earlier steps, optionally as a hybrid e-invoice |
| Create Image From Template | Renders a PNG, JPEG or WebP from an image template |
| Create PDF From HTML | Renders HTML and CSS, for example a page an earlier step built |
| Create PDF From URL | Prints a public web page as a browser would |
| Create PDF From Markdown | Turns Markdown into a PDF, for example text from an AI step |
| Merge PDFs | Merges files, URLs and earlier renders into one PDF, see PDF tools |
| Protect PDF | Encrypts a PDF with AES-256: a password to open it and limits on printing, copying and editing |
| Create E-Invoice | Creates a validated e-invoice XML (XRechnung, EN 16931, Factur-X and ZUGFeRD profiles) |
| Create Signed Image URL | Creates a signed URL that renders a personalised image when opened, for emails and posts |
| Create Batch | Renders one document per item from a template, optionally as a ZIP or one merged PDF |
| Wait for Render | Waits up to 25 seconds for a render that is still running and returns its file |
| Delete Render Files | Deletes a render's stored files right away, for example after an earlier step uploaded them elsewhere |
Searches
| Search | Finds |
|---|---|
| Find Render | A render by its ID or by your reference, with fresh links to its files |
| Find Template | A template by its name or part of it |
| Find Account Usage | The workspace's plan, the renders left this billing period and the usage in a date range |
Zapier needs an action after a search: a Zap can't end with one.
Fill a template
After you pick a template, the step lists the template's data fields from its schema, with the labels and descriptions set in the template editor. Line items such as invoice lines become a line-item group: map a list from an earlier step, or enter the rows by hand. Fields inside an optional object aren't required in Zapier; the template's schema still checks them when you fill that object.
Set Data entry to Raw JSON for structures the fields can't express, and paste or map the whole data object.
The template list shows published templates only, so publish a template in the dashboard before you use it in a Zap.
Create PDF From Template can embed an e-invoice. Leave Embed e-invoice empty to keep the template's own setting, choose a profile and map the invoice JSON or give the path to the invoice in the data, or choose Off for a plain PDF.
Files and links
Every render action returns the render with its first file:
- File: the file itself. Map it into an attachment or upload field, such as Gmail's attachments or Google Drive's file field.
- File URL (signed, expires): a download link that stays valid for 24 hours.
- Render ID, Status, Pages, Billed renders, Test render and Warnings.
Zapier stops a step after 30 seconds, so a render step waits up to 25. A render that takes longer keeps running and the step returns it with the status processing and no file yet. Add a Wait for Render step, or start the next steps from a second Zap with New Render Succeeded, filtered to the template, with Renders made in Zapier set to include them.
Renders from Zapier show the source Zapier in the dashboard's render list and usage breakdown.
Test mode
Each render action has a Test mode option, set to No by default. While you build a Zap, set it to Yes: test renders carry a TEST watermark and aren't billed. Switch it back to No for the final documents, which count like API renders.
Webhook endpoints
Each Zap with an instant trigger adds one webhook endpoint to the workspace while the Zap is on. You see them under Webhooks in the dashboard, marked Managed by Zapier. You can't edit or delete them there:
- Turning the Zap off or deleting it removes its endpoint.
- Disconnecting Zapier under Settings → Integrations removes the endpoints once no Zapier connection to the workspace is left.
- If Zapier answers a delivery with
410 Gone, Dynamic Document API removes the endpoint.
Managed endpoints never become the workspace's default endpoint, and they count towards the limit of 20 webhook endpoints per workspace.
Plans
Every plan, Free included, can render PDFs and images, use the PDF tools and run the triggers. Some actions need a plan with the feature:
| Action | Plan |
|---|---|
| Create Signed Image URL | Starter or higher |
| Create Batch | Starter or higher |
| Create E-Invoice, and e-invoices embedded by Create PDF From Template | Growth or higher |
The usual limits apply, such as the rate limit, pages per PDF and batch items.
A workspace with an API IP allowlist (Settings → Security) refuses Zapier's requests, because they come from Zapier's servers.