# How to migrate from Zapier to n8n

> A seven-step Zapier to n8n migration: check it pays, export and inventory your Zaps, map the concepts, reconnect credentials, run both in parallel and cut over.

- Author: Pranav Mahaveer, Founder, SBD
- Updated: 2026-10-29
- Level: Intermediate. Time to do: Two to six weeks, depending on the number of Zaps
- For: Operations leads, founders and builders moving an existing Zapier account to n8n cloud or self-hosted n8n
- You will end with: Every live Zap rebuilt or retired, n8n workflows proven in a parallel run, failure alerts in place and Zapier switched off
- Canonical: https://smallbaydigital.com/guides/how-to-migrate-from-zapier-to-n8n/

## Steps

1. **Decide whether the move pays.** Check what is driving the move, what it will cost in build time and who will own n8n afterwards.
2. **Export and inventory your Zaps.** Export the Zap JSON and recent Zap history, then list every live Zap with its trigger, steps, volume and owner.
3. **Map Zapier concepts to n8n.** Translate triggers, actions, filters, paths, Formatter, Storage and webhooks into their n8n equivalents.
4. **Set up credentials and re-authorise OAuth.** Create every connection again in n8n, register the n8n OAuth redirect URL with each provider and protect the encryption key.
5. **Rebuild or translate each workflow.** Copy simple Zaps step for step, and redesign the long or tangled ones as fewer, cleaner workflows.
6. **Add error workflows and monitoring.** Attach an error workflow to every production workflow so failures reach a named person.
7. **Run in parallel, cut over and decommission.** Compare outputs from both platforms, switch triggers over one workflow at a time, then turn Zapier off.

> **The short answer.** Decide first whether the move pays and who will own n8n. Export your Zaps as JSON, list every live one, and rebuild each in n8n: there is no automatic converter. Recreate every credential, attach an error workflow, run both platforms side by side until the outputs match, then switch triggers over one at a time and turn Zapier off.

Moving from Zapier to n8n is mostly a rebuild, not a file transfer. Both tools describe workflows in JSON, but the formats do not line up and neither vendor offers a converter. What you can carry across is the logic, and the export gives you a precise record of it.

This guide covers the decision, the export, how Zapier's building blocks map to n8n's, credentials, the parallel run and the switch-off. If you are still choosing a platform, start with [n8n vs Make vs Zapier](/guides/n8n-vs-make-vs-zapier/), which does the pricing side by side.

## 1. Decide whether the move pays

People move for four reasons: cost as volume grows, long workflows that are expensive per run, the need to keep data on their own infrastructure, and logic that has outgrown no-code steps. The billing difference is the usual trigger. Zapier counts tasks per action step, while n8n counts a whole workflow run as one execution, so a ten-step workflow is billed very differently. The arithmetic is in [the Zapier tax in 2026](/blog/the-zapier-tax-in-2026/) and the comparison guide above. We will not repeat it here.

Moving is often not worth it when:

- **The bill is small** and the Zaps are short. The migration costs more than years of the difference.
- **Nobody will own n8n.** Zapier hides the plumbing. n8n, especially self-hosted, needs someone to watch executions, apply updates and fix things.
- **You depend on apps n8n has no node for** and nobody is comfortable calling their APIs over HTTP.
- **The real problem is judgement, not plumbing.** If you want an agent to make decisions, read [does an AI agent still need Zapier?](/blog/does-an-agent-still-need-zapier/) before moving anything.

Count the build time honestly. Every Zap is rebuilt and tested by hand, so the cost is mostly people's hours. The [how much does AI automation cost](/guides/how-much-does-ai-automation-cost/) guide shows how to price that work, and the [ROI calculator](/tools/roi-calculator/) turns it into a payback period.

Decide cloud or self-hosted now, because it changes the credential and monitoring steps later. Our post on [n8n self-hosted or cloud for a team under 50](/blog/n8n-self-hosted-vs-cloud-for-a-team-under-50/) works through it.

## 2. Export and inventory your Zaps

Zapier has three exports worth taking before you start:

| Export       | Where                                         | What you get                                                                                                                                                |
| ------------ | --------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Account data | Settings, Security and data, "Export my data" | An emailed archive. Its Zapfile.json holds every undeleted Zap, with each step's inputs and references to earlier steps                                     |
| Zaps as JSON | Settings, Security and data                   | Your own Zaps as a JSON file. Account owners and super admins can export every user's Zaps. Zapier lists import and export as a Team and Enterprise feature |
| Zap history  | Zap History                                   | Up to 5,000 runs at a time as CSV or JSON, emailed to you                                                                                                   |

The Zap JSON is your specification. The history tells you what real data looks like and how often each Zap runs, which you will need for testing.

Then build an inventory, one line per live Zap:

| Field          | What to write                                                    |
| -------------- | ---------------------------------------------------------------- |
| Name and owner | Who relies on it, and who to ask when it looks wrong             |
| Trigger        | App and event, polling or instant, webhook URL if any            |
| Steps          | Count, plus any paths, filters, Formatter, Code or Storage steps |
| Runs a month   | From Zap history, not memory                                     |
| Writes to      | Every system it changes: CRM, email, accounting, sheets          |
| Decision       | Keep, merge with another Zap, or retire                          |

Expect to retire some. Old accounts usually hold Zaps nobody remembers building, duplicates, and Zaps that are on but no longer run.

## 3. Map Zapier concepts to n8n

Most of Zapier has a direct n8n counterpart. The differences are in how data flows: an n8n node passes a list of items to the next node, and later nodes can read any earlier node's output.

| Zapier             | n8n                                                   | Notes                                                     |
| ------------------ | ----------------------------------------------------- | --------------------------------------------------------- |
| Zap                | Workflow                                              | One workflow can replace several related Zaps             |
| Trigger            | Trigger node (app trigger, Schedule Trigger, Webhook) | Check whether the app trigger polls or listens            |
| Action step        | App node or HTTP Request node                         | HTTP Request covers any app with an API but no node       |
| Filter             | Filter or If node                                     | If gives you an explicit false branch to handle           |
| Paths              | If or Switch node                                     | Branches can rejoin later in the same workflow            |
| Formatter          | Edit Fields (Set), built-in expressions, or Code node | Test date and number formatting carefully                 |
| Code by Zapier     | Code node                                             | Rewrite rather than paste; input and output shapes differ |
| Storage by Zapier  | A database, a sheet or a table you control            | Decide where state lives before you build                 |
| Webhooks by Zapier | Webhook node                                          | The URL changes, so every sender must be updated          |
| Task history       | Executions list                                       | Only production executions count towards plan quotas      |
| Looping by Zapier  | Native: nodes run once per item                       | Usually no loop step is needed                            |

## 4. Set up credentials and re-authorise OAuth

Nothing secret comes across. Every app connection is created again in n8n, and each OAuth app needs someone with the right access to sign in again. Plan this per system owner, because the person who connected the CRM to Zapier three years ago may have left.

For some providers you also create your own OAuth client. With Google, for example, you copy the OAuth Redirect URL from the n8n credential into the provider console, and it must match exactly, including protocol and port, or sign-in fails with a redirect mismatch error.

If you self-host, n8n encrypts credentials with an encryption key. It generates one on first launch, or you set your own with `N8N_ENCRYPTION_KEY`. Set it explicitly and store it somewhere other than the server, because restoring a database without it leaves you with credentials you cannot read.

Exported n8n workflow JSON includes credential names and IDs, and HTTP Request nodes imported from cURL can carry auth headers. Check files before you share or commit them.

## 5. Rebuild or translate each workflow

There are two ways to rebuild, and most accounts need both.

**Translate** short, linear Zaps step for step. A trigger, a filter and two actions becomes a trigger node, a Filter node and two app nodes. It is quick and easy to compare against the original.

**Rebuild** anything long, branched or duplicated. Several Zaps that each react to the same form can become one workflow with a Switch node. Formatter chains often collapse into one Edit Fields node. Logic that was spread across Storage and paths may be clearer as a small table and one branch.

Whichever route, test each workflow with real payloads taken from the Zap history export, including the awkward ones: empty fields, long text, odd characters, duplicates. n8n's manual executions do not count towards quotas, so test freely.

You can move finished workflows between environments with the editor's Download and Import from File options, or with n8n's command line and API.

## 6. Add error workflows and monitoring

In n8n you decide what happens, and if you decide nothing, failures can go unnoticed.

Create one error workflow that starts with the Error Trigger node and sends an alert to a named person or channel. Then, in each production workflow, open Settings and choose it under Error workflow. One error workflow can serve many workflows. The alert can include the workflow name, the last node that ran, the error message and a link to the failed execution.

Use the Stop and Error node where a run should fail on purpose, for example when a required field is missing. That routes bad data into the same alert path instead of passing it on.

Self-hosted teams also need to watch the instance itself: uptime, disk space and backups. That is the work covered in the self-hosting post linked above.

## 7. Run in parallel, cut over and decommission

Run both platforms side by side before you trust n8n. The risk is double writes: two platforms creating the same CRM record or sending the same email. Pick one of these for each workflow:

- **n8n writes to a test copy** of the destination, and you compare its output with Zapier's.
- **n8n runs up to the last step** and logs what it would have written, without writing it.

Compare outputs over enough real runs to cover the cases in your inventory. Then cut over one workflow at a time: turn the Zap off, point the trigger or webhook sender at n8n, turn the n8n workflow on and watch the first executions.

When every Zap is off:

1. Take a final Zap JSON export and keep it with the inventory.
2. Leave Zapier on its lowest plan for a short safety period, if you can, in case something was missed.
3. Revoke the Zapier connections in each app's settings, so old tokens stop working.
4. Downgrade or cancel the plan.

A migration is finished when Zapier is off and every n8n workflow has an owner and an error workflow, not when the last workflow is built. If you want a second opinion on whether the move pays, the [build or buy tool](/tools/build-vs-buy/) helps frame it, and you can see where n8n and Zapier fit with other tools on our [n8n](/integrations/tools/n8n/) and [Zapier](/integrations/tools/zapier/) integration pages.

## Checklist

- [ ] Reason for the move written down, with an owner for n8n named before any building starts
- [ ] Zap JSON exported, and the export date noted
- [ ] Recent Zap history exported for the Zaps you will migrate
- [ ] Inventory of live Zaps with trigger, steps, monthly runs, owner and keep, merge or retire
- [ ] Each Zapier step mapped to an n8n node, with Formatter and Code steps rewritten and tested
- [ ] Every app connection recreated in n8n, and OAuth redirect URLs registered with each provider
- [ ] Self-hosted only: encryption key set explicitly and stored outside the server
- [ ] Workflow JSON checked for credential names or auth headers before it is shared
- [ ] Error workflow attached to every production workflow, alerting a named person or channel
- [ ] Parallel run with outputs compared, and a written rule for which platform writes to live systems
- [ ] Zapier triggers turned off one at a time, webhook URLs updated at the source
- [ ] Final Zap export archived, then Zaps switched off and the plan downgraded or cancelled

## Sources

- Zapier Help Center, [Export or delete your Zapier account data (Zapfile.json contents), checked 29 October 2026](https://help.zapier.com/hc/en-us/articles/8496289406349-Export-or-delete-your-Zapier-account-data)
- Zapier Help Center, [Import and export Zaps in your Team or Enterprise account, checked 29 October 2026](https://help.zapier.com/hc/en-us/articles/8496308481933-Import-and-export-Zaps-in-your-Team-or-Enterprise-account)
- Zapier Help Center, [Export your Zap history (up to 5,000 runs, CSV or JSON), checked 29 October 2026](https://help.zapier.com/hc/en-us/articles/8496294549005-Export-your-Zap-history)
- n8n Docs, [Export and import workflows, checked 29 October 2026](https://docs.n8n.io/workflows/export-import/)
- n8n Docs, [Error handling: error workflows, Error Trigger and Stop and Error nodes, checked 29 October 2026](https://docs.n8n.io/flow-logic/error-handling/)
- n8n Docs, [Executions (manual and production executions, quotas), checked 29 October 2026](https://docs.n8n.io/workflows/executions/)
- n8n Docs, [Google OAuth2 credentials (redirect URL must match exactly), checked 29 October 2026](https://docs.n8n.io/integrations/builtin/credentials/google/oauth-generic/)
- n8n Docs, [Set a custom encryption key, checked 29 October 2026](https://docs.n8n.io/hosting/configuration/configuration-examples/encryption-key/)

## Questions

### Can I import my Zaps straight into n8n?

No. Zapier exports Zaps as JSON, and n8n imports workflows as JSON, but the two formats describe different things. There is no official converter in either product. Use the Zapier export as a specification and build the n8n workflow from it.

### Do my app connections move across?

No. Every connection has to be created again in n8n, and OAuth apps need you to sign in again. For some providers, such as Google, you also register the n8n OAuth redirect URL in the provider console, and it must match character for character.

### How long does a Zapier to n8n migration take?

It depends on the number and shape of the Zaps more than on the platform. A handful of simple Zaps can move in days. An account with dozens of multi-step Zaps, paths and custom code takes weeks, most of it spent on inventory, testing and the parallel run rather than on building.

### Should we move to n8n cloud or self-host it?

Cloud if nobody on the team wants to run a server. Self-hosted if you need the data on your own infrastructure and have someone to own updates, backups and the encryption key. Our post on self-hosted versus cloud for a team under 50 covers the trade-off.

### Is it worth migrating if Zapier works?

Often not. If the bill is small, the Zaps are short and nobody wants to maintain workflows, staying put is a reasonable answer. Migration pays when volume, step counts, data control or custom logic are pushing against Zapier.
