Why teams migrate
Make is a capable platform with an excellent visual editor, so teams rarely leave because it is bad. They leave for three specific reasons.
Credit consumption on list-heavy work. Make counts operations per module per bundle. An order sync that iterates over 50 line items and touches four modules for each one uses around 200 operations per order. At volume that adds up. On n8n Cloud the same run is one execution, and self-hosting removes execution fees entirely.
Control over data and deployment. Self-hosted n8n runs inside your own cloud account. For clients with healthcare, financial or contractual data restrictions, that often settles the decision. It also lets engineers manage workflows like other code.
AI and custom logic. n8n’s AI Agent node, Code node and HTTP Request node let you build agents with your choice of model, tools and memory. For a side-by-side view of the platforms, see n8n vs Make.
The migration plan
- Inventory. Export the blueprint for each active scenario. Record the trigger type, schedule, apps, monthly credit use, owner, data stores used and any scenarios that call each other.
- Prioritize. Start with a high-credit, low-risk scenario to prove the setup. Move customer-facing and finance scenarios once error handling and alerting are in place.
- Prepare n8n. Choose Cloud or self-hosted, set up credentials for each app, create a shared error workflow that alerts your team, and set execution data retention.
- Rebuild. Use the mapping table as a checklist. Replace data stores with a Data Table or a proper database. Translate Make’s built-in functions in mappings into n8n expressions, which are JavaScript.
- Run in parallel. Point the n8n workflow at the same source with its write steps disabled or redirected to test records. Compare outputs with Make’s run history for at least one full business cycle.
- Cut over. For webhook scenarios, switch the sender to the n8n URL and turn off the Make scenario in the same window. For polling scenarios, pick a cutover timestamp and start n8n from it.
- Decommission. Leave the Make scenarios off, not deleted, for 30 days. Export any data store contents you still need, then delete and downgrade.
What to watch for
- Webhook URLs change. Make’s custom webhook URLs must be replaced in every sending system. Use the n8n Webhook node’s production URL, never the test URL, and add header or basic auth if the sender supports it.
- Queued webhooks. When a Make webhook scenario stops on an error, incoming requests wait in the webhook queue. Drain or clear the queue before cutover so those events are not lost or processed twice.
- Credentials. Make connections cannot be exported. Re-authorize every app in n8n, ideally with service accounts rather than a person’s login.
- Polling start points and duplicates. Make tracks what a polling trigger has already seen. n8n will not know. Use a unique key check (order ID, ticket ID, email) before any create or send step during the overlap.
- Error handling semantics. Make’s Resume, Commit and Rollback handlers have no one-to-one n8n equivalent. Decide per node whether to stop, continue, or route the error to a handling branch, and use Retry On Fail for flaky APIs.
- Data store contents. Data stores often hold state such as last-processed IDs or lookup tables. Export them and load them into the new store before the first production run.
Timeline and cost
A single scenario, rebuilt, tested and run in parallel, typically falls in our single workflow automation band of $2,500–$12,000 and takes 1–3 weeks. A migration of 5–15 scenarios is an automation program, typically $15,000–$50,000 over 4–10 weeks. The biggest variables are the number of distinct apps, how much state lives in data stores, and whether you self-host. Our n8n automations suite case study shows the kind of production n8n work we do, and the n8n automation program cost page breaks down the budget.
What we recommend
If Make works for your team and the credit bill is reasonable, stay. If you are paying for heavy iteration, need self-hosting, or are adding AI agents, move the core scenarios to n8n one at a time with a parallel run, and keep any simple departmental scenarios on Make until there is a reason to move them.