Voice agents on the Rounded studio can leverage external tools and APIs to perform specific actions, improving efficiency and user experience. It’s essential to clearly specify when and how these tools should be invoked, ensuring seamless integration into conversations.
Rounded offers predefined tools:
Clearly indicate in your prompts when these tools should be used. For instance:
“If the user asks to speak to a manager, invoke the ‘Transfer Call’ tool.”
“Once all information is collected, invoke the ‘Hang Up’ tool.”
“If you are interacting with an IVR system, you can use press keys, and wait tools to navigate the IVR properly.”
This feature allows builders to configure call transfers based on specific time slots, defined through a JSON variable. The agent will refer to this file to determine when to transfer the call — or, if configured, hang up outside of transfer hours.
To create the JSON Variable, follow these steps:
Go to the Variables section:
Add the variable to the Call Context:
dynamic_variables_values
parameter if the call is started using Rounded’s APIThe variable content must respect the following JSON structure to be correctly interpreted by the agent.
Make sure the JSON follows this exact structure, with all times in UTC:
Important: If the JSON is not properly formatted or not injected, the agent will assume it should transfer the call at all times.
Add the “transfer call” tool:
Enable “set transfer hours”:
(Optional) Hang up outside of transfer hours:
For more complex tasks, you can create custom functions that allow the agent to interact with APIs, process information, and seamlessly integrate the results into the conversation. Rounded’s platform interprets API responses, enabling the agent to deliver clear, human-friendly outputs without extensive scripting for all outcomes.
Start by providing a name to your tool. It should describe the operations made by the tool, so it’s more natural for the agent to call it at the appropriate time. For instance: get_availabilities
, book_appointment
.
Provide a description of the tool to the agent. For instance, the tool get_availabilities
allows you to retrieve the medical practice availabilities.
A sentence that is said by the agent each time it’s calling the tool. It helps decrease the perceived latency linked to the use of the tool.
These are the parameters that need to be filled by the agent to call the tool. A tool parameter can be optional. Adding a description to the parameter allows the agent to have more context about the information to provide. These values will be used in the API Call settings described in the next section.
instructions
field at the root, only this field will be provided to the agent as a tool return. This helps the agent focus and avoids unnecessary noise in the conversation. This field cannot be mapped for the moment.agent_message
field at the root, the agent will directly say the content of this field. This field cannot be mapped for the moment.Ensure that your webhook endpoint is secure and can handle the expected load of incoming events to prevent any data loss or service interruptions.