Skip to main content
Guides14 min read

Migrate from Zapier to n8n: Save 90% on Automation Costs (Complete Playbook)

Step-by-step migration guide from Zapier to self-hosted n8n. Includes cost comparison, workflow conversion checklist, and VPS sizing recommendations.

By AutomationVPS

Why Teams Are Leaving Zapier in 2026

Zapier's task-based pricing has become a serious pain point. A workflow that fires 100 times a day costs you over 3,000 tasks per month -- on a single zap. Scale that to 10 or 20 workflows and you're looking at bills north of $200/month. For agencies and growing teams, monthly Zapier invoices of $500 or more are common.

n8n changes that equation entirely. It's open-source, self-hosted on your own VPS, and offers unlimited executions regardless of how many workflows you run. The cost? Whatever your VPS costs -- typically $5 to $20 per month.

If you're spending more than $30/month on Zapier, self-hosted n8n will almost certainly save you money. Read on for the full cost breakdown and a step-by-step migration plan.

Cost Comparison: Zapier vs Self-Hosted n8n

Here's how the numbers break down in real-world scenarios:

ScenarioZapier CostSelf-Hosted n8n CostAnnual Savings
Solo freelancer (5 zaps, 2K tasks/mo)$19.99/mo$5/mo VPS~$180/yr
Small team (15 zaps, 20K tasks/mo)$69/mo$10/mo VPS~$708/yr
Growing agency (30 zaps, 100K tasks/mo)$299/mo$15/mo VPS~$3,408/yr
Scaling business (50+ zaps, 500K tasks/mo)$599+/mo$20/mo VPS~$6,948/yr

The break-even point is almost immediate. Even if you factor in 4-8 hours of setup time and 2-3 hours per month of maintenance, self-hosting wins for anyone running more than a handful of workflows.

Hostinger

Get started with Hostinger VPS — 4 GB RAM starting at $6.49/mo. Perfect for running n8n with unlimited executions.

Visit Hostinger

* Affiliate link — we may earn a commission at no extra cost to you.

Before You Start: What You Need

Technical Requirements

  • A VPS with at least 2 GB RAM (4 GB recommended for production). We recommend Hostinger or DigitalOcean.
  • A domain name pointed to your server (e.g., n8n.yourdomain.com)
  • Basic terminal comfort -- you'll need to SSH into your server and run Docker commands
  • 1-2 weekends for the migration (depending on workflow complexity)

What Migrates Easily

  • Workflow logic -- triggers, filters, conditions, loops all have n8n equivalents
  • HTTP/webhook integrations -- these translate directly
  • Scheduled workflows -- cron-based triggers work the same way

What Needs Manual Work

  • OAuth credentials -- you cannot export these from Zapier. You'll need to re-authenticate each service (Google, Slack, etc.) in n8n
  • Zapier-specific apps -- some niche Zapier integrations may not exist in n8n. Check n8n's integrations page before you start
  • Multi-step zap logic -- complex Paths and Filters need to be rebuilt using n8n's If/Switch nodes

Step 1: Audit Your Zapier Workflows

Before touching anything, export a full inventory of what you're running. Log into Zapier and go to My Zaps. For each active zap, document:

  1. Trigger -- What starts the workflow? (Webhook, schedule, app event)
  2. Steps -- List each action in order
  3. Apps used -- Which third-party services are connected
  4. Frequency -- How often does it fire?
  5. Criticality -- Is this mission-critical or nice-to-have?
💡

Sort your zaps by criticality and frequency. Migrate the simple, high-frequency ones first -- they'll save you the most money immediately while you learn n8n's interface.

Step 2: Set Up n8n on Your VPS

If you haven't already, follow our complete n8n self-hosting guide. The short version:

# SSH into your VPS
ssh root@your-server-ip

# Install Docker
curl -fsSL https://get.docker.com -o get-docker.sh && sh get-docker.sh

# Create n8n directory
mkdir -p /opt/n8n && cd /opt/n8n

Create a docker-compose.yml:

version: '3.8'
services:
  n8n:
    image: n8nio/n8n:latest
    restart: always
    ports:
      - "5678:5678"
    environment:
      - N8N_HOST=n8n.yourdomain.com
      - N8N_PORT=5678
      - N8N_PROTOCOL=https
      - WEBHOOK_URL=https://n8n.yourdomain.com/
      - GENERIC_TIMEZONE=UTC
      - DB_TYPE=postgresdb
      - DB_POSTGRESDB_HOST=postgres
      - DB_POSTGRESDB_DATABASE=n8n
      - DB_POSTGRESDB_USER=n8n
      - DB_POSTGRESDB_PASSWORD=your-secure-password
    volumes:
      - n8n_data:/home/node/.n8n
    depends_on:
      - postgres

  postgres:
    image: postgres:16
    restart: always
    environment:
      - POSTGRES_DB=n8n
      - POSTGRES_USER=n8n
      - POSTGRES_PASSWORD=your-secure-password
    volumes:
      - postgres_data:/var/lib/postgresql/data

