CRM & AutomationPlaybook21 min readPublished Aug 6, 2026

Decision criteria over hype · 3 migration tests · and the zaps that should never move

From Zapier Zaps to Real Agents: A Migration Playbook

Every comparison post tells you agents are different from zaps. Almost none tell you which of your automations should actually move, in what order, and how to back out when the agent gets it wrong. This is the method: three decision criteria, a translation map from automation primitives to agent primitives, and a strangler-pattern cutover borrowed from legacy-system replacement.

DA
Digital Applied Team
Senior strategists · Published Aug 6, 2026
PublishedAug 6, 2026
Read time21 min
SourcesVendor docs, pricing pages + engineering write-ups
Zapier AI Actions catalog
20,000+
actions across 6,000+ apps, as marketed
Zapier Agents free tier
400
activities per month
n8n Cloud Starter
20
2,500 executions per month
Migration criteria
3
branching · exceptions · judgment

A Zapier-to-agent migration goes wrong in a predictable way: someone reads that agents are the future, points one at the busiest zap in the account, and discovers three weeks later that a workflow which used to fail loudly now fails quietly and creatively. The fix is not better prompting. It is migrating on criteria — branching depth, exception rate, and how much genuine data judgment a step needs — and accepting that a large share of your automations should stay exactly as they are.

Both platform vendors have made the move easy to start. Zapier markets Agents as “superhuman teammates” that work across 9,000+ apps, equipped with company knowledge and built-in monitoring, and ships a Copilot assistant so you can describe an agent in a prompt rather than build it node by node. n8n exposes an AI Agent node that takes a chat model plus tool sub-nodes and decides for itself which tool to call. Neither vendor has much incentive to tell you which of your existing workflows should be left alone.

This playbook covers the part the comparison genre skips. Where the workflow-versus-agent line actually sits according to the people building the frameworks, a scoring rubric you can run against your own automation inventory, a primitive-by-primitive translation map from classic automation concepts to agent-framework concepts, the strangler pattern as the cutover method, unit economics with the billing-unit trap made explicit, and the categories of zap that should never become agents at all.

Key takeaways
  1. 01
    Migrate on criteria, not on category.Branching depth, exception rate, and data-judgment requirement are the three tests. An automation that scores low on all three is a workflow forever, no matter how fashionable agents get.
  2. 02
    The vendors’ own guidance says start simple.Anthropic’s engineering guidance recommends beginning with the simplest workflow pattern and escalating to a full agent only when the simpler pattern demonstrably falls short — the opposite of agent-first migration.
  3. 03
    Use the strangler pattern, not a rewrite.Run the agent alongside the live zap, intercept a slice of traffic, compare outcomes, widen the slice. Martin Fowler’s argument against big-bang rewrites applies to automation exactly as it applies to legacy systems.
  4. 04
    Branch coverage stops being enumerable.A router has a countable number of paths. A model-directed agent does not. The moment you migrate, “we tested every path” becomes a sentence nobody on the team can honestly say — so testing has to move to sampling.
  5. 05
    Some zaps should never move — permanently.High-volume batch operations, strictly repeatable processes, and compliance-critical steps belong on deterministic workflows. That is not caution; it is the recommendation of both the framework guidance and a 2026 practitioner guide.

01Where the line sitsA workflow follows your path. An agent picks its own.

The most useful definition of the boundary does not come from an automation vendor. It comes from Anthropic’s engineering guidance on building effective agents, and it is a definition about control structure rather than about capability. A workflow is a system where models and tools are orchestrated through predefined code paths. An agent is a system where the model directs its own process and its own tool usage. Both can call an LLM. Only one of them decides what happens next.

That distinction is what makes the migration question tractable. You are not asking “is this automation smart enough to deserve AI.” You are asking a much narrower question: does the sequence of steps need to be decided at runtime, by something that can read the input, rather than at design time by you? If the answer is no, adding a model to the middle of the workflow may still be valuable — but that is an AI step inside a workflow, not an agent, and it should be built and budgeted as such.

The canonical definition
Anthropic’s framing, verbatim: “Workflows are systems where LLMs and tools are orchestrated through predefined code paths. Agents, on the other hand, are systems where LLMs dynamically direct their own processes and tool usage.” The same guidance adds the decision rule: workflows offer predictability and consistency for well-defined tasks, whereas agents are the better option when flexibility and model-driven decision-making are needed at scale.

