Not verified hands-on. This article was written from primary documentation rather than reproduced in an org, so it carries no tested-release badge. If you run it and something differs, say so in the comments and it gets tested and corrected.

Short answer: the real change is that you no longer write the dialogue tree. The agent decides what to do next from instructions and available actions rather than following branches you drew. That removes the worst part of scripted bots, which was maintaining hundreds of intents, and introduces a new worst part, which is that you cannot guarantee what it will say. For anything short, high-volume and legally constrained, the decision tree is still better.

What genuinely changed

Intent matching stopped being the bottleneck. Scripted bots needed training utterances per intent, retrained as language drifted, and still failed on anything phrased unusually. A model handles paraphrase, typos, mixed intent and rambling openings without a training set. This is the substantial improvement and it is worth the migration on its own for a bot with many intents.

The dialogue tree is gone. No more mapping every branch. You describe topics, provide actions, and the agent composes a path. A bot that took three months to build for forty intents becomes a configuration exercise.

Answers are composed, not retrieved. A scripted bot returned a canned paragraph. An agent answers the specific question from the underlying content, which handles the case where the customer asked about a detail buried in the middle of an article.

Context survives the turn. Referring back to something said four messages ago works. In a scripted bot that required explicit slot management and usually did not work at all.

What did not change

The integration work. Every action still has to be built, tested and permissioned. If your scripted bot could not check an order status because nobody built the API call, the agent cannot either.

The content problem. Both approaches answer from what you have written down. An agent over a stale knowledge base produces confident stale answers instead of obviously stale ones, which is arguably worse.

The routing requirement. Handoff needs the same queues, availability and skills configuration. Nothing about the model improves that.

The maintenance. Different shape, similar volume. Instead of adding intents you are adjusting instructions, watching for topic overlap, and rerunning a regression set after every change and after model updates you did not ask for.

Where a decision tree still wins

This is the part vendors do not cover, and it is a real list.

  • Regulated scripts. If a disclosure must be read in exact wording, use a script. A model reproducing legal text approximately is a compliance failure, and instructions do not guarantee exact reproduction.
  • Short, fixed flows. A three-question triage with a deterministic outcome gains nothing from a model and loses predictability. Buttons are faster for the user than typing.
  • Very high volume, very low complexity. When ninety per cent of contacts are one of four things, a menu resolves them in one tap with no inference cost and no variance.
  • Anything requiring an identical answer every time. Testing a tree is exhaustive. Testing an agent is statistical.
  • Tight cost ceilings. Model calls cost per conversation in a way a decision tree does not. Check the current consumption model, because it affects which volumes make sense.

The hybrid most teams end up with

Deterministic front door, model behind it. A menu or a set of buttons handles the top few intents with no model involved, and free text falls through to the agent. Fixed flows for anything with a compliance requirement, invoked as actions rather than improvised.

This looks like a compromise and is usually the right architecture. It puts the predictable path where the volume is and the flexible path where the variety is.

If you are migrating

Do not port intent by intent. A scripted bot’s intent list reflects the limitations of intent matching, and half of those intents exist only because the matcher needed them separated. Start from your actual contact reasons, not from the old configuration.

Keep the old bot’s transcripts. They are the best test set you will ever have for the new one, because they contain real phrasings including the ones that broke the old matcher.

Frequently asked

Is a scripted bot obsolete? No. It is the right tool for narrow, deterministic, high-volume interaction, and it will stay that way.

Can I run both? Yes, and many do, on different entry points or with a deterministic layer in front. Make the boundary explicit rather than accidental.

Will the agent be cheaper? It is cheaper to build and maintain per intent, and it has a per-conversation cost the scripted bot did not. The crossover depends on volume and on the current pricing model, which is worth checking rather than estimating.

Do customers prefer it? They prefer being right and being quick. An accurate scripted bot beats a vague agent every time.