SnapPDF + Zapier
Wire PDF operations into 6,000+ apps without writing a line of code.
The SnapPDF Zapier app exposes every v1 endpoint as a discrete Action. Build Zaps that react to new Gmail attachments, Stripe payments, Typeform submissions, or HubSpot deal stages and pipe files through merge, compress, OCR, watermark, sign, or any of the 15 operations. Production-ready Zap templates ship for invoice automation, contract prep, and monthly report delivery.
What you can build
- Trigger on Gmail attachment, Stripe payment, Typeform submission, or any Zapier trigger.
- Chain multiple SnapPDF actions in one Zap (e.g. Merge → Watermark → Compress).
- Use dynamic values from earlier Zap steps as operation parameters.
- Send the output to 6,000+ Zapier-connected apps (Drive, Slack, Notion, etc.).
- Subscribe to SnapPDF webhooks via Zapier Webhooks for long-running jobs.
Setup
- 01Create a SnapPDF live keyFrom /dashboard/keys — name it "zapier-production", scope to `pdf:write`. Copy the `sk_live_…` token once; SnapPDF never shows it again.
- 02Install the Zapier appOpen zapier.com/apps/snappdf and hit "Connect". Paste the live key when prompted. Zapier validates against /api/v1/health with the key attached.
- 03Pick a triggerAnything Zapier supports. For invoice flows, "Stripe → New Charge" is the canonical starter. For form flows, Typeform "New Entry".
- 04Add a SnapPDF actionSearch "SnapPDF" in the action picker. Every endpoint is listed as a distinct action — "Merge PDFs", "Compress PDF", "OCR PDF", etc.
- 05Map fields from the triggerZapier lets you drop earlier-step outputs into any input. Map the Stripe invoice URL into the Merge action's `files[0]` field as a remote URL.
- 06Chain a second SnapPDF action (optional)Most useful flows are two or three SnapPDF actions in a row. Example: Merge → Watermark → Compress. Each action's output is the next action's input.
- 07Pipe to a final delivery stepGmail send, Drive upload, Slack message, Notion create page. Attach the final PDF as a file (not a URL) so the destination stores the bytes.
- 08Test with a real triggerZapier runs a live test against your SnapPDF key. Watch the dashboard usage counter tick up. Flip the Zap to On.
Code example
A common three-action Zap: new Stripe charge → merge invoice body + terms → watermark PAID → email to customer.
Trigger: Stripe → New Charge (mode: live)
Action 1: SnapPDF → Merge PDFs
files[0]: {{charge.metadata.invoice_url}}
files[1]: https://cdn.example.com/boilerplate/terms.pdf
preserveBookmarks: true
Action 2: SnapPDF → Watermark PDF
file: {{step_1.output.pdf_url}}
kind: text
text: "PAID"
position: diagonal
opacity: 0.18
color: "#0f766e"
Action 3: Gmail → Send Email
to: {{charge.billing_details.email}}
subject: "Invoice {{charge.metadata.invoice_number}} — Paid"
attachment: {{step_2.output.pdf_url}}Known limits
- · Zapier caps per-task payload size at 150MB; route larger jobs through async + webhook.
- · Zap editor does not preview binary PDF content — inspect results in the SnapPDF dashboard.
Pricing notes
Zapier integration requires a SnapPDF Starter plan ($19/mo) or above — Free tier is reserved for direct API use. Zapier's own Tasks plan is separate.
Available from the Starter plan.
FAQ
Will a Zap consume SnapPDF quota?
Yes. Every successful action is a live API call against your key, metered like any other request. Zapier tasks and SnapPDF credits are separate meters — you pay both. Use the playground for test runs.
What happens if a SnapPDF action fails?
Zapier retries 3 times with backoff by default. Errors surface with the SnapPDF error code (e.g. `pdf.encrypted` or `input.too_large`). Configure Zap auto-replay in Zapier settings for transient failures.
Can I pass a URL instead of a file?
Yes — any `files[]` or `file` field accepts a public HTTPS URL. SnapPDF fetches it server-side. The URL must be reachable from our egress IPs (listed in /docs/ip-allowlist).
Are my documents retained by Zapier?
Zapier stores task data for 30 days on free plans, longer on paid. SnapPDF itself holds inputs only for the lifetime of the request (sync) or the 24h TTL of the S3 artifact (async). See /legal/privacy.
Can I use sk_test_ keys with Zapier?
Yes — connect a second Zapier account with your test key for staging Zaps. Test-key operations return sandboxed synthetic data and do not count against quota.