Anthropic is equally explicit about when agents earn their complexity: open-ended problems where it is difficult or impossible to predict the required number of steps, and where you cannot hardcode a fixed path. Read that as a filter rather than an invitation. If you can draw your automation on a whiteboard as a finite set of boxes and arrows and be confident the drawing is complete, you have just demonstrated that it is not an agent candidate.

n8n’s own documentation describes the same shape from the implementation side. Its AI Agent node has three parts — a chat model that interprets the request, tool sub-nodes that expose external actions and data, and agent logic that decides which tool to use depending on the task. The node will not run at all without at least one tool sub-node connected, which is a small implementation detail with a large conceptual implication: an agent without tools is just a chat completion. As of n8n v1.82.0 the earlier menu of separate agent-type configurations was retired, and all AI Agent nodes work exclusively as the “Tools Agent” type.

If you want the platform-level feature tour rather than the migration method, we covered what AI Actions actually do inside a Zap in a dedicated guide — that post is the feature explainer for natural-language Zap creation, while this one is strictly about which existing automations to move and how. For the broader n8n side of the same question, see n8n’s wider AI node catalog.

02The three criteriaScore every automation on three axes before you touch it.

The rubric below is ours, but it is derived directly from the published guidance rather than invented: branching depth operationalises Anthropic’s “can you hardcode a fixed path” test, exception rate operationalises the predictability test, and data-judgment requirement operationalises the model-driven decision-making test. Score each automation on all three before it enters any migration queue. Two low scores and one high score is almost always an argument for an AI step inside a workflow rather than a full agent.

Test 01
Branching depth
count the paths you can enumerate

Draw the automation as a decision tree and count the leaves. If the count is finite, stable, and you are confident the drawing is complete, a router is the correct primitive and always will be. If new leaves keep appearing every month because reality keeps producing inputs you did not anticipate, you have found the first real agent signal.

Finite and stable → keep the router
Test 02
Exception rate
% of runs that need a human

Pull the last quarter of run history and count how many executions ended with somebody manually correcting the outcome. A low single-digit exception rate means the deterministic logic is fitting the domain well. A rate high enough that a person is effectively in the loop by default means you are already paying for judgment — the question is only whether a model can do part of it.

Low rate → the logic already fits
Test 03
Data judgment
none · light · heavy

Ask what the step reads. Structured fields from a known schema is none. Reading a short free-text field to pick one of a handful of labels is light. Reading an unstructured document, weighing conflicting signals and producing a decision a person could disagree with is heavy. Heavy judgment is the only one of the three that a deterministic workflow genuinely cannot fake.

Heavy → the strongest single signal

The reason to score all three rather than trusting any one of them is that they fail differently. Branching depth on its own overstates the case for migration, because a workflow with many branches may simply be a workflow that needs refactoring. Exception rate on its own can be a symptom of bad upstream data rather than of missing judgment; if half your exceptions are duplicate records, an agent will confidently process duplicates too. Data judgment on its own understates urgency, because a genuinely hard judgment call that fires four times a month does not justify a new runtime.

One warning about how this rubric gets abused in practice. It is tempting to run the scoring exercise on the automation you find most annoying, which is usually the one that breaks most often. Breakage frequency is not one of the three axes. A brittle zap that breaks weekly because an upstream API changes its schema will break exactly as often once an agent is calling that API — and the agent will be worse at telling you it happened, because a failed tool call inside a reasoning loop can be silently routed around rather than raised.

03Decision matrixThe migration decision matrix, scored.

Below is the rubric applied to nine automation shapes that show up in almost every marketing and operations stack. The rows are generic automation types, not client work — no organisation is named or described. The three verdict groups are the only outputs the rubric produces: keep it deterministic, wrap an agent step inside a deterministic shell, or run a strangler pilot with a human in the loop before any cutover.

