Reference
Limits and troubleshooting
Know what voice agents cannot do today, and fix the problems that come up most.
Knowing these up front saves you designing around a capability that is not there, or debugging something with a one-line answer.
Not supported today
| Limit | What to do instead |
|---|---|
| A voice agent cannot send an SMS mid-call on its own. Texting has its own consent and registration rules, so it is not a tool the agent can call by itself. | Have the agent confirm by voice and record what happened, then send the message from your own systems. See Send SMS. |
Caller ID does not look people up. {{ caller_id }} is always there, but turning a number into a customer is your lookup. | Add a Call an API step against your CRM with the number as input. See Tools. |
| Post-call summaries are sampled. Transcripts and the action timeline are kept for every call; automatic summaries and topic tags run on a sample. | Do not build a workflow that assumes every call has a summary. |
| No cross-call topic analytics yet. You can read any single call in full; "what did people call about this week?" is not built. | Read calls under Conversations, or export the data. |
Common problems
| Problem | Fix |
|---|---|
| The agent speaks a variable as an empty gap | The variable was never captured. Run a dry run: captures appear inline, so you see which step failed. Check the spelling matches exactly. See Variables. |
| It asks the same question twice | It did not hear an answer it could use, or treated a pause as the end of the caller's turn. Try Patient caller in Voice and turn-taking. |
| It talks over the caller | The same setting, the other way: it ends the caller's turn too eagerly. |
| A transfer did not connect | Check the destination is E.164 (+14155550100) and someone answers it. Browser and Playground callers cannot be transferred: test from a phone. See Transfers. |
| A proper noun comes out wrong | Speech-to-text guesses at unusual names. Confirm important values back to the caller. |
| An SDK agent shows Offline | Its worker stopped or lost its connection: an agent is online only while something runs it. See Voice agent SDK. |
| You see two copies of an agent | An agent is identified by name and environment. A worker started in a different environment than the one it was registered in creates a second row. |
| Your changes are not live | Saving keeps a draft. Publish, then go live: the dry run uses the last saved draft, which is why it can differ from what callers hear. |
Start with the call itself
Open the call under Dashboard → Conversations. The transcript shows what the agent did between turns, with failures in red. Most questions are answered by reading it top to bottom before you look at logs.