- skipping steps,
- giving incorrect information,
- failing to trigger a function,
- mishandling objections,
- or drifting off-script.
Agent skips steps in the script
If the agent jumps ahead in the conversation, the script structure is usually too loose. The main script should be written as a clear sequence of numbered steps, with explicit instructions to wait for the contact’s response before moving forward. If the boundaries between steps are vague, the agent is more likely to blend them together. A stronger structure looks like this:- define each step clearly,
- add a response gate after each one,
- and state directly when the agent must not continue.
“Do not proceed to Step 3 until the contact has confirmed their date of birth.”
Agent gives information it should not have
If the agent shares information that is not in the prompt or knowledge base, it is hallucinating. This usually means the prompt does not set strong enough boundaries around what the agent is allowed to say. Add a clear instruction that the agent must only use information explicitly provided in the prompt, the knowledge base, or dynamic variables. For example:“Only share information explicitly provided in this prompt or the knowledge base. If you do not have the answer, say so.” This reduces guesswork and makes the agent more reliable.
Agent fails to call a function
If the agent is supposed to book an appointment, transfer a call, send an SMS, or trigger another action but does not do it, check three things:- Is the function actually defined in the Functions tab?
- Does the prompt clearly tell the agent when to call it?
- Does the function name in the prompt exactly match the function name in the configuration?
Agent does not handle an objection correctly
If the agent breaks down when the contact pushes back, one of two things is usually true:- there is no handler for that scenario,
- or the handler is too vague.
- Weak: “If the contact objects, be understanding.”
- Stronger: “If the contact says they are too busy, ask whether mornings or afternoons work better.”
Agent uses the wrong dynamic variable
If the agent reads a blank value, says “undefined,” or uses the wrong name or data point, the prompt variables do not match the variables being passed by the workflow. Check that every variable in the prompt, such as{{customerName}} or {{appointmentTime}}, has a matching field in the contact data being sent into the call.
If the names do not match exactly, the agent will not receive the expected value.
Agent worked yesterday but broke today
If the agent was working previously and is now behaving incorrectly, check two things first:- whether changes were saved but not published,
- or whether a change was published without being tested properly.
Debugging workflow
The fastest way to debug logic issues is:- open the call in Call History,
- read the full transcript,
- find the exact moment the agent went wrong,
- compare that moment to the relevant part of the prompt.
