From Power Automate to n8n: Choosing a Workflow Engine for Internal Operations
Five questions that decide the platform. The Power Automate licensing trap that catches most estates. The n8n self-hosted cost shape and the operational discipline required to make it survive past month 12.
If you are reading this, you are probably weighing whether to migrate from Power Automate to n8n, or to start a new automation programme on n8n rather than Power Automate. This article is the decision framework — not the marketing comparison.
We deploy both. We run n8n in our own production at n8n.itsailor.io for ~80% of our internal automations. We deploy Power Automate into client estates where the work is Microsoft-native. Each platform has a sweet spot. Each platform has a sharp edge that bites the team that picked it for the wrong reason.
Below: a decision tree, the migration realities, the licensing trap that catches most Power Automate estates, and the operational discipline required to make n8n self-hosted survive past month 12.
The five questions that decide the platform
Skip the feature matrices. Answer these five questions honestly and the platform picks itself.
Question 01: Where does the work actually live?
List your top 20 active workflows. For each, identify the systems they touch. Categorise:
- Microsoft-native (Entra ID, SharePoint, Teams, Exchange, OneDrive, Intune, Dynamics 365, Power BI, Office documents)
- Cross-stack (mix of Microsoft + non-Microsoft SaaS + cloud APIs)
- Developer-shaped (GitHub, AWS, Kubernetes, observability tools, internal APIs)
If >70% of workflows are Microsoft-native, Power Automate is the natural fit. The connector depth into the Microsoft estate is genuinely best-in-class, and you would be paying for the M365 licensing anyway.
If workflows are cross-stack or developer-shaped, n8n is the natural fit. Power Automate connectors to non-Microsoft systems exist but are shallower than the native ones, and the cost shape penalises this kind of estate (more on which below).
Question 02: What is the volume?
Total operation count per month across the whole automation estate. For most clients, the count goes:
- <50k operations/month: any platform works, pick on other criteria.
- 50k-500k: Power Automate gets expensive without per-user licensing in place; n8n self-hosted starts to win on cost.
- >500k: n8n self-hosted is the clear cost winner — flat hosting cost vs per-flow / per-execution scaling.
Question 03: Who maintains it?
- A platform / engineering team with Git, code review, CI/CD discipline → n8n. The platform speaks their language. Flows live in version control. Changes pass review.
- Citizen developers (business users, ops admins, IT analysts who do not write code) → Power Automate or Make. The visual builders are designed for this audience. n8n is more developer-shaped.
- Mixed → either platform works, but governance matters more. Power Platform CoE Starter Kit gives you governance out-of-the-box; n8n requires building governance via your existing engineering disciplines.
Question 04: How sensitive is the data sovereignty?
For regulated EU clients (financial services, healthcare, legal, public sector):
- Power Automate runs on Microsoft 365 EU infrastructure. Data residency is real, sub-processor list is public, DPA is mature. Defensible for most regulated estates.
- n8n self-hosted in your own EU bare-metal estate is the strongest sovereignty story. No third-party SaaS in the workflow path; full control over data flow.
- n8n Cloud sits in the middle — EU-region hosting available, less control than self-hosted.
Question 05: What is your tolerance for operational responsibility?
Power Automate is a managed service. Microsoft operates the platform. Outages happen but they are not your problem to fix. Upgrades are automatic. The trade is the cost premium and the licensing complexity.
n8n self-hosted is a service you operate. The runtime is your responsibility. Backups, monitoring, version upgrades, disk space, certificate renewals — all yours. Lower platform cost; higher operational cost. The break-even depends on the rest of your engineering practice.
The Power Automate licensing trap
The single most expensive misunderstanding we see. Power Automate has three license shapes:
- Standard Power Automate — included with most Microsoft 365 licenses. Lets users run "Standard" connectors. SharePoint, Outlook, Teams, OneDrive, basic web services. Sounds permissive; it isn't.
- Premium Power Automate — €15.10 per user per month (list). Required for "Premium" connectors. This is the line: Dataverse, custom connectors, on-premises data gateway, AI Builder, and almost every third-party SaaS connector you'd actually want (HubSpot, Salesforce, Workday, SAP, etc.).
- Per-flow plan — €100 per flow per month. Licenses one flow for unlimited users to run.
The trap
A team starts building flows on Standard licensing. Everything works. Quarter 2, someone needs to integrate with HubSpot. The HubSpot connector is Premium. The flow author is told "you need a Premium license to use this flow". So they get the license. Two months later, the same author builds another flow that hits a Premium connector. The flow is "tied to" the licensed user. That user goes on parental leave. The flow stops running.
The fix is either:
- License every user who runs Premium flows with a Premium license (€15.10/user/month, scales with seats)
- License the flow itself with a Per-flow plan (€100/flow/month, scales with flow count)
For a 200-seat company running 30 premium flows, the all-in licensing cost lands at €3,000-€8,000/month depending on which model you optimise for. Few clients we audit have done the maths and most are over-paying by a factor of 2 because they hold both kinds of license to cover gaps.
| Scenario | Per-user model | Per-flow model | Better choice |
|---|---|---|---|
| Many flows, few power users | 10 × €15 = €150 | 30 × €100 = €3,000 | Per-user |
| Few flows, many users running them | 200 × €15 = €3,020 | 5 × €100 = €500 | Per-flow |
| Mid-size estate, mixed usage | 50 × €15 = €755 | 20 × €100 = €2,000 | Per-user, if licensing scope is clean |
The "free Power Automate" myth
You hear it constantly: "Power Automate is free — it's part of our M365 license." Strictly true for Standard tier. The Standard tier is a starter pack. The moment you need a third-party SaaS connector, AI capability, or production-grade scheduling, you are in Premium territory.
For any estate doing real automation, the actual cost is the Premium licensing — not the M365 baseline. Quote the Premium cost in any business case.
The n8n self-hosted reality
n8n is free as open source. The "free" word is doing a lot of work in that sentence. The honest cost shape:
| Cost line | Range | Note |
|---|---|---|
| n8n license | €0 (Community) or €50-€500/mo (Cloud) | Community Edition is the default for self-hosted |
| VM hosting | €60-€200/mo | Hetzner / OVH / Scaleway EU bare-metal |
| Postgres backing store | €20-€80/mo | Managed Postgres or self-hosted on the same VM |
| Redis (for queue mode) | €15-€40/mo | Required for production-grade worker scaling |
| Observability (Prometheus / Grafana / Loki) | €40-€100/mo | Shared infrastructure if you already run it |
| Backup storage | €10-€30/mo | S3-compatible object storage |
| Operational engineering | €2,000-€5,000/mo | 0.1-0.25 FTE-equivalent at our rates |
| All-in TCO at production scale | €2,150-€5,950/mo |
The operational engineering line is where most estates underestimate. n8n needs version upgrades (every 2-3 weeks), broken-flow triage (every week), credential rotation, and disk-space management. None of it is heavy; all of it is ongoing.
The migration decision
If you have an existing Power Automate estate, the migration cost is real. The flows do not move automatically. There is no "export to n8n" button. Each flow has to be reviewed, refactored to the new platform's idioms, tested, and re-deployed.
Typical migration economics for a 30-flow estate:
- Flow inventory + categorisation: 1-2 weeks
- n8n environment setup (VMs, Postgres, Redis, observability, governance): 1-2 weeks
- Flow-by-flow migration: 30 flows × 3-8 hours/flow = 90-240 engineering hours
- Parallel running period (both platforms live, comparing outputs): 4-6 weeks
- Power Automate decommissioning: 1 week
End-to-end: 10-16 weeks for a mid-size estate. Cost: €25,000-€60,000 of engineering work depending on flow complexity. Recovered on the Power Automate licensing within 6-15 months for most estates, plus the operational benefits.
The migration is worth doing if:
- Power Automate licensing is >€5,000/month
- The estate is hitting Premium connector limitations
- The estate is increasingly cross-stack (not just Microsoft)
- The team wants Git-based flow management and code review
Not worth doing if:
- Workflows are tightly Microsoft-coupled (Dynamics 365 deep integration, Power BI alerts)
- Citizen developers are building most of the flows
- Total automation cost is <€2,000/month
- Operational engineering capacity does not exist
What "n8n production-grade" actually means
A common mistake: spinning up n8n on a single VM, building 30 flows, and calling it production. Six months later, that VM dies, the team discovers there were no backups, and 30 flows have to be rebuilt from memory.
The production-grade configuration we ship:
- Queue mode. Main n8n process for the UI + webhook receivers. Separate worker processes for flow execution. Redis as the queue. Scales horizontally; UI stays responsive even under heavy execution load.
- Postgres backing store. Externally managed Postgres (Hetzner managed DB or RDS-equivalent) with daily backups and point-in-time recovery.
- Git-based workflow definitions. Workflows exported as JSON, committed to a private Git repo, reviewed via pull requests, deployed via n8n's import API.
- Environment separation. Three n8n instances (dev / staging / prod) with environment-specific credentials. Changes promote through environments via the Git workflow.
- Observability. Prometheus scrapes n8n metrics. Grafana dashboards for execution rate, failure rate, queue depth. Loki for execution logs. Alertmanager paging on production failures.
- Backup discipline. Postgres backups + flow definitions in Git + credential vault (Hashicorp Vault or 1Password). Disaster-recovery target: rebuild full environment in <4 hours.
- Version upgrade cadence. Monthly upgrade window. Staging upgraded a week before production. Rollback plan documented.
This is the difference between "n8n in production" and "n8n that survives in production". The first is a VM. The second is a service.
The "we'll just self-host" cost everyone undercounts
The operational engineering line in the cost table above hides the most common failure mode: a team that picks n8n self-hosted because it is "free", spends the first quarter celebrating, and then loses 2-3 days of productivity per quarter to maintenance interruptions they did not budget for.
The pattern that works: budget for the operational engineering as if you were paying for it. Either the time comes from a dedicated person (a platform engineer with capacity), from a managed-service contract (us or another firm), or from explicit allocation across the existing team. What does not work is "we'll just figure it out" — that becomes "the n8n instance is held together by one person's evenings" and ends in incident.
The decision in flowchart form
flowchart TD
A[Start: workflow automation decision] --> B{Microsoft estate?}
B -->|>70% workflows| C{Volume <500k ops/mo?}
C -->|Yes| D[Power Automate<br/>Premium licensing]
C -->|No| E{Engineering capacity?}
E -->|Yes| F[n8n self-hosted]
E -->|No| D
B -->|Cross-stack| G{Engineering capacity + ops discipline?}
G -->|Yes| F
G -->|No| H{Sovereignty critical?}
H -->|Yes| I[n8n Cloud EU<br/>or managed n8n by partner]
H -->|No| J[Make / Zapier]
F --> K[Build production-grade stack:<br/>Queue mode + Postgres + Git + Observability]What we actually run
In our own operations:
- n8n self-hosted at
n8n.itsailor.iofor ~80% of our internal workflows. Stripe webhooks → Directus → email; lead enrichment; CRM sync; project tracking; ChatOps for our own infrastructure. - Make for one-off integrations between consumer SaaS where the operational cost of doing it in n8n is not worth it.
- Power Automate in client estates where the work is genuinely Microsoft-native. We deploy and govern it; we do not run our own operations on it.
The platform-per-workload pattern keeps each platform earning its keep. Forcing every workflow through a single platform is what creates the regret in month 18.
What clients ask us most often, answered
"Can we run n8n in Microsoft Azure?"
Yes — Azure VM, managed Postgres on Azure, Azure Container Apps for workers. Works fine. Cost is comparable to other EU providers. Slightly higher than Hetzner but with better integration if your estate is already Azure-native.
"Will n8n handle our 500k operations/month?"
Yes — with queue mode + workers. A 4-CPU 16GB VM handles 100-150 concurrent executions comfortably. Scale horizontally by adding worker VMs as needed. The bottleneck is usually the external APIs you are calling, not n8n itself.
"Can we migrate gradually instead of all at once?"
Yes — and we recommend it. Pick the 5 highest-volume flows, migrate them first, prove the savings. Then take the next 10. Power Automate licensing can be downsized as flows migrate. Parallel running for 4-6 weeks is the safety net.
"What if n8n goes out of business?"
n8n is open source under the Sustainable Use License (similar to BSL — source-available, can be self-hosted, restricted only for direct commercial competition). The community edition cannot be revoked. If the company disappears, the source remains. Your flows stay yours.
"What about Microsoft's commitment to Power Platform?"
Microsoft is heavily invested in Power Platform. It is not going anywhere. The platform decision is not "which company survives longer" — both will. The decision is which platform serves your specific operation better.
The one paragraph version
Power Automate wins when >70% of workflows are Microsoft-native and engineering capacity is limited. n8n self-hosted wins when workflows are cross-stack, volume is meaningful, or sovereignty is critical — provided you budget the operational engineering line honestly. The Power Automate licensing trap (Standard tier looks free until you need a Premium connector) catches most estates by surprise; do the maths before committing. The "free n8n" trap (running it on a single VM until it dies) catches teams that confuse open-source pricing with operational simplicity. Pick by the work, not by the brochure. And operate platform-per-workload rather than platform-monopoly.
If you want a scoped diagnostic — we score your top 20 flows on the five questions above, produce a CFO-ready migration case (or recommendation to stay), and ship the first 10 production-grade flows on whichever platform wins. That is the Intelligent Workflow Automation service. The discovery call is free and will tell you within 30 minutes whether your estate is wrong-shaped for both platforms (it happens — sometimes the answer is custom code).