Quick verdict
n8n is usually the fastest route to agent shaped automation. It gives visual workflows, integrations, credentials, execution history, and operations ownership. If the workflow mostly moves data between SaaS systems with bounded LLM decisions, n8n can be the production system.
Custom frameworks become justified when the agent itself is the product or the critical path. LangGraph is the strongest fit here when explicit state, cycles, checkpoints, replay, streaming, and human approval are central. CrewAI is useful when role based collaboration is the natural model and speed of prototyping matters more than low level control. Strands is a compact, model driven framework that is especially relevant for AWS teams, often paired with Bedrock AgentCore for runtime, identity, memory, policy, and observability.
The practical answer is often hybrid: n8n owns triggers, integrations, and notifications, while a custom service owns the stateful loop. Migrate for observed operational pain, not fashion.
At a glance
| Decision factor | n8n agents | LangGraph | CrewAI | Strands |
|---|---|---|---|---|
| Primary abstraction | Visual automation workflow with AI nodes | Stateful graph in code | Roles, crews, tasks, and flows | Model driven agent loop in code |
| Best fit | Integration heavy operations workflows | Durable, stateful production agents | Fast multi agent prototypes and role based processes | Compact custom agents, especially on AWS |
| Typical owner | Automation engineer or operations team | Software or AI engineering team | AI application team | Software or cloud engineering team |
| Deterministic control | Strong at explicit workflow steps | Strong, including conditional cycles | Moderate, depends on crew and flow design | Code level control, model loop is central |
| Stateful cycles | Possible to approximate, less natural as complexity grows | First class graph concept | Natural for collaboration, less explicit than a graph | Implemented in agent code and tools |
| Human approval | Straightforward for ordinary workflow gates | Strong for durable interrupt and resume patterns | Available through application design | Application level, or runtime services such as AgentCore |
| Crash recovery | Workflow execution and retry oriented | Checkpoints and replay are core strengths | Depends on deployment and persistence choices | Depends on hosting, or AgentCore when used |
| SaaS connectivity | Major strength | Build or adopt tools and connectors | Build or adopt tools and connectors | Build tools, use MCP, or AgentCore Gateway |
| Per user tool identity | Can become difficult when shared credentials dominate | Custom implementation | Custom implementation | Custom, or AgentCore Identity |
| Evaluation and release gates | External test harness usually required | Strong ecosystem options, including LangSmith | External or platform tooling | External or AgentCore Evaluations |
| Hosting | n8n Cloud or self hosted | Any suitable Python or JavaScript runtime | Any suitable Python runtime | Any suitable runtime, commonly AWS |
| Main cost driver | Subscription or hosting plus executions and model calls | Engineering, runtime, observability, model and tool calls | Engineering, runtime, model and tool calls | Engineering, runtime, AWS services, model and tool calls |
This matrix describes tendencies, not fixed limits. Deployment choices can change security, durability, and cost.
What an n8n agent actually is
n8n is an automation platform first. Its AI Agent and related nodes let a model select tools and participate in a workflow, but the surrounding value still comes from webhooks, schedules, connectors, credentials, branching, retries, and execution history.
An inbound support flow that enriches a ticket, drafts a reply, routes low confidence cases to a person, and updates the helpdesk is a strong n8n workload. Most steps are deterministic integration work and a failed run is visible.
A research agent that plans, searches, critiques evidence, revises, pauses for legal review, resumes later, and preserves every state transition is different. It is a stateful application with an agent loop. The useful question is not whether n8n can represent it, but which layer should own its complexity, identity, and recovery.
n8n in detail
Where n8n is strongest
n8n compresses integration work around an agent. A founder can connect a form, CRM, database, model provider, helpdesk, email service, and approval channel without building every adapter. Its visual process and execution history are valuable when operations must inspect failures and own changes.
Teams can also start with deterministic automation, add bounded model tasks, and introduce agent behaviour only where tool selection is useful. This is usually safer than starting with a fully autonomous loop.
Where n8n becomes strained
Complexity does not disappear in low code. It moves into node configuration, expressions, subworkflows, data mappings, external stores, and conventions that may not receive the same static analysis, code review, unit testing, and typed interfaces as application code.
The strain appears when the visual graph stops communicating the real system. If the workflow depends on hidden prompt state, several external persistence tables, repeated polling, nested subworkflows, and compensating branches, a screenshot of the canvas is no longer an adequate architecture description.
This is not a criticism of n8n. It is a boundary between an automation platform and an application framework.
LangGraph in detail
LangGraph models an agent as nodes operating on explicit state, connected by edges that can branch and cycle. This is a good conceptual fit for research, review, remediation, and approval processes where the system may revisit an earlier step.
Its production appeal is control. Engineers can define state schemas, checkpoints, interrupts, resume, streaming, and tests in code. These matter when runs outlive an HTTP request or replay is safer than restarting.
LangGraph does not provide n8n's integration catalogue or business interface. Tool adapters, deployment, persistence, secrets, tracing, evaluations, and operations remain engineering decisions. LangSmith can add tracing and evaluation as a separate product.
Choose LangGraph when graph semantics are real requirements, not just because the workflow diagram looks sophisticated.
CrewAI in detail
CrewAI frames work around agents with roles, goals, tasks, and collaboration patterns. It can make multi agent prototypes intuitive: a researcher gathers material, an analyst challenges it, and a writer creates an output. For teams exploring whether role separation improves results, CrewAI can shorten the distance from concept to working code.
Multiple personas do not automatically improve accuracy. They add token use, latency, failure modes, and less predictable control flow. Choose CrewAI when the domain maps cleanly to role based delegation, then verify persistence, retries, idempotency, observability, and approvals for the exact deployment.
Strands in detail
Strands is an open source framework with a compact agent loop, tools, model choice, and MCP connectivity. It pairs naturally with Bedrock and can run on Lambda, containers, or AgentCore.
It is not a managed runtime. Without AgentCore or another platform, the team owns scaling, state, identity, policy, tracing, and recovery.
Compared with LangGraph, Strands can feel lighter when a model directed loop is enough. LangGraph is generally clearer when the workflow requires an explicit graph with durable cycles and controlled transitions. The correct choice depends more on execution semantics and cloud posture than on line counts in a tutorial.
The walls that justify migration
Migration is warranted when one or more of these issues is recurring, measurable, and important enough to justify software ownership.
1. Durable, long running execution
A run lasts hours, waits on external events, or must survive deployments and process failure without repeating completed side effects. External checkpoints and idempotency become core domain logic rather than workflow configuration.
2. Auditable human approval
Approval is not just a Slack button. The system must record who approved which proposed action, under what policy, with the ability to resume the exact state days later. Regulated or high consequence actions make this especially important.
3. End user identity
The agent must call a tool as the authenticated user, with their OAuth scope, rather than through a shared bot credential. Identity propagation, token brokerage, revocation, and least privilege become application architecture concerns.
4. Cyclic reasoning with explicit state
The workflow repeatedly plans, acts, critiques, and revises based on structured state. Visual duplication or deeply nested subworkflows make changes risky. An explicit state machine or graph becomes easier to test and reason about.
5. Evaluation gated releases
Prompt, model, or tool changes must pass a regression suite before deployment. The team needs dataset versioning, trace comparison, quality scoring, and release gates integrated with normal software delivery.
6. Untrusted code or browser execution
The agent generates code, opens arbitrary sites, or processes hostile content. Isolation, network policy, filesystem boundaries, time limits, and teardown guarantees are required. These controls belong in a sandbox service or tightly controlled runtime, not in prompt instructions.
7. Cost and loop control
It is difficult to explain why a run used a certain number of model calls or tools. Runaway retries and open ended loops can create unpredictable bills. Custom code can enforce budgets, iteration limits, model routing, cache rules, and trace level cost attribution.
8. Private networking and residency constraints
The organisation needs strict VPC connectivity, private endpoints, tenant isolation, or verified data location for Australian or Singaporean workloads. Self hosting n8n may satisfy some requirements, but the full path includes model providers, logs, backups, tool APIs, and support access. Architecture must be assessed end to end.
One wall may be manageable inside n8n. Several walls on the same critical workflow usually indicate that the agent core should move to code.
Pricing and total cost of ownership
Headline subscription prices are a poor comparison. Self hosted does not mean free, and an open source framework does not mean low cost.
n8n cost model
Include Cloud subscription or self hosted compute, database, backups, upgrades, monitoring, incidents, and staff time. Add model tokens, storage, APIs, and agent state services. Confirm current regional pricing. n8n often wins TCO when it replaces custom connectors and lets operations own changes.
Custom framework cost model
Custom frameworks may have no licence fee, but the organisation pays for engineering, runtime, persistence, observability, evaluation, security, on call support, and upgrades. Managed products can reduce build effort while adding usage charges. The main cost is making side effects safe, state durable, releases testable, and incidents diagnosable.
A practical TCO worksheet
Estimate annual cost across:
- Platform subscriptions and support.
- Compute, storage, networking, and backups.
- Model, embedding, search, browser, and external API usage.
- Initial build and migration engineering.
- Ongoing change, testing, and on call ownership.
- Security, privacy, and compliance work.
- Expected incident cost and manual recovery time.
Run the worksheet against two or three representative workflows. A directional third party benchmark claiming setup in minutes does not capture production TCO, and its numbers should not drive the architecture.
Architecture and operational ownership
An n8n centred design keeps workflow execution, credentials, triggers, and integration state in the platform. A custom design commonly adds an API, queue, workers, state store, tool services, model gateway, tracing, and evaluation. It adds components in exchange for explicit control.
Ownership is decisive. Operations should not need a code deployment for every CRM field change. Equally, product engineers accountable for agent correctness should not have critical state transitions hidden in visual configuration. In either model, version and review prompts, tool schemas, model settings, and workflow definitions.
Security, privacy, and data ownership
Self hosting provides infrastructure control, not automatic security. Teams must harden n8n, restrict editor access, protect credentials, patch dependencies, manage backups, and limit network egress. Community nodes and custom packages expand the supply chain surface.
Custom services have the same baseline duties plus application specific threats. Tool descriptions and retrieved content can carry prompt injection. An agent can be manipulated into disclosing data or invoking a legitimate tool with harmful parameters. Controls should include allowlisted tools, parameter validation, least privilege credentials, approval for consequential actions, output encoding, network restrictions, and trace redaction.
For AU and SG businesses, map where personal and confidential data flows, including model inference, telemetry, support systems, backups, and subprocessors. Check contractual and regulatory obligations with qualified counsel. Hosting in an Australian or Singapore region does not by itself prove compliance.
Ownership also includes portability. n8n workflows are exportable, but their value may depend on n8n nodes and expression semantics. Framework code is portable in principle, but can still couple tightly to a model vendor, tracing platform, or cloud runtime. Use stable domain interfaces around tools and state where portability has business value.
A practical hybrid: n8n plus a custom agent
The hybrid design keeps each system in its strongest role:
Business trigger
|
v
n8n: validate, enrich, route, notify
|
v
Agent API: authenticate and create run
|
v
Queue -> LangGraph or Strands worker -> state store
|
+-> approved tools and model gateway
|
+-> tracing and evaluations
|
v
Signed callback or polled status
|
v
n8n: update SaaS systems and request approval
n8n should pass a stable job contract, not its entire internal execution object. The agent API should return a run identifier quickly, then process asynchronously. Use idempotency keys so retries do not duplicate side effects. Authenticate callbacks, validate payloads, and record correlation identifiers in both systems.
Keep business system writes in n8n when its connectors and operational visibility are advantageous. Keep planning, iterative reasoning, state checkpoints, budget enforcement, and evaluation traces in the custom service. For approval, n8n can deliver the task and collect the response while the agent runtime preserves the paused state.
This architecture also supports staged migration. Extract one problematic subworkflow behind an API without rebuilding every integration.
Migration without a rewrite
- Measure the current workflow. Capture success rate, manual recovery, latency, model cost, common failure points, and the nodes that are hardest to change.
- Define the boundary. Select a stateful or high risk segment. Leave triggers and commodity integrations in n8n.
- Create a typed contract. Define input, output, error states, idempotency, deadlines, and callback authentication.
- Implement the agent core. Choose LangGraph for explicit graph state, CrewAI for justified role based collaboration, or Strands for a compact model driven service, particularly on AWS.
- Shadow production traffic. Compare outputs without allowing the new service to perform consequential writes.
- Move one side effect at a time. Add approval and rollback paths. Preserve n8n as the operational front door.
- Retire complexity only after evidence. Remove obsolete nodes once the custom path meets agreed reliability, quality, cost, and security thresholds.
Which should you choose?
Choose n8n if
Your workflow is mostly SaaS integration, deterministic routing, and bounded LLM tasks. Choose it when operations needs visual ownership, time to value matters, and its execution history is sufficient for recovery. It is also sensible when self hosting meets your infrastructure requirements and a custom platform team would be disproportionate.
Choose LangGraph if
The agent needs explicit state, cycles, checkpoints, replay, streaming, and durable human interruption. Your engineering team should be prepared to own an application and its runtime, not just a graph definition.
Choose CrewAI if
Role based delegation is central to the use case and you want to test a multi agent workflow quickly. Validate that multiple agents improve measured outcomes before accepting their added latency and cost.
Choose Strands if
You want a concise custom agent framework, value MCP based tools, and have an AWS oriented deployment path. Pairing it with AgentCore is relevant when managed runtime, identity, memory, policy, or observability would otherwise need to be built.
Choose hybrid if
n8n already delivers business value, but one critical section has outgrown visual orchestration. This is the default migration recommendation for most established AU and SG teams because it limits operational disruption.
Related: n8n vs Zapier · agent framework comparison · agent sandbox comparison · production agents without a team
FAQ
Is n8n only suitable for prototypes?
No. Many integration heavy workflows are production appropriate in n8n. Suitability depends on execution semantics, controls, scale, and team ownership, not whether the interface is visual.
Can n8n build a multi agent system?
It can coordinate multiple model steps or external agents. The question is whether complex shared state, cycles, recovery, and evaluation remain understandable and testable. If not, move the agent loop to a framework.
Is LangGraph always more reliable?
No. It provides primitives for durable state and controlled graphs, but reliability depends on how engineers use them and operate the runtime. A simple n8n workflow can be more reliable than a poorly built custom service.
Is CrewAI better than LangGraph for multiple agents?
They optimise for different abstractions. CrewAI makes roles and delegation approachable. LangGraph makes state transitions and cycles explicit. Use measured workflow needs rather than agent count as the deciding factor.
Does Strands require AWS?
No. Strands is open source and can use different models and runtimes. Its AWS integrations and AgentCore pairing make AWS a common deployment choice, not a requirement.
When should an AU or SG company self host?
Self hosting is useful when infrastructure control, private connectivity, or internal policy requires it and the team can operate the service. It does not remove obligations related to model providers, logs, backups, security, or cross border data flows.
How do we prevent runaway agent cost?
Set per run limits for iterations, tokens, time, and tool calls. Add model routing, cache safe results, require approval for expensive operations, and attribute usage to a run and tenant. Test failure loops, not just successful paths.
Conclusion
n8n and custom agent frameworks solve overlapping but different problems. n8n is strongest when the system is fundamentally an automation: trigger, integrate, decide, route, and notify. LangGraph, CrewAI, and Strands are strongest when the agent loop, state, and tools are application logic that engineers must control.
Migrate when durable state, identity, evaluation, cyclic control, isolation, cost governance, or private infrastructure becomes a real constraint. For most n8n users, the lowest risk design is hybrid: preserve its integration value, then extract the agent core behind a clear asynchronous API.