Migration decision matrix: nine generic automation types scored on branching depth, exception rate, data-judgment requirement and compliance sensitivity, grouped by the verdict each score profile produces.
Automation typeBranching depthException rateData judgmentCompliance sensitivity
Verdict: keep it deterministic — permanently
Nightly data sync or batch exportLow — one pathVery lowNoneMedium — the audit trail is the deliverable
Invoice approval above a fixed thresholdLow — one conditionLowNone — the threshold is the ruleHigh — finance controls
Three-branch lead routing by regionMedium — three fixed pathsLowNoneLow
Weekly report assembly from fixed dashboardsLowLowNoneLow
Verdict: hybrid — an agent step inside a deterministic shell
Field extraction from mixed-format documentsLow path count, unbounded input varianceHighHeavyHigh — keep the deterministic wrapper for the audit trail
Inbound email classification into a fixed taxonomyMediumMediumLightLow
Verdict: strangler pilot, human in the loop before cutover
Support ticket triage from free-text intakeHigh — hard to enumerateHighHeavyLow
Refund decisions read from a customer narrativeHighHighHeavyHigh — human sign-off stays after cutover
Multi-source lead enrichment and dedupeMediumMediumLight to heavy, depending on sourcesLow

Two patterns are worth reading off the table. The first is that compliance sensitivity never argues for migration and frequently argues against it — the invoice-approval row scores low on every capability axis and high on compliance, which is the clearest possible “leave it alone.” The second is that the hybrid verdict is not a compromise. Document field extraction genuinely needs model judgment in one step and genuinely needs a deterministic, logged shell around that step. Building it as a full agent throws away the audit trail to gain flexibility the automation does not need.

The refund row is the one that trips teams up. It scores as a migration candidate on all three capability axes, which reads like permission to automate the decision. It is not. High compliance sensitivity plus heavy judgment is the profile where a strangler pilot should run for a long time and where the human sign-off step survives the cutover permanently. The agent’s job in that shape is to prepare the decision, not to make it.

04Translation mapEvery automation primitive has an agent equivalent, and a new failure mode.

The mechanical part of a migration is a translation exercise. Classic automation tools give you a small vocabulary — triggers, action steps, filters, routers, formatters, delays, webhooks, multi-step workflows — and every one of those has a recognisable counterpart in agent-framework terms. What the mapping tables in vendor documentation tend to leave out is the third column: what actually changes about your operational risk when you make the swap.

Primitive-to-primitive migration map: classic automation-tool primitives mapped to their agent-framework equivalents, what changes operationally on migration, and the failure mode each swap introduces.
Classic primitiveAgent-framework equivalentWhat actually changesNew failure mode
Entry points
TriggerEvent that starts an agent runNothing. The start of the run stays deterministic — agents do not fire themselves.Teams assume the agent is “always on” and build no scheduler at all
WebhookInbound event, plus a tool definition for anything the agent calls back throughPayload validation moves to the front, because the model now reads the payload as inputUnvalidated third-party payloads become prompt content
Control flow
Filter or conditionJudgment step with an explicit confidence thresholdYou now own a false-positive and false-negative rate that used to be structurally zeroNo threshold is set, so the agent silently drops work nobody counts
Path or routerModel-directed tool choice — the agent decides which tool to callBranch coverage stops being enumerable; you test by sampling rather than by counting“We tested every path” becomes a claim nobody can honestly make
Delay or scheduleAsynchronous wait or poll inside the agent loopA wait becomes state you have to persist and resume, not a timer the platform ownsRuns die mid-wait and nothing retries them
Actions and output
Action stepTool callThe model chooses the arguments, so schema design and argument validation move to the front of the buildWell-formed calls carrying wrong arguments, which log as successes
FormatterStructured output contractOutput shape becomes a validation problem rather than a formatting oneDownstream systems accept malformed records without complaining
Multi-step workflowMulti-step agent loop with an explicit step budgetStep count becomes a distribution rather than a constant, so cost per run becomes a distribution tooUnbounded loops, and a bill that varies by input rather than by volume

The router row is the one that changes how a team works, not just how a workflow runs. n8n’s documentation puts it plainly — the agent decides which tools to call to complete a task — and that single sentence deletes an entire category of quality assurance. With a router, test coverage is a counting exercise: enumerate the paths, exercise each one, sign off. With model-directed branching there is no finite list to exercise, so coverage becomes statistical. Migrating a router without also migrating the test strategy is the most common way a technically successful migration produces an operationally worse system.

The multi-step row is the one that changes the finance conversation. A classic workflow has a fixed step count, so cost per run is a constant and monthly spend is a straight function of volume. An agent loop decides how many steps it needs, so cost per run has a mean and a tail. Budget on the tail, not the mean, and put a hard step budget on every loop. If you want the full economics worked through rather than the shape of the problem, we built the total-cost-of-ownership math as a separate piece.

05Cutover methodThe strangler pattern, borrowed from legacy system replacement.

The safest known method for replacing a system you cannot afford to break is not a rewrite. It is the Strangler Fig pattern, named and popularised by Martin Fowler: build the new functionality alongside the old system and let it gradually intercept more of the old system’s behaviour until the legacy path can be retired. Fowler’s argument against the alternative is direct — complete rewrites typically fail because they take years to complete while business needs change, and because hidden behavioural requirements are difficult to replicate.

Both halves of that argument transfer to automation without modification. Automation stacks accumulate hidden behavioural requirements at an impressive rate: the filter that quietly excludes a legacy record type, the formatter step that trims a field because a downstream system chokes on long strings, the delay that exists because someone discovered a race condition in 2023. Nobody documented any of it. A rewrite discovers all of it in production.

"Like the fig, it begins with small additions...that are built on top of, yet separate to the legacy code base."— Martin Fowler, StranglerFigApplication

Fowler’s method has four moves: establish clear desired outcomes, identify the seams in the legacy system that let you break it into replaceable components, incrementally replace small pieces while the old system keeps running, and evolve organisational practice alongside the technical change. The automation-specific translation of those four moves is below.

Phase 01
Name the outcome
before any build

Write down what the agent must beat, in numbers you already have. Current exception rate, current median handling time, current cost per run. If you cannot state the baseline from existing run history, you are not ready to migrate — you are ready to instrument.

Baseline from existing run history
Phase 02
Find the seam
one step, not the whole zap

The seam is the narrowest place the agent can intercept: usually a single judgment step in the middle, not the trigger and not the final write. Intercepting at the write step is tempting because it is where the value lands, and dangerous for exactly the same reason.

Narrowest viable interception point
Phase 03
Run both
shadow first, then a traffic slice

Start in shadow mode: the agent processes the same input and writes its answer somewhere nobody acts on, while the zap continues to run production. Compare disagreements by hand. Only when disagreements are rare and explainable does the agent take a real traffic slice.

Shadow → 5% → 25% → majority
Phase 04
Retire deliberately
and change how the team works

The legacy zap comes down only when the agent has held the slice through at least one full cycle of whatever seasonality your data has. Fowler’s fourth move matters here: the review process, the on-call expectation and the escalation path all change, and none of that happens by itself.

One full seasonal cycle minimum

Shadow mode is the phase teams skip and the phase that pays for itself. Running the agent against live input with no authority to act costs you inference spend and nothing else, and it produces the single most valuable artefact of the whole migration: a list of the cases where the agent and the existing logic disagree. In our experience that list is rarely what anyone predicted. It usually splits into a small set of cases where the agent is obviously right, a small set where it is obviously wrong, and a frustrating middle where the disagreement reveals that the original zap encoded a rule nobody remembers agreeing to.

That middle set is the actual product of the migration. Whatever you decide about the agent, the discovery that a production automation has been silently applying an undocumented rule is worth the exercise on its own.

06The exclusionsThe zaps that should never become agents.

Vendor content has a structural reason to push every workflow toward the agent product: agent tiers are metered separately and generate revenue on a different curve. The published engineering guidance points the other way. Anthropic’s overarching principle is to start with the simplest workflow pattern — prompt chaining, routing, parallelisation — and escalate to a full agent only when the simpler pattern demonstrably falls short. A 2026 practitioner guide to n8n’s AI Agent node, published in February by the developer writing as kr8thor on dev.to, reaches the same conclusion from the implementation side: keep predictable repeatable processes, high-volume batch operations and strict compliance requirements on traditional deterministic workflows, and reserve agents for variable input requiring judgment, multi-step research, and decision trees too complex to hardcode.

Never migrate
High-volume batch operations

Ten thousand records processed identically is the shape deterministic workflows were built for. An agent adds per-record inference cost, per-record latency and per-record variance to a job whose entire value is that it does the same thing every time.

Keep as a workflow
Never migrate
Compliance-critical steps

Where you have to be able to say exactly why a decision was made and reproduce it on demand, predefined code paths are not a limitation — they are the requirement. Model-directed branching cannot offer the same reproducibility guarantee.

Keep as a workflow
Hybrid
Judgment in one step only

Document extraction, sentiment-dependent routing, free-text classification into a fixed taxonomy. Put the model inside the step that needs judgment and keep the deterministic shell — trigger, validation, write, logging — around it.

Agent step, workflow shell
Migrate
Unbounded step count

Multi-step research, investigation-style tasks, anything where the required number of steps depends on what the earlier steps found. This is the shape the framework guidance names explicitly, and the one place a full agent is straightforwardly the right tool.

Strangler pilot

There is a trend worth reading in the fact that both the framework authors and that practitioner guide landed on a restraint-first position while the product marketing moved the other way. Zapier ships a Copilot assistant specifically so users can construct Agents from a prompt rather than build them node by node, which is a reasonable on-ramp and also a signal about where the vendor believes growth comes from. The gap between “easiest thing to start” and “right thing to run” is where migration projects get expensive.

Projecting forward, the likely equilibrium is not agents replacing workflow automation but agents becoming a step type inside it. The hybrid row above is the shape that keeps winning on the criteria: a deterministic shell that owns triggering, validation, logging and writes, with model judgment invoked in the one or two places judgment is genuinely required. Teams that structure their migration around that assumption tend to end up with fewer surprises than teams that treat the agent as the new runtime for everything.

07Unit economicsWhat the swap costs — and the billing-unit trap.

Every figure in this section is labelled by the surface it was read from at the time of writing, and automation pricing moves — treat these as a snapshot for sizing, not as a quote. The important thing is not any individual number. It is that Zapier and n8n bill in units that are not interchangeable, so the two published price lists cannot be compared directly no matter how tempting the arithmetic looks.

Zapier published pricing page
Free-plan task ceiling
100

The free tier allows 100 tasks per month and two-step Zaps only, which means no branching automation is possible at all on Free. Embedding AI directly in a Zap via AI by Zapier requires the Professional tier or higher.

Two-step Zaps only
Zapier Agents tier
Free agent activities
400/mo

Zapier Agents is metered separately from Zap tasks, with a free allowance of 400 activities per month and a paid tier above it. The paid figure on the published page reads as an annual-equivalent monthly rate — check the live pricing page before budgeting.

Separate meter from Zap tasks
n8n published pricing page
Execution = one full workflow run
1

n8n defines one execution as a single run of the entire workflow regardless of step count, and contrasts that explicitly with per-operation billing. Self-hosted deployments use your own model API key, so the Cloud AI-credit ceiling does not apply.

Not comparable to a Zapier task

n8n Cloud · included executions per month by tier

Source: n8n published pricing page, read at the time of writing. Bars scaled against the Business tier allowance.
Cloud Starter€20/mo · 5 concurrent executions · 2,300 AI credits
2,500
Cloud Pro€50/mo · 20 concurrent executions · up to 13,700 AI credits
10,000
Cloud Business€667/mo · self-host option · SSO/SAML/LDAP · 30-day insights
40,000

The derived column in the table below is our arithmetic, not a vendor figure: published monthly price divided by the included unit allowance for that plan. It is useful for sizing a single plan and useless for comparing across the two vendors, because a Zapier task counts an individual action step while an n8n execution counts a complete workflow run. A Zap with five action steps consumes five tasks; a five-step n8n workflow consumes one execution. The prices are also quoted in different currencies on each vendor’s own page, and no conversion is implied or applied here.

Published plan prices and included unit allowances for Zapier and n8n at the time of writing, with a derived cost-per-unit column calculated as published monthly price divided by included units. Zapier tasks and n8n executions are different billing units and are not comparable.
Plan (as published)PriceIncluded unitsUnit typeDerived cost per unit
Zapier — billed per task (one action step)
Free$0100 / moTask · two-step Zaps onlyNot derived — no branching available
Professional — entry$19.99 / mo, annual750 / moTask≈ $0.0267
Professional — top of published range$3,389 / mo, annual2,000,000 / moTask≈ $0.0017
Team — entry$69 / mo, annual2,000 / moTask · up to 25 users · SAML SSO≈ $0.0345
Team — top of published range$3,999 / mo2,000,000 / moTask≈ $0.0020
Agents — free allowance$0400 / moActivity · separate meterNot derived
n8n Cloud — billed per execution (one full workflow run)
Cloud Starter€20 / mo2,500 / moExecution · 5 concurrent≈ €0.0080
Cloud Pro€50 / mo10,000 / moExecution · 20 concurrent≈ €0.0050
Cloud Business€667 / mo40,000 / moExecution · self-host option · SSO/SAML/LDAP≈ €0.0167
Self-hostedYour own infrastructureNo AI-credit ceiling — bring your own model API keyExecutionNot comparable

The n8n rows contain a result that surprises people the first time they compute it. Cost per included execution falls from roughly €0.0080 on Starter to roughly €0.0050 on Pro, then rises to roughly €0.0167 on Business. Business is not a volume discount tier at all — the €667 buys the self-hosting option, SSO/SAML/LDAP and 30-day insight retention, and the execution allowance is close to incidental. If you are moving to Business for throughput you are buying the wrong thing; if you are moving for governance you are buying exactly the right thing and the per-execution number is irrelevant.

The other cost that does not appear on either page is inference. On n8n Cloud, model usage is metered as AI credits — 2,300 a month on Starter, up to 13,700 on Pro — while self-hosted deployments use your own model API key and have no credit ceiling, which shifts the cost from the platform bill to the model provider bill rather than removing it. Zapier’s Agents meter counts activities on its own tier. Either way, migrating a step from deterministic logic to model judgment converts a fixed platform cost into a variable one that scales with input complexity, not just with volume. For worked comparisons across the wider tool set, see our real-world cost comparisons and the marketing-automation landscape.

The unit trap
A Zapier task is one action step. An n8n execution is one complete workflow run, regardless of how many steps it contains. Dividing one price list by the other produces a number that looks decisive and means nothing. Size each platform against your own step-count distribution before you compare anything.

08Rollback safetyPlan the reverse before you plan the cutover.

A strangler migration only de-risks anything if the legacy path is genuinely still there. The failure mode is subtle: teams keep the old zap enabled but let it drift — a field gets renamed in the CRM, an API version is deprecated, a credential expires — so when the agent misbehaves in month three the rollback target no longer runs. The old path is not a backup unless something proves it still works. The cheapest proof is to keep it processing a small live slice throughout the pilot rather than switching it off entirely.

The second rollback requirement is a decision log. Deterministic workflows are self-documenting because the logic is the documentation; agents are not, and a run history that records only inputs and final outputs cannot tell you why a decision was made. Log the tool calls, the arguments, and the intermediate reasoning your framework exposes. This is precisely the visibility gap OpenAI named when it introduced its Responses API and Agents SDK: turning model capability into production-ready agents had required extensive prompt iteration and custom orchestration logic without sufficient visibility, and built-in tracing was the answer it shipped. If your chosen stack does not give you that, you are inheriting the problem rather than the solution.

Keep expectations calibrated
The n8n practitioner guide published in February 2026 by the developer writing as kr8thor puts the operating stance well: “AI agents aren’t magic. They’re tools that require good prompts, appropriate guardrails, and iteration.” That is a community write-up rather than vendor documentation, and it is the right frame for a rollback plan: assume iteration, and build the exit before you need it.

The first month after a cutover should have a defined shape. Week one: every agent decision reviewed, no exceptions, however tedious. Week two: review a sample, and review every case where the agent took a path the old zap would not have taken. Weeks three and four: review by exception only, but keep the disagreement log running against the shadow copy of the old logic. Set an explicit rollback trigger before week one starts — a disagreement rate, an error rate, a cost-per-run ceiling — and write down who is allowed to pull it without convening a meeting.

One organisational note that matters more than any of the technical steps. The person who built the original zap is usually not the person championing the agent, and the original builder is the only one who knows about the undocumented rules in section 05. Getting them into the shadow-mode disagreement review is worth more than any amount of prompt engineering. If you are running this as a structured programme rather than a side project, our CRM and marketing automation engagements start with exactly this inventory-and-score exercise, and our AI transformation work covers the governance layer around it. For teams weighing whether to self-host the agent runtime at all, we covered the open-source and self-hosting decision separately.

09ConclusionMigrate the few, instrument the rest.

The shape of a sane migration

The right number of zaps to migrate is smaller than the number you want to migrate.

Run your automation inventory through three questions — how deep is the branching, how often does a human have to intervene, how much genuine judgment does the hardest step require — and the queue sorts itself. Most automations score low on all three and should be left alone. A meaningful minority need model judgment in exactly one step, and belong in a hybrid shape: an agent step inside a deterministic shell that still owns triggering, validation, logging and writes.

For the handful that genuinely need model-directed control flow, the method is old and well tested. Baseline the outcome in numbers you already have, find the narrowest seam, run the agent in shadow against live input until the disagreements are rare and explainable, take a traffic slice, and retire the legacy path only after a full cycle of whatever seasonality your data has. Fowler’s case against big-bang rewrites — years of work while requirements move, hidden behaviour nobody can reproduce — describes an automation stack as accurately as it describes a monolith.

The part worth carrying forward is the discipline, not the tooling. Model-directed branching trades enumerable test coverage for flexibility, fixed per-run cost for a distribution, and self-documenting logic for whatever your framework happens to trace. Those are reasonable trades for automations that genuinely cannot be drawn as a finite set of boxes and arrows. They are terrible trades for the nightly export. Knowing which of your automations is which is the whole job.

Move the right automations, not all of them

Most of your zaps should stay zaps. The migration work is knowing which ones don’t.

We score automation inventories against the branching, exception-rate and judgment criteria, run strangler-pattern pilots in shadow mode against live traffic, and hand back a migration queue with the automations that should never move clearly marked.

Free consultationExpert guidanceTailored solutions
What we work on

Automation migration engagements

  • Automation inventory scored on the three migration criteria
  • Shadow-mode pilots with disagreement review
  • Agent-step-inside-workflow hybrid builds
  • Step budgets, tracing and rollback triggers
  • Cost modelling across task and execution billing units
FAQ · Zap-to-agent migration

The questions we get every week.

Only the ones that pass all three tests. Score each automation on branching depth (can you enumerate every path and be confident the list is complete), exception rate (what share of runs currently need a human to correct the outcome), and data-judgment requirement (does a step have to read unstructured input and produce a decision a reasonable person could disagree with). An automation that scores low on all three is a workflow permanently, no matter how capable agents become. Anthropic’s engineering guidance is explicit on the principle: start with the simplest workflow pattern and escalate to a full agent only when the simpler pattern demonstrably falls short. In practice most inventories produce a short migration queue, a longer hybrid queue where a model handles one step inside a deterministic shell, and a large group that should be left alone.
Related dispatches

Continue exploring automation and agents.

CRM & Automation

Marketing Automation AI Agents: Make vs Zapier vs n8n

Comparison of marketing automation platforms with AI agent capabilities in 2026. Make, Zapier, and n8n evaluated for agent workflows, pricing, and scale.

April 1, 2026 · 17 minRead
CRM & Automation

CRM Migration With AI Agents Doing the Heavy Lifting

Not the migration checklist and not the platform comparison: this covers who executes the middle of the plan, and the guardrails agents need to do it safely.

August 5, 2026 · 14 minRead
CRM & Automation

Build a Competitor-Monitoring Agent With MCP Servers

Build a competitor-monitoring agent with MCP tools, open-source change detection and hash-gated noise control — the hard part is signal, not connectivity.

July 8, 2026 · 14 minRead
CRM & Automation

Claude Code Routines vs n8n and Zapier: Real Costs

Claude Code Routines, n8n, and Zapier compared on real costs. Build time, execution caps, and where each wins — n8n still leads on always-on scheduling.

July 2, 2026 · 11 minRead
CRM & Automation

Build Live Client Dashboards with Claude Code Artifacts

Claude Code Artifacts now pull live data through a viewer's own MCP connectors per view. But a connector-backed dashboard can't be a public link on any plan.

July 24, 2026 · 11 minRead
CRM & Automation

SMS Marketing Statistics 2026: 110+ Open and CTR Data

SMS marketing statistics for 2026: 110+ data points on delivery, open and click-through rates, opt-out behavior, and revenue-per-send benchmarks.

April 22, 2026 · 15 minRead