volumes:
  n8n_data:
  postgres_data:
docker compose up -d
⚠️

Use PostgreSQL instead of the default SQLite for production. SQLite works for testing, but it slows down significantly with complex workflows and high execution volumes.

Step 3: Recreate Workflows in n8n

This is where the bulk of the work happens. Here's how common Zapier concepts map to n8n:

Zapier Conceptn8n Equivalent
TriggerTrigger Node (Webhook, Cron, App Trigger)
ActionAction Node (HTTP Request, App Node)
FilterIF Node
PathsSwitch Node
FormatterFunction Node or Set Node
DelayWait Node
LoopingSplitInBatches Node
Sub-ZapSub-Workflow (Execute Workflow node)

Migration Strategy: Start Simple

Pick 3-5 of your simplest, highest-frequency zaps. Rebuild them in n8n and run them in parallel with Zapier for 3-7 days. Compare the outputs. Once you're confident they work identically, disable the Zapier versions.

Handling OAuth Re-Authentication

For each connected app (Google Sheets, Slack, HubSpot, etc.):

  1. Go to Settings > Credentials in n8n
  2. Create a new credential for the service
  3. Complete the OAuth flow
  4. Test with a simple workflow before connecting to production

Step 4: Run in Parallel (3-7 Days)

Don't cut over cold. Run your n8n workflows alongside Zapier for at least a few days. Check that:

  • Triggers fire at the expected frequency
  • Data transforms correctly (dates, numbers, text formatting)
  • Error handling works (what happens when an API is down?)
  • Webhooks respond with the correct status codes

Keep a log of any differences. Most issues come from date formatting or field mapping, both easy fixes in n8n's Function node.

Step 5: Cut Over and Deactivate Zapier

Once your n8n workflows are verified:

  1. Disable zaps in Zapier one by one (don't delete yet)
  2. Monitor n8n closely for the first week
  3. Downgrade your Zapier plan to free (keeps your account for reference)
  4. Delete zaps after 30 days if everything runs smoothly

VPS Sizing Guide for Your Migration

The VPS you need depends on your workflow volume:

Workflow VolumeRecommended VPSMonthly CostProvider
1-10 workflows, low frequency2 GB RAM, 1 vCPU~$5-6/moVultr
10-30 workflows, medium frequency4 GB RAM, 2 vCPU~$6-12/moHostinger KVM 1
30-100 workflows, high frequency8 GB RAM, 4 vCPU~$8-24/moContabo VPS 1
100+ workflows or heavy AI/data processing16+ GB RAM, 4+ vCPU~$14-48/moDigitalOcean Pro

Contabo

Contabo offers 8 GB RAM and 4 vCPU for just $4.50/mo — the most resources for the price. Ideal for heavy n8n workloads.

Visit Contabo

* Affiliate link — we may earn a commission at no extra cost to you.

Common Migration Pitfalls (and How to Avoid Them)

Webhook URLs change. If external services send data to your Zapier webhook URL, you'll need to update them to point to your new n8n webhook URL. Plan for this.

Timezone mismatches. Zapier uses your account timezone by default. n8n uses UTC unless you set GENERIC_TIMEZONE in your environment. Make sure they match or your scheduled workflows will fire at the wrong time.

Rate limits. Zapier throttles executions to protect APIs. n8n doesn't -- which means your workflows might hit API rate limits faster. Add Wait nodes between API calls if needed.

Error notifications. Zapier emails you when a zap fails. In n8n, set up an Error Trigger workflow that sends you Slack or email notifications on failure. Don't skip this.

What If Some Zaps Can't Be Migrated?

Not every Zapier integration has an n8n equivalent. For niche apps, you have three options:

  1. Use n8n's HTTP Request node -- most apps have REST APIs you can call directly
  2. Keep a free Zapier tier for 1-2 zaps that truly can't be replicated
  3. Try Activepieces -- it has some integrations that n8n doesn't, and it's also open-source and self-hostable. See our Activepieces setup guide

Conclusion

Migrating from Zapier to n8n is one of the highest-ROI moves you can make for your automation stack. The process takes 1-2 weekends for most teams, and the savings start immediately. You get unlimited executions, full data ownership, and a workflow editor that's arguably more powerful than Zapier's.

Start with a VPS from one of our recommended providers, set up n8n with PostgreSQL, and migrate your workflows in batches. Within a month, you'll wonder why you didn't switch sooner.

Ready to start automating? Get a VPS today.

Get started with Hostinger VPS hosting today. Special pricing available.

Get Hostinger VPS

* Affiliate link — we may earn a commission at no extra cost to you

#n8n#zapier#migration#self-hosting#automation