Skip to main content

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 NumberInvoice DateCustomer NameCustomer EmailAmount
INV-10012026-07-01Acme GmbHbilling@acme.example1200.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.

zapier.com

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-c2d from 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.

zapier.com

3. Deliver the PDF (optional)

Add Gmail → Send Email with these mappings:

  • To: Customer Email from the spreadsheet row
  • Subject: 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.

zapier.com

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.

zapier.com

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: True to capture the whole scrollable page, False for just the viewport
  • Viewport Width / Height: e.g. 1280 x 800
  • 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.

zapier.com

3. Store the screenshot (optional)

Add Google Drive → Upload File with these mappings:

  • Drive: My Google Drive
  • Folder: the destination folder for your captures
  • File: the File output from the PolyDoc step
  • File 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.

zapier.com

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 NumberIssue DateDue DateBuyer NameBuyer EmailBuyer StreetBuyer CityBuyer PostalBuyer CountryDescriptionQuantityUnit PriceVAT RateNetVAT AmountGross
INV-2026-0012026-07-012026-07-31Maison Dupont SARLbilling@maisondupont.example12 Rue de RivoliParis75001FRConsulting services10100.00201000.00200.001200.00
  • Buyer Country is a 2-letter country code, e.g. FR.
  • Make Net, VAT Amount, and Gross sheet 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.

zapier.com

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: ZUGFeRD or Factur-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: Yes while 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.

zapier.com

3. Send the e-invoice (optional)

Add Gmail → Send Email with these mappings:

  • To: Buyer Email from the row
  • Subject: 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.

zapier.com

Next steps