Zapier
Prerequisites
- A PolyDoc account and API key - sign up for free, no credit card required. The free plan includes 150 conversions per month.
- A Zapier account - sign up for free. The PolyDoc app is in the Zapier App Directory. The trigger and the PolyDoc action used in each use case are standard apps that run on the free plan.
PolyDoc is a published Zapier app, so you pick an action straight from the list, connect your API key once, and map fields. There is no code step and no storage bucket to set up. This guide covers three use cases: a PDF, a website screenshot, and an e-invoice.
Use Case 1: Invoice PDFs from a spreadsheet
Turn each new row in a Google Sheet into an invoice PDF with the PolyDoc app, then email it.Google Sheets (New Spreadsheet Row) → PolyDoc (Create PDF) → Gmail
1. Add the Google Sheets trigger
Put your invoice data in a Google Sheet, one invoice per row. Copy the header and the example row below straight into an empty sheet to get started:
| Invoice Number | Invoice Date | Customer Name | Customer Email | Amount |
|---|---|---|---|---|
| INV-1001 | 2026-07-01 | Acme GmbH | billing@acme.example | 1200.00 |
Click + Create Zap and set the trigger to Google Sheets → New Spreadsheet Row. Connect your Google account, then pick the Spreadsheet and Worksheet. Click Test trigger; Zapier pulls a sample row so every column is ready to map in the next step.
2. Add the PolyDoc Create PDF action
Add an action and search for PolyDoc. Pick the Create PDF event. The first time you use it, Zapier asks you to connect an account: paste your API key from the Dashboard. Leave Sandbox on while you test, then turn it off before publishing.
Configure the action:
- Source:
Template - Template ID: your PolyDoc template short ID, e.g.
a1b-c2dfrom the Dashboard Templates page - Template Data (JSON): a JSON object built from the spreadsheet columns (use the field picker to insert each value):
{
"invoice_number": "{{Invoice Number}}",
"invoice_date": "{{Invoice Date}}",
"customer_name": "{{Customer Name}}",
"customer_email": "{{Customer Email}}",
"invoice_total": {{Amount}}
}
- Delivery:
Download (file)so the PDF comes back as a File you can attach in the next step
Click Test step. PolyDoc renders the PDF and returns a File, filename, and conversionId in the output.
3. Deliver the PDF (optional)
Add Gmail → Send Email with these mappings:
To:Customer Emailfrom the spreadsheet rowSubject:Invoice <Invoice Number from the row>Attachments: File from the PolyDoc step
Test the chain end to end. Every new row added to the sheet now generates a PDF and emails it automatically.
Use Case 2: Scheduled website screenshots
Capture a screenshot of a web page on a schedule with the PolyDoc app, then store it.Schedule by Zapier (Every Day) → PolyDoc (Capture Screenshot) → Google Drive
1. Add the schedule trigger
Click + Create Zap and set the trigger to Schedule by Zapier → Every Day. Pick the time of day the capture should run, then click Test trigger to continue.
2. Add the PolyDoc Capture Screenshot action
Add an action, search for PolyDoc, and pick Capture Screenshot. Connect your account with the API key from the Dashboard if you haven't already. Leave Sandbox on while you test.
Configure the action:
- Source:
URL - URL: the page to capture, e.g.
https://example.com - Image Type:
PNG(or JPEG / WebP) - Full Page:
Trueto capture the whole scrollable page,Falsefor just the viewport - Viewport Width / Height: e.g.
1280x800 - Delivery:
Download (file)so the image comes back as a File
Click Test step. PolyDoc captures the page and returns the image as a File.
3. Store the screenshot (optional)
Add Google Drive → Upload File with these mappings:
Drive:My Google DriveFolder: the destination folder for your capturesFile: the File output from the PolyDoc stepFile Name: leave blank to keep PolyDoc's filename, or set your own, e.g.homepage.png
Test the chain. Each scheduled run captures the page and saves the image to Drive.
Use Case 3: Compliant e-invoices from incoming data
Turn incoming invoice data into a compliant e-invoice: a PDF/A-3 that a person can read and that carries embedded EN 16931 XML for accounting software (ZUGFeRD or Factur-X).Google Sheets (New Spreadsheet Row) → PolyDoc (Generate E-Invoice) → Gmail
1. Collect the incoming data
Collect the incoming invoice data, one invoice per row. Copy the header and the example row below straight into an empty sheet to get started (it covers a single-line invoice):
| Invoice Number | Issue Date | Due Date | Buyer Name | Buyer Email | Buyer Street | Buyer City | Buyer Postal | Buyer Country | Description | Quantity | Unit Price | VAT Rate | Net | VAT Amount | Gross |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| INV-2026-001 | 2026-07-01 | 2026-07-31 | Maison Dupont SARL | billing@maisondupont.example | 12 Rue de Rivoli | Paris | 75001 | FR | Consulting services | 10 | 100.00 | 20 | 1000.00 | 200.00 | 1200.00 |
Buyer Countryis a 2-letter country code, e.g.FR.- Make
Net,VAT Amount, andGrosssheet formulas so every row reconciles:Net = Quantity * Unit Price,VAT Amount = Net * VAT Rate / 100,Gross = Net + VAT Amount. The example row above already follows this.
Click + Create Zap and set the trigger to Google Sheets → New Spreadsheet Row. Connect the account, pick the spreadsheet and worksheet, and click Test trigger to pull a sample row.
2. Add the PolyDoc Generate E-Invoice action
Add an action, search for PolyDoc, and pick Generate E-Invoice. Connect your account with the API key from the Dashboard if you haven't already. Leave Sandbox on while you test.
Configure the visible PDF (the Source):
- Source:
Template - Template ID: a saved PolyDoc invoice template short ID from the Templates page
- Template Data (JSON): mapped from the row (this drives what the invoice looks like):
{
"invoice_number": "{{Invoice Number}}",
"issue_date": "{{Issue Date}}",
"due_date": "{{Due Date}}",
"buyer_name": "{{Buyer Name}}",
"buyer_address": "{{Buyer Street}}, {{Buyer Postal}} {{Buyer City}}, {{Buyer Country}}",
"description": "{{Description}}",
"quantity": {{Quantity}},
"unit_price": {{Unit Price}},
"net": {{Net}},
"vat_rate": {{VAT Rate}},
"vat_amount": {{VAT Amount}},
"gross": {{Gross}}
}
Then set the e-invoice options and the structured data for the embedded XML:
- Standard:
ZUGFeRDorFactur-X(pick what your recipient expects; both embed EN 16931 XML) - Profile:
EN 16931(the safe default) - Invoice Data (JSON): mapped from the same row. Your own company is the constant
seller; the buyer and line come from the row:
{
"number": "{{Invoice Number}}",
"issueDate": "{{Issue Date}}",
"dueDate": "{{Due Date}}",
"currencyCode": "EUR",
"seller": {
"name": "Your Company GmbH",
"address": { "line1": "Main St 1", "city": "Berlin", "postalCode": "10115", "countryCode": "DE" },
"taxId": "DE123456789"
},
"buyer": {
"name": "{{Buyer Name}}",
"address": {
"line1": "{{Buyer Street}}",
"city": "{{Buyer City}}",
"postalCode": "{{Buyer Postal}}",
"countryCode": "{{Buyer Country}}"
}
},
"lines": [
{
"description": "{{Description}}",
"quantity": {{Quantity}},
"unitPrice": {{Unit Price}},
"lineTotal": {{Net}},
"vatRate": {{VAT Rate}},
"vatCategoryCode": "S"
}
],
"taxSummary": [
{ "categoryCode": "S", "rate": {{VAT Rate}}, "taxableAmount": {{Net}}, "taxAmount": {{VAT Amount}} }
],
"paymentTerms": "Net 30 days",
"totalNetAmount": {{Net}},
"totalTaxAmount": {{VAT Amount}},
"totalGrossAmount": {{Gross}}
}
- Verify:
Yeswhile you build, so PolyDoc rejects a non-compliant invoice instead of returning it - Delivery:
Download (file)so the e-invoice comes back as a File
Click Test step. PolyDoc renders the PDF, embeds the XML, and returns the e-invoice as a File.
3. Send the e-invoice (optional)
Add Gmail → Send Email with these mappings:
To:Buyer Emailfrom the rowSubject:Invoice <Invoice Number from the row>Attachments: File from the PolyDoc step
Test the chain end to end. Every new row now generates a compliant e-invoice and emails it automatically.
Next steps
- New to PolyDoc? Create a free account - 150 conversions per month, no credit card.
- Compare options: see how PolyDoc compares to other HTML-to-PDF APIs.
- EU e-invoicing: PolyDoc also generates Factur-X and ZUGFeRD e-invoices from JSON.