Before You Begin (Plan Requirements)
Ensure both software accounts meet these plan requirements:
Fieldwork: Requires a Pro or Enterprise plan to access webhooks.
Zapier: Webhooks by Zapier is a Premium App. It requires a paid Zapier plan (it is not available on Zapier's free plan).
Step-by-Step Setup Guide
Step 1: Create the Trigger in Zapier
Create a new Zap and select Webhooks by Zapier as the Trigger app.
Choose Event: Catch Hook (Do not select Catch Raw Hook).
In the Pick off a Child Key field, enter: data
(This is critical to prevent skipped records when Fieldwork sends changes in batches.)Copy the unique Webhook URL created by Zapier (formatted like [https://hooks.zapier.com/hooks/catch/](https://hooks.zapier.com/hooks/catch/)...).
Step 2: Add the Webhook Endpoint in Fieldwork
Log into Fieldwork and navigate to Settings > Company Settings > Webhooks.
Under the Endpoints tab, click Add Endpoint.
Name: Give it a descriptive title (e.g., "Zapier - Paid Invoices").
URL: Paste the Catch Hook URL copied from Zapier.
Active: Check this box.
Add to existing subscriptions: Uncheck this box so the Zap only receives the specific events meant for it.
Click Save Endpoints.
Step 3: Subscribe to Events
Go to the Subscriptions tab in Fieldwork and click Add Subscription.
Choose a Resource (e.g., Invoice, Customer, Work Order).
Select your Actions (e.g., select status_change for payment updates or create for new items).
Under Endpoints, check only the new Zapier endpoint created in Step 2.
Click Save Subscriptions.
Step 4: Test and Publish
In Fieldwork, click Show Example on your new subscription row, then click Make Test Request.
In Zapier, click Test Trigger to pull in the sample fields.
Tip: For better field mapping, edit an actual record in Fieldwork and test again.
Finish setting up your Zap action steps and click Publish.
3. Important Rules for Zapier Webhooks
Rule 1: Always Set the Child Key to "data" Fieldwork batches updates, sending up to 50 events in a single message. Without setting data as the child key, Zapier processes only the first event and ignores the rest. With the child key set, Zapier creates a separate task for every event in the batch.
Rule 2: Dedicated Endpoints (1 Zap per Endpoint) Fieldwork allows up to 5 endpoints per account. Allocate 1 endpoint URL per Zap to avoid mixing unrelated events. Use Zapier's Filter step if a single Zap handles multiple action types.
Rule 3: Understanding Zapier Billing Tasks Each item in a batch counts as 1 task in Zapier. Subscribing a Zap to high-volume events like update can consume task quotas quickly. Use targeted actions like status_change or create to keep task usage low.
4. Security & Signature Verification in Zapier
Why Signature Verification is Skipped: Standard webhooks use digital signatures (X-Fieldwork-Signature) for verification. However, Zapier strips header data and transforms the raw body, making standard verification impossible.
How Your Zapier Webhook Stays Secure:
Secret URL: Treat your Zapier Catch Hook URL like a password. Do not share it publicly or paste it in public forums.
Re-generating URLs: If a URL leaks, delete the trigger in Zapier, create a new Catch Hook to generate a fresh URL, and update Fieldwork.
Use Filters: Add a Filter by Zapier step right after the trigger to ensure resource_type and action match your expected values before executing subsequent steps.
5. Troubleshooting Quick Reference
Symptom | Cause & Solution |
Only 1 record processes out of a batch | The "Pick off a Child Key" setting in Zapier is not set to data. Edit the trigger step and set the child key to data. |
Zap fires but field data is blank | The trigger was tested before sample data arrived. Send a test request from Fieldwork and test the trigger again. |
event and sent_at fields are missing | This is normal when using a child key. Use resource_type and action inside your Zap steps instead. |
Fieldwork shows "Success" but Zap didn't run | Zapier instantly responds with an HTTP 200 success code upon receiving data. Check your Zap History inside Zapier to view task logs or action errors. |
Endpoint was auto-disabled in Fieldwork | If a Zap is turned off or deleted, Fieldwork receives error responses. After 25 failures, Fieldwork disables the endpoint. Turn the Zap back on, then click Save in Fieldwork Endpoints tab to re-enable it. |
Cannot select "Webhooks by Zapier" | Your Zapier account is currently on a free plan. Upgrade to a paid plan to unlock Premium Apps. |
