Skip to main content
When configuring an assistant, the LLM can include special XML tags in its responses. These tags are parsed at runtime to control how the assistant speaks, behaves during a call, and interacts with telephony features.

Supported Tags

The following tags are supported in LLM prompt responses:

Spell out

Use <interactly_spellout> when the assistant should read individual characters clearly — for example, phone numbers, confirmation codes, or spelled names.
The above example will be spoken as:
On the other hand, if you use the following example,
it will be spoken as:
Letters are spoken using the NATO phonetic alphabet. Numbers are spoken as word digits (for example, 9 becomes “Nine”).

Silence

Use <silence> when the assistant should not speak. The assistant remains silent for that turn.

DTMF

Use <dtmf> to send touch-tone signals during a call — for example, to navigate an IVR menu.

Hold call

Use <hold_call> to place the caller on hold. You can include an optional message that is spoken before the hold begins, or use a self-closing tag to hold without a message.

Play sound

Use <play_type> together with <play_duration> to play a background sound for a specified number of seconds while allowing the caller to barge in. Supported play_type values:
You can combine <hold_call/> with play tags to hold the call while a sound plays. User can’t barge in during the hold time. This is useful for playing a sound for a specific duration and then putting the call on hold:
In the above example, the assistant put the call on hold for 0.5 seconds (play_duration value) and while on hold, it will play the keyboard typing sound for 0.5 seconds. User can’t barge in during the hold time.

End call

Use <end_call> to end the call after the assistant finishes speaking.

Non-interruptible

Use <nonInterruptible> for playback that must not be interrupted. For example, disclosures, hold flows, or critical tool execution.