PerfectParser Docs

Zapier

Connect PerfectParser to 6,000+ apps with Zapier — no code required. Extract data from documents and send it straight to Sheets, CRMs, or Slack.

PerfectParser's Zapier integration lets you extract structured data from documents and send it anywhere Zapier connects — without writing any code. This guide covers setup and the recommended two-Zap pattern.

The PerfectParser Zapier app is currently invite-only while we finish testing. Contact support for an invite link if you don't see it in the Zapier app directory yet.


Setup (5 steps)

  1. Create a parser — in PerfectParser, go to Parsers → New Parser and upload a sample document so the schema is ready to use.
  2. Copy your API key — go to Developer → API Keys → Generate Key, then copy it immediately (it's shown only once).
  3. Create your Zaps — in Zapier, search for "PerfectParser" as your trigger or action app, and connect using the API key from step 2.
  4. Map your fields — pick your parser from the dropdown, map the document file from a previous step, and map extracted fields into your destination app.
  5. Test and turn on — run a test with a real document, confirm the mapped fields look right, then publish your Zaps.

Document extraction is asynchronous. Use two Zaps — one to submit the file, one to receive the results when processing finishes:

Zap 1:
[Trigger: new file in Dropbox/Gmail/Drive]

[Action: Import Document]  ← returns immediately

Zap 2:
[Trigger: Document Processed]  ← one run per document

[Action: Create Multiple Spreadsheet Rows / Create CRM record / Post to Slack]

Available triggers and actions

Zapier stepTypeWhat it does
Document ProcessedTriggerFires once when PerfectParser finishes extracting a document. Optionally scope it to a single parser.
Import DocumentActionSends a document to PerfectParser for extraction. Returns immediately — pair with the Document Processed trigger.

Field mapping

Extracted data uses the same dot-notation field names as CSV/Excel export and your parser schema (e.g. buyer.name, invoiceDetails.invoiceNumber, taxSummary.totalInvoiceAmount).

Line items (e.g. line_items) appear as Zapier line items — an array you map in the Line Items section of actions like Google Sheets Create Multiple Spreadsheet Rows.

Need the full nested JSON? Use extraction_id and document_id from the trigger with the Public API document endpoint.

Google Sheets example

  1. Map scalar fields (buyer.name, invoiceDetails.invoiceNumber, etc.) to your header columns.
  2. In the Line Items subsection, map line_items fields (description, quantity, amount, etc.) to line-item columns.
  3. Use Create Multiple Spreadsheet Rows (not the single-row action) when your parser has line items.

On this page