Zapier Integration
Automate workflows by connecting Ocriva to 6,000+ apps through Zapier. Every time a document is processed, failed, or a batch completes, Ocriva sends the full event payload to your Zap — no code required.
Prerequisites
- A Zapier account (free tier works for low-volume testing; paid plans required for high-volume production use)
- An Ocriva organization with available webhook quota
How It Works
Zapier's Catch Hook trigger listens for incoming HTTP POST requests. Ocriva sends the raw event JSON directly to that URL — no payload template is needed. Zapier automatically parses the JSON structure on first receipt, making every field available as a variable you can map to subsequent Zap steps.
Unlike the Slack integration (which uses a payload template to format the message body), the Zapier template sends the unmodified Ocriva event payload. This means you get full access to all event data — including extractedData, confidence scores, and processing timestamps — and Zapier handles the rest.
Step 1: Create a Catch Hook in Zapier
- Log in to zapier.com and click + Create Zap
- Under Trigger, search for Webhooks by Zapier and select it
- Choose Catch Hook as the trigger event and click Continue
- Leave the Child Key field empty (not needed for Ocriva payloads)
- Click Continue — Zapier generates a unique webhook URL in the format:
https://hooks.zapier.com/hooks/catch/1234567/abcdefg/- Copy the full webhook URL — you will need it in the next step
- Keep this browser tab open; Zapier will wait for a test payload before allowing you to continue
TIP
Do not close or refresh the Zapier tab after copying the URL. Zapier stays in "listening" mode until it receives a test payload, which you will send from Ocriva in Step 3.
Step 2: Configure in Ocriva
- Navigate to the Integrations page in the Ocriva dashboard
- Find the Zapier template card and click it
- Paste your Catch Hook URL into the URL field
- Select the events you want to receive — the default is
document.processed; you can also adddocument.failedandbatch.completed - Leave the payload template empty — Zapier accepts any raw JSON from Ocriva automatically
- Click Create Endpoint
The endpoint becomes active immediately and Ocriva begins delivering events to your Zap.
Step 3: Test & Map Fields
- Open the endpoint you just created in Ocriva and click the Test button
- Ocriva sends a sample
document.processedpayload to your Zapier webhook URL - Switch back to the Zapier tab — it should detect the incoming payload and display all parsed fields
- Click Continue with selected record in Zapier to confirm the trigger data
- Add an Action step to your Zap (e.g., Google Sheets, Gmail, Slack) and use the + icon to map Ocriva fields to the action's inputs:
payload__extractedData__invoiceNumber→ Google Sheets column Invoice Numberpayload__status→ filter or label fieldpayload__confidence→ a numeric column for QA trackingtimestamp→ a date/time column
NOTE
Zapier replaces . with __ in nested field names when displaying them as variables. For example, payload.extractedData.invoiceNumber appears as payload__extractedData__invoiceNumber in the Zap editor.
Example Workflows
Invoice → Google Sheets
Scenario: A user uploads an invoice PDF. Ocriva extracts the data and fires document.processed.
Zap: Ocriva (document.processed) → Google Sheets (Append Row)
Map these fields to spreadsheet columns:
| Ocriva Field | Spreadsheet Column |
|---|---|
payload__extractedData__invoiceNumber | Invoice Number |
payload__extractedData__vendor | Vendor |
payload__extractedData__totalAmount | Total Amount |
payload__extractedData__currency | Currency |
payload__confidence | Confidence Score |
timestamp | Processed At |
Failed Document → Email Alert
Scenario: A document fails processing. The team needs to be notified immediately.
Zap: Ocriva (document.failed) → Gmail (Send Email)
Configure the email with payload__fileName in the subject line and payload__error in the body so the recipient knows which file failed and why.
Batch Complete → Slack Summary
Scenario: A batch of documents finishes. Post a summary to the team channel.
Zap: Ocriva (batch.completed) → Slack (Send Channel Message)
Use payload__totalDocuments, payload__successCount, and payload__failedCount to compose the message body.
Raw Payload Zapier Receives
The following is the exact JSON Ocriva sends for a document.processed event. Zapier parses every field automatically.
{
"eventType": "document.processed",
"eventId": "evt_1743418800000_prc002",
"timestamp": "2026-03-31T12:00:03.241Z",
"organizationId": "org_abc123",
"projectId": "proj_xyz789",
"payload": {
"id": "doc_upl_001",
"fileName": "invoice_march.pdf",
"status": "completed",
"extractedData": {
"invoiceNumber": "INV-2026-0331",
"vendor": "Acme Supplies Co.",
"totalAmount": 15408.00,
"currency": "THB"
},
"confidence": 0.97,
"processingTime": 3241,
"processedAt": "2026-03-31T12:00:03.241Z"
}
}NOTE
Zapier receives raw Ocriva event payloads with no transformation. This means you get full access to all event data including extractedData, confidence scores, and processing timestamps.
Available Event Data
The table below lists the key fields available in Zapier after a document.processed event. All fields are accessible as Zap variables in subsequent action steps.
| Field | Zapier Variable | Example Value |
|---|---|---|
| Event type | eventType | document.processed |
| File name | payload__fileName | invoice_march.pdf |
| Processing status | payload__status | completed |
| Extracted data (object) | payload__extractedData | {"invoiceNumber": "INV-2026-0331", ...} |
| Confidence score | payload__confidence | 0.97 |
| Event timestamp | timestamp | 2026-03-31T12:00:03.241Z |
For the full list of event types and all payload fields, see Event Types & Payloads.
Tips
- Use Zapier's Formatter step to transform extracted data before sending it to other apps — for example, converting a number to a currency string or reformatting a date.
- Add a Filter step after the trigger to act only on documents above a certain confidence level (e.g.,
payload__confidenceis greater than0.90) or matching a specific file name pattern. - For high-volume processing, check your Zapier plan's Task limits. Each Zap run consumes one task per action step. Free plans allow 100 tasks/month; consider a Starter or Professional plan for production workloads.
- For the full Zapier Webhooks reference, see Trigger Zaps from Webhooks.
