Architecture
Webhooks vs Zapier vs native integrations
Three ways to wire form submissions to external tools. Each has a sweet spot. Picking the wrong one costs money or maintenance time.
There are three ways to push WordPress form submissions to external tools:
- Native integration — the forms plugin has a “Mailchimp” action you wire directly.
- Webhook — POST a JSON payload to any HTTP endpoint.
- Zapier (or Make, or n8n) — middleware connects the form to a destination tool.
Each is right in different cases. Picking wrong gets you fragile workflows or unnecessary monthly bills. Here’s the rule.
Native integration: when the forms plugin already supports your tool
The fastest path. If your forms plugin has a Mailchimp action, use it. If it has a Notion action, use it. If it has HubSpot, Slack, Airtable, use them. The step-by-step guides for the HubSpot, Airtable and Pipedrive actions show what a native action looks like in practice, test button included.
Native integrations win on:
- No middleware bill. Zapier costs $30-$80/month for any real volume. Native is free.
- No middleware downtime. When Zapier has an outage, your forms keep working but the destinations don’t update. Native is one fewer thing that can fail.
- Better error handling. Native actions surface errors in the same admin where the form lives. Zapier failures hide in a separate dashboard you don’t watch.
- Faster execution. Native is one HTTP hop. Zapier is two (form → Zapier → destination).
Use native when you can. Core Forms ships 31+ native integrations. For most stacks, your tool is already in the list.
Webhooks: when the destination accepts JSON and the workflow is simple
Webhooks are the universal escape hatch. Any tool that accepts HTTP POST can receive a webhook. That covers about 80% of modern SaaS.
Use webhooks when:
- The destination tool isn’t natively supported by the forms plugin.
- The workflow is simple (“when form submits, push to endpoint, done”).
- You want zero middleware cost and the destination accepts JSON directly.
Examples where webhooks win:
- Posting to a custom Laravel/Rails app you built.
- Triggering a Cloudflare Worker that does something specific.
- Hitting a Make.com / n8n self-hosted webhook.
- Posting to a Discord channel via the Discord webhook.
Core Forms’ webhook action supports custom headers, custom HTTP methods, and conditional firing. Zero monthly cost.
Zapier (or Make, or n8n): when you need orchestration
The case for paid middleware:
-
Multi-step workflows. Form submits → check a Google Sheet → if email matches, do A; else do B → notify Slack → create Calendly booking. Five steps. Native integrations can’t orchestrate that. Webhooks could in theory, but you’d write code.
-
Conditional fan-out to multiple tools. Submit lead → if interested in product A, push to HubSpot pipeline 1; if product B, pipeline 2. Plus tag in Mailchimp. Plus message a different Slack channel.
-
Data transformation. Form has fields A, B, C. Destination wants A and B concatenated, C uppercased, plus a calculated D from a formula. Zapier handles transformations natively.
-
Tools your forms plugin doesn’t support natively. Salesforce, Pipedrive, ClickUp, Trello, hundreds more. Zapier connects them.
The cost is $30-$80/month for 1,000-2,000 submissions. For most lead-gen sites, that’s reasonable. For high-volume forms, the math gets tight.
Make and n8n as alternatives to Zapier
Make.com (formerly Integromat) is cheaper than Zapier per task and has a more powerful visual workflow builder. The free tier is genuinely useful (1,000 ops/month). For most use cases, Make beats Zapier on price.
n8n is open-source and self-hostable. If you’ve got DevOps skill, you can run n8n on a $5 VPS and process unlimited workflows. The setup cost is real (a few hours), the running cost is zero. Core Forms has a dedicated n8n action with authentication and a starter workflow, and the n8n integration guide sets it up. For an automation plugin that runs inside WordPress, the FlowMattic integration guide covers the hook-based route.
Both Make and Zapier are wired in Core Forms via the webhook action. The integration is the same: webhook URL from the middleware, paste it, fire.
The decision tree
1. Does the forms plugin natively integrate with my destination tool?
→ Yes: use native. Done.
→ No: continue.
2. Does my destination tool accept HTTP webhooks directly?
→ Yes, and the workflow is simple: use webhook. Done.
→ No, or workflow has branching/transformation: continue.
3. Am I willing to pay $30-$80/month for middleware?
→ Yes: Zapier or Make. Done.
→ No: write a small custom webhook handler (10-50 lines) on your server. Done.
Run that tree. The right answer is usually clear within 30 seconds.
What I see most often
The most common mistake: routing through Zapier when a native integration exists.
I’ve audited client setups where a Mailchimp signup goes:
Core Forms → Zapier → Mailchimp
When it should go:
Core Forms → Mailchimp (native)
The Zapier hop costs $50/month, adds 5 seconds of latency, and introduces a failure point. The native integration does the same thing, free, in one hop.
The reason it happens: the agency that set up the form learned Zapier first, learned the forms plugin’s native actions never. They reach for the tool they know.
If you’re paying Zapier for a flow that’s literally Form → Mailchimp, you can save the bill in 30 seconds.
What I see second-most-often
The mirror mistake: using a native integration when the workflow is too complex for it.
A native action does one thing: take this form data, push it to that tool. It can do conditions (“only run if field X equals Y”), but it can’t transform, it can’t fan out, it can’t multi-step.
If your workflow is “when X happens, do A then B then C, but if Y also happens, do D instead,” you’ve outgrown native actions. Bring middleware in. Don’t fight the tool.
The Core Forms position
Core Forms ships native actions for 31+ destinations. Where a native exists, use it. Where one doesn’t, use the webhook action and let middleware handle the rest.
The exception: if a destination is on the exploring roadmap items, it’s a candidate for a native action soon. Email me what you’d want, and it might land in the next release.
The next step
Audit one client site. Find every Zapier zap that’s wiring a form. For each one, ask:
- Could a native integration do this in one hop?
- Could a webhook to the destination do this without Zapier?
- Or is the workflow genuinely complex enough to justify Zapier?
You’ll save money on the first answer “yes” you find.
All 31+ native integrations are bundled.
For a site whose front end is not WordPress at all, the headless forms guide embeds the form from a static or React site.