System tools

System tools are built-in tools that can be used by the agent to perform common tasks. They are not editable.

Similar to other tools, when using system tools, provide agent instructions for when to use the tool and provide tool arguments.

customize_response

Generates an agent voice response with granular control over parameters including disabled barge-in and DTMF parameters.

Arguments:

Argument Required/Optional Description Default
content Required The text content of the agent response.
enable_dtmf Optional Whether to enable keyboard input (DTMF). False
dtmf_endpointing_timeout_modes Optional The wait time for users' typing response, choosing from "short", "mid" and "long". "mid"
dtmf_finish_digit Optional The DTMF digit that finishes DTMF collection. For example, "#". Empty string
disable_barge_in Optional Disallow user barge-in when agent is speaking. False

Example instruction for collecting a phone number with DTMF:

make the tool call customize_response(content="Please type your phone number",
enable_dtmf=True, dtmf_endpointing_timeout_modes='short')

Example instruction for collecting a credit card number with DTMF:

make the tool call customize_response(
content="Using your keypad, please enter your 16-digit credit card number, then press the pound key when you are finished.",
enable_dtmf=True,
dtmf_finish_digit='#',
dtmf_endpointing_timeout_modes='mid')

Example instruction for reading terms while allowing barge-in:

make the tool call customize_response(
content="By proceeding, you agree to the terms and condition...",
disable_barge_in=True)

end_session

Ends the session. This tool is used to end the conversation to either escalate to a human agent or end the session if the user does not have any more requests.

If the session is ended because of a problem, and the user had to be escalated, supply a value of True to the session_escalated parameter. Use the params argument to forward data to the end session metadata of the final response.

Arguments:

Argument Required/Optional Description Default
reason Required The reason for ending the session.
session_escalated Optional Whether the session is escalated to a human agent. False
params Optional Other parameters to pass to the end session handler. None

Example instruction for finishing the conversation:

If the user has no more questions execute the tool end_session(reason="success")

Example instruction for escalating when the user wants a live agent:

If the user wants to talk to a human, execute the tool
end_session(reason="escalate_to_human", session_escalated=True)

Example instruction for checking the user input language:

If the user speaks a language that is not English or Spanish, escalate by
calling: end_session(
reason='Encountered an unsupported language, escalating to a human agent.',
session_escalated=true).