Forms

Connecting Zapier, Make, and n8n

Route PageFork form submissions into Google Sheets, HubSpot, Slack, or anything else, without writing code.

A webhook destination can point at an automation tool instead of your own server. That’s the no-code route to a thousand other apps: Google Sheets, HubSpot, Salesforce, Airtable, Mailchimp, Slack, Notion.

The setup is the same in all three tools:

  1. Create a webhook trigger in the automation tool and copy its URL.
  2. Add a PageFork destination pointing at that URL.
  3. Send a sample so the tool learns your field names.
  4. Map the fields and turn the automation on.

Before you start: send a real submission

Every one of these tools builds its field mapping from the first request it receives. Whatever it sees, it treats as the shape of your data.

So make the first request a real one. Publish your site and submit the form yourself once. PageFork’s Send test also carries your real field names and works fine, but a genuine submission additionally proves the whole path — endpoint, spam checks, queue, delivery — in one go.

Either way, the field names your automation sees are the ones your form actually uses. PageFork refuses to send a test at all rather than invent placeholder names, precisely because a wrong mapping here fails silently later.

Zapier

  1. Create a Zap and choose Webhooks by ZapierCatch Hook as the trigger.
  2. Copy the custom webhook URL Zapier gives you.
  3. In PageFork: FormsDestinationsAdd destination, paste the URL, pick the form, save.
  4. Submit your form once, then click Test trigger in Zapier.
  5. Add your action step and map fields from data__submission__fields__* — Zapier flattens nested JSON with double underscores, so email appears as data__submission__fields__email.

Webhooks by Zapier is a premium app and needs a paid Zapier plan. Make and n8n both offer webhooks on their free tiers if that’s a blocker.

Zapier’s Catch Hook does not verify signatures. That’s fine — the URL is secret and unguessable — but it means the X-PageFork-Signature header goes unused on this path.

Make

  1. Add a Custom webhook trigger to a scenario and copy its address.
  2. Create the PageFork destination pointing at it.
  3. Click Re-determine data structure in Make, then submit your form.
  4. Map fields from the nested structure Make derives — it preserves the nesting, so you’ll drill into datasubmissionfields.

Custom webhooks are available on Make’s free tier.

n8n

  1. Add a Webhook node, method POST, and copy the production URL.
  2. Create the PageFork destination pointing at it.
  3. Submit your form to capture a sample.
  4. Continue your workflow from data.submission.fields.

n8n is the one tool here that can verify the signature, since you can run a Code node. If you do:

  • Enable the raw body option on the Webhook node. Verification hashes the exact bytes PageFork signed, and n8n’s parsed-and-re-serialised JSON will not match.
  • Follow the HMAC example in Webhook destinations.

Self-hosted n8n needs a public HTTPS address. PageFork refuses to deliver to private or loopback addresses, so an instance on your LAN, a localhost address, or a private VPN address will be rejected when you save the destination. Put it behind a real domain or a tunnel. n8n Cloud works out of the box.

Choosing between them

ZapierMaken8n
Webhooks on free tierNoYesYes
App libraryLargestLargeGrowing
Can verify signaturesNot practicallyAwkwardYes
Self-hostingNoNoYes

Zapier has the widest app catalogue; Make is the easiest to try at no cost; n8n suits you if you’re technical or want to self-host.

Troubleshooting

The automation fires but every field is empty. The tool learned its mapping from a different payload shape than it’s now receiving. Re-capture the sample and re-map — this is what the “send a real submission first” step prevents.

Nothing arrives at all. Check the delivery log under the destination in PageFork. A dead status with a 4xx means the tool rejected the request; a timeout means it took longer than 15 seconds to respond.

It worked, then stopped. Check whether the destination auto-disabled. Fifty consecutive failures turn it off; re-enable it after fixing the receiver.

Duplicate rows. Retries can deliver the same submission twice. Use X-PageFork-Idempotency-Key, which stays stable across attempts, to deduplicate.

Next