
Zapier charges by the task. At scale, that's $1,200/month for workflows you could run on a $79 server.
Last Tuesday, Marcus — a RevOps lead at a Series B startup — sent me a screenshot of his Zapier invoice. $1,247. Third month straight over a thousand bucks.
“We’re paying more for Zaps than for half our sales tools combined.”
Two weeks later, those same workflows run on a $79/month VPS. Same results. Same reliability. $1,168/month back in his pocket.
Here’s exactly what we did.
The Invoice
Marcus’s team runs a standard RevOps stack:
| Workflow | What it does | Monthly tasks |
|---|---|---|
| Lead routing | New leads → Slack + HubSpot | ~18,000 |
| Meeting booker | Calendly → CRM sync | ~4,000 |
| Deal alerts | Pipeline changes → Slack | ~12,000 |
| Enrichment | New contacts → Clearbit → CRM | ~8,000 |
| Reporting | Daily rollups to Sheets | ~3,000 |
| Total | ~45,000 |
45,000 tasks/month. Not even high volume — just one active sales team.
On Zapier’s Team plan: $1,247/month.
On self-hosted n8n: $79/month for a 4GB VPS. Same workflows. Zero per-task fees.
| Platform | Annual Cost |
|---|---|
| Zapier | $14,964/year |
| n8n (self-hosted) | $948/year |
| Savings | $14,016/year |
That’s a contractor. That’s a tool budget. That’s real money.
What Pushed Marcus Over
The invoice alone wasn’t enough. Three things finally broke him:
1. The 10-Second Timeout
He wrote a Python step to batch-process 200 records. Basic stuff — loop through, transform, push to API.
Ten seconds in, Zapier killed it. Hard timeout.
His options:
- Break it into micro-steps (more tasks = more money)
- Process one record at a time (200 tasks instead of 1)
- Give up on anything complex
n8n gives you 300 seconds. Same code ran in 40.
2. No Real Version Control
Zapier has “history.” You can look at old versions. You can’t roll them back.
Marcus edited a production Zap — changed one filter condition. Broke half his lead routing.
His only option: manually rebuild from memory while leads piled up.
n8n workflows are JSON files. Git them. Diff them. Roll back in seconds. (See why RevOps needs CI/CD for more on this approach.)
3. Task Math That Punishes Scale
One workflow processes 100 items? That’s 100 tasks.
Add retry logic? Could be 200 tasks.
Run it twice a day? 400 tasks. From ONE workflow.
On Zapier, scale is a tax. On n8n, it’s just Tuesday.
What Migrates Cleanly (And What Doesn’t)
The Easy Stuff
| Zapier | n8n | Notes |
|---|---|---|
| Webhooks by Zapier | Webhook Trigger | 1:1 mapping |
| Code by Zapier | Code Node | Better — way more time |
| Filter | IF Node | Same logic |
| Paths | Switch Node | Actually cleaner |
| Formatter | Built-in functions | No extra node needed |
| HTTP Request | HTTP Request | Identical |
The Annoying Stuff
Some integrations don’t exist. Zapier has 6,000+ native integrations. n8n has ~400.
The gap is smaller than it sounds — most missing ones are niche apps you can hit via HTTP anyway. But check your stack first.
Scheduled triggers use cron syntax. If you’ve never written 0 9 * * 1-5, you’ll google it once. Then you’ll prefer it.
Complex branching works differently. Better, in my opinion. But budget time to rethink your flow logic, not just copy it.
The 11-Day Migration
Day 1-2: Audit Everything
Zapier doesn’t give you an export button. (They want you to stay.)
You can pull Zaps via their API, but the fastest approach is documenting them manually:
| Zap | Trigger | Steps | Tasks/mo | Priority |
|---|---|---|---|---|
| Lead Router | Webhook | 4 | 18,000 | HIGH |
| Meeting Sync | Calendly | 3 | 4,000 | Medium |
| Deal Alerts | HubSpot | 2 | 12,000 | HIGH |
Sort by tasks/month. Start with the big ones.
Day 3-5: Rebuild High-Volume First
The lead router ate 40% of Marcus’s task budget. We rebuilt it first.
Zapier: Webhook → Filter → Lookup region → Path by region → Create HubSpot deal → Slack
Six steps. Each fires a task count.
n8n: Webhook → IF → Switch (region) → HubSpot → Slack
Same logic. Five nodes. Zero per-execution cost. Exports as JSON — drop it into Git.
Day 6-8: The Middle Tier
Meeting sync, deal alerts, enrichment. These moved faster once we had the pattern down.
One trick that saved time: n8n’s “Execute Workflow” node lets you call other workflows. We built a reusable “Slack notification” sub-workflow and called it from everywhere.
Day 9-10: Testing
Here’s where most migrations fail: people rebuild, deploy, and pray.
Don’t pray. Test.
n8n shows you exactly what each node receives and produces. Use that:
- Export 10 real payloads from Zapier history
- Replay them through n8n manually
- Compare outputs field-by-field
- Fix the deltas
- Repeat with 50 more payloads
- Run both systems in parallel for 48 hours
- Then switch traffic
Marcus found three bugs this way. One would have broken 20% of his leads.
Day 11: The Switch
Update one line in your source system:
Old: webhook.zapier.com/hooks/abc123
New: n8n.marcus-company.com/webhook/incoming-lead
Watch the logs. Breathe.
Two Patterns That Cover 80% of Zaps
Pattern 1: Lead Routing
New lead comes in → Route to right rep → Update CRM → Alert the team.
flowchart LR
A([Webhook]) --> B([Switch Node])
B --> C([HubSpot])
C --> D{Region?}
D --> E([US Rep])
D --> F([EU Rep])
D --> G([APAC Rep])
classDef default fill:#dbeafe,stroke:#3b82f6,color:#1e40af,stroke-width:2px
Switch nodes are cleaner than Zapier Paths. You see all routes in one place.
Pattern 2: Data Enrichment
New contact in CRM → Enrich with Clearbit → Update the record.
flowchart LR
A([HubSpot Trigger]) --> B([HTTP Clearbit]) --> C([Merge Data]) --> D([HubSpot Update])
classDef default fill:#dbeafe,stroke:#3b82f6,color:#1e40af,stroke-width:2px
No “Premium Clearbit integration” required. The HTTP node hits their API directly.
The Honest Downsides
You’re hosting it. That $79 VPS needs updates. It can go down. You need monitoring. (Or skip hosting entirely — managed options start at $20/month.)
The UI takes adjustment. Zapier’s interface is friendlier. n8n’s is more powerful but steeper.
Fewer native integrations. If you rely on obscure Zapier apps, check n8n first.
You need someone technical. Not a developer, but someone comfortable with APIs. (This is the GTM Engineer profile we recommend.)
For Marcus, the trade-off was obvious. Save $14K/year, gain flexibility, accept some operational overhead.
Your math might be different.
Three Paths Forward
DIY. This guide plus the n8n community gets you there. Budget 20-40 hours.
Accelerated. We do a migration assessment, map your Zaps to n8n patterns, help you through the tricky bits. You do the building, we prevent the mistakes.
Managed. We handle it end-to-end. You just stop paying Zapier.
Every month you wait is money leaving your account.
Before you migrate Zaps to n8n, consider whether you need workflows at all. Autonomous agents are replacing the entire approach — no steps to build, no connections to maintain. OpenClaw handles email, lead routing, and follow-ups for ~$50/month. See how hosting works.
