DEV Community

Royce
Royce

Posted on • Originally published at ossalt.com

How to Migrate from Zapier to n8n

How to Migrate from Zapier to n8n

Zapier's free plan gives you 100 tasks/month. Professional starts at $29.99/month for 750 tasks. Heavy users pay $100-600+/month. n8n is the self-hosted alternative — unlimited workflows, unlimited executions, 400+ integrations. Here's how to migrate.

Step 1: Deploy n8n

# Docker — running in 1 minute
docker run -d \
  --name n8n \
  -p 5678:5678 \
  -v n8n_data:/home/node/.n8n \
  -e N8N_BASIC_AUTH_ACTIVE=true \
  -e N8N_BASIC_AUTH_USER=admin \
  -e N8N_BASIC_AUTH_PASSWORD=changeme \
  n8nio/n8n
Enter fullscreen mode Exit fullscreen mode

Access at localhost:5678. For production, add PostgreSQL and a reverse proxy.

Step 2: Audit Your Zaps

Before migrating, list your active Zaps:

  1. Go to Zapier → My Zaps
  2. Export or screenshot each Zap's trigger and actions
  3. Categorize by complexity:
    • Simple (2-3 steps) — migrate first
    • Medium (4-6 steps with filters) — migrate second
    • Complex (branching, multi-path) — migrate last

Step 3: Recreate Workflows

Zapier concept → n8n equivalent:

Zapier n8n
Zap Workflow
Trigger Trigger node
Action Action node
Filter IF node
Formatter Function node or built-in transforms
Path Switch node
Delay Wait node
Webhooks by Zapier Webhook node
Schedule Cron/Schedule node

Example: Slack → Google Sheets (Simple)

Zapier: New message in Slack channel → Add row to Google Sheet

n8n:

  1. Add Slack Trigger node → configure channel
  2. Add Google Sheets node → Append Row
  3. Map fields: message → column A, user → column B, timestamp → column C
  4. Activate workflow

Example: Form → Email + CRM (Medium)

Zapier: Typeform submission → Filter (score > 50) → Send email + Create HubSpot contact

n8n:

  1. Webhook node (receive form data)
  2. IF node (check score > 50)
  3. True path: Split into two branches:
    • Send Email node (Gmail/SMTP)
    • HubSpot node (Create Contact)
  4. False path: Optional — log or ignore

Step 4: Connect Services

For each integration, authenticate in n8n:

  1. Click a node → CredentialsCreate New
  2. Follow OAuth flow or enter API key
  3. Test connection

Common integrations and n8n node names:

Service n8n Node
Slack Slack
Gmail Gmail
Google Sheets Google Sheets
HubSpot HubSpot
Stripe Stripe
GitHub GitHub
Jira Jira
Notion Notion
Airtable Airtable
Salesforce Salesforce
PostgreSQL Postgres
HTTP API HTTP Request
Webhook Webhook

Step 5: Use Code Nodes (n8n Superpower)

Zapier's "Code by Zapier" is limited. n8n lets you write full JavaScript or Python:

// n8n Code node — transform data mid-workflow
const items = $input.all();

return items.map(item => ({
  json: {
    fullName: `${item.json.firstName} ${item.json.lastName}`,
    email: item.json.email.toLowerCase(),
    source: 'website',
    score: item.json.revenue > 10000 ? 'enterprise' : 'standard',
  }
}));
Enter fullscreen mode Exit fullscreen mode

Step 6: Set Up Error Handling

n8n has built-in error handling Zapier doesn't offer:

  1. Error Trigger — catches errors from any workflow
  2. Retry on failure — automatic retries with backoff
  3. Error workflow — route errors to Slack/email notifications

Cost Comparison

Usage Zapier n8n Self-Hosted Savings
750 tasks/month $30/month $5/month (VPS) $300/year
2,000 tasks/month $49/month $5/month $528/year
50,000 tasks/month $299/month $10/month $3,468/year
Unlimited $599/month $10/month $7,068/year

Migration Timeline

Week Task
Week 1 Deploy n8n, recreate simple Zaps (2-3 steps)
Week 2 Recreate medium Zaps, test all workflows
Week 3 Recreate complex Zaps, set up error handling
Week 4 Monitor, verify, deactivate Zapier Zaps

Compare automation platforms on OSSAlt — integration count, pricing, and self-hosting options side by side.

Top comments (0)