Skip to main content
All variables should be clearly defined in a centralized section so the agent has full clarity on what values are available and how they should be used.

Available Variable Examples

Tips for Using Variables

Do not build decision logic directly around raw custom variables (e.g., {{letter_received}} == "Ja"). If a variable is unknown, empty, or 0, the agent has no instruction on how to interpret it and may not know which path to follow. Instead, clearly define what each variable represents in natural language and explicitly instruct the agent what to do in each scenario (e.g., “If the customer has received the letter and has insurance, follow path 6.2.a”).
What not to do:Before proceeding, review the available customer data and choose the appropriate path based on:{{letter_received}} == "Yes" and {{rsv_present}} == "Yes" → Path 6.2{{letter_received}} == "Yes" and {{rsv_present}} == "No" → Path 6.2
What to do:Define all variables:
  • Letter received: {{letter_received}}
  • Legal protection insurance (RSV): {{rsv_present}}
Use definitions of variables in natural language:Letter received == “Yes” and Legal protection insurance (RSV) == “Yes” → Path 6.2Letter received == “Yes” and Legal protection insurance (RSV) == “No” → Path 6.2

Tool Calls

Tool calls send HTTP requests and allow the agent to retrieve or update information during a call for example, fetching data from a meeting in a calendar. In the prompt, you should define when the agent should use a tool call, but not how the tool call itself is executed. The technical setup and configuration of the tool call must be handled separately in the agent settings. Within the system prompt, it is important to clearly instruct the agent under which circumstances each tool should be triggered. This can be done either by using built-in tool calls such as @endCall or @callMeLater, or by defining custom tool calls in advance. Duo’s base prompts handle call endings and caller requests for a pause. You do not need to repeat these rules in Speaking or Thinking. Speaking delegates when the caller asks to end, says goodbye, has no time to continue, or the conversation suggests an ending. Speaking also delegates when it is ready to say goodbye. Thinking checks the full conversation before using @endCall. If the caller still wants an answer or action, it guides Speaking to continue. Examples:

Prompt Examples