This feature is in beta. We encourage you to try it out and provide us with feedback.
Concepts
A tool is a project-level resource. You create it once and attach it to one or more agents, or bundle it in a skill. A tool includes:- Name. Identifies the tool.
- Description. Tells the agent when to call the tool.
- Parameters. Values that the tool needs to run, such as a URL or an order number. For each parameter, you decide whether the agent fills it in or you set it yourself.
How a tool call works
- The agent decides that a tool is needed. It collects the values that the tool needs.
- What happens depends on the tool type. For example, Cognigy sends an HTTP request, routes the conversation to a Flow, or calls a Model Context Protocol (MCP) server.
- The result goes back to the agent as text.
- The agent uses the result to decide what to say or do next.
Tools compared with skills
A tool that you attach only to a skill stays hidden until the agent activates that skill. After that, the tool stays available for the rest of the session. For more information, see Skills.
Tool types
In Agent Builder, you can use the following tool types:System tools
Tools that Cognigy provides: HTTP Request, Knowledge Search, Send Email, and Route to Flow.
Voice tools
Tools that change how an agent behaves on a voice call: Hang up, Transfer call, and Play audio.
MCP tools
Tools that you import from a remote Model Context Protocol (MCP) server.
Limitations and restrictions
Restrictions
- The tool name is required. It must have 1 to 200 characters and can’t contain these characters:
\ / : * ? " < > | ¥. - The tool description is required.
- Tool calls in one turn run one after another, not in parallel.
- HTTP Request tools send the payload as JSON only. Other body formats, such as form data or XML, aren’t supported.
- Send Email tools send plain text only. Markdown and HTML appear in the email as written.
- You can’t create MCP tools directly. Import them from an MCP server.
- Cognigy doesn’t import MCP tools whose schema uses
$ref,$dynamicRef,$recursiveRef,$defs, ordefinitions. Cognigy imports all other tools and shows the reason next to each tool that it can’t import.
Limitations
- A turn has a limit on tool rounds. When the limit is reached, the agent can’t call more tools and must answer.
- You can set the timeout for an MCP server with the API only. The timeout is 1 to 30 seconds. The default value is 12 seconds.
- Cognigy tries to send an email up to 3 times. Other tools aren’t retried.
Working with tools
- GUI
- API
Find your tools
- In your Project, go to Design > Agent and select an agent.
- Open the Tools tab.
- To search, enter a name or a word from the description in the Search tools field.
- To filter, click Filter and select All, System, Voice, or Custom. Each option shows the number of tools.
- To sort, click the Tool column.
- To change the page size, select 10, 20, 30, or 50 rows per page. The default is 10.
Add a tool
- On the Tools tab, click Add Tool.
- In the Add to this agent window, select a tab: System Tools or Voice Tools. The Custom Tools tab isn’t covered here.
- Select a tool. The Create New Tool form opens.
- Enter the Name and the Description. Both are required.
- Configure the parameters. For the settings of each type, see Configure tools. For more information about parameters, see Parameters.
- Click Save. You can save only when the form is valid.
Edit a tool
Open the More options menu of the tool and click Edit.Clone, disable, or delete a tool
Open the More options menu of a tool and select an action:- Clone creates a copy of the tool.
- Disable keeps the tool attached and configured but hides it from the agent. Select Enable to turn it on again. The setting applies to this agent only.
- Delete removes the tool from the project. It also removes the tool from every agent and skill that uses it. You can’t undo this action.
Parameters
Most parameters have a switch with two filling modes:- AI filled. The agent provides the value on every call.
- User defined. You set the value, and the agent doesn’t see it. Use this mode for fixed values and for Connections, so that the model can’t see credentials.
In a User defined value, you can insert a value that the agent provides with the placeholder
<<parameterName>>. For example, if the agent provides the parameter city, the value https://api.example.com/weather/<<city>> becomes https://api.example.com/weather/Paris when the agent provides Paris.
Configure tools
HTTP request
HTTP request
Sends an HTTP request to an external URL and returns the response.
The result contains the
status, statusText, headers, and data of the response. data is parsed JSON, or text if the body isn’t JSON. If the request fails, the agent receives an error that starts with the method and URL.Knowledge search
Knowledge search
Searches the Knowledge Stores of the project for passages that are relevant to a query.
Each result contains the text of the passage, a distance value, and the metadata of the source and the chunk. For more information about knowledge for agents, see Knowledge.
Send email
Send email
Sends an email with a subject and message that the agent provides. You set the recipient, Cc, Bcc, and priority.
The tool is available only if your environment can send email. Cognigy tries to send the email up to 3 times. The result contains the status
sent or failed, the message ID, and the number of attempts. If the email fails, the agent receives only a general error category.Route to flow
Route to flow
Routes the conversation to a Flow of your project. Use it for scripted processes, such as a payment, a form, or an identity check. Routing ends the agent turn, and the agent can’t call other tools in the same turn.
You can also use the tool on voice calls.To see this tool in the Add to this agent window, turn on Enable Route to Flow tool in Manage > Settings > Agent Settings. The setting is off by default.
Voice tools
Voice tools
Voice tools change how the agent behaves during a voice call. They let the agent override the voice defaults mid-call. The defaults themselves live in Voice Studio. The agent doesn’t call them like other tools. They’re available only on the voice channel.
- Hang up. In AllowedReasons, select the reasons that allow the agent to end the call:
caller_said_goodbye,task_complete,caller_declined_further_help, orcannot_help. All four are on by default. Keep at least one reason selected. In Farewell, either the agent fills in the farewell message, or you set a fixed one. - Transfer call. Enter the SipUri of the transfer destination. Without a SIP URI, the agent can’t transfer calls. In TimeoutSeconds, set the timeout in seconds. The default value is 30. In MediaPath, select the media path:
fullMedia(default),partialMedia, ornoMedia. - Play audio. In AudioClips, add at least one named audio clip. Each clip needs a public
httporhttpsaddress. In Intro and Outro, you can add an optional sentence before and after all clips.
MCP tool
MCP tool
An MCP server gives your agents a set of tools. You connect the server once, and then import its tools.
- On the Tools tab, open the MCP Server sub-tab and click Connect a server. If you already have a server, click Connect MCP server.
- Enter the following:
- Server name. Required. For example,
GitHub. - Server URL. Required. It must start with
httporhttpsand can have up to 2048 characters, for example,https://my-mcp-server.com/mcp. - Authentication. Select None, OAuth 2.0, or Custom Header. For the last two, select a Connection.
- Server name. Required. For example,
- Select I trust this server. Cognigy doesn’t verify MCP servers.
- Click Connect server. Cognigy registers the server and opens Edit MCP server.
- In the Discovered tools list, select the tools to import. You can search for tools, and use Select all and Deselect all. Cognigy labels each tool New, Changed, or No longer offered.
- Click Save changes. Cognigy imports the selected tools.
Writing a good tool description
The agent relies on the description to decide whether to call the tool. State what the tool does, when the agent should call it, and what it returns. Also say when the agent shouldn’t use it. For a Knowledge Search tool, name the subject area, for example, appliances instead of everything. If you add more than one tool of the same type, make each description distinct. Vague or overlapping descriptions can cause an agent to call the wrong tool. If two tools on one agent have the same name, the Tools tab shows the Duplicate name badge. Rename one of them so that the agent can tell them apart.Controlling when tools run
You control when the agent can use a tool in the following ways:- Add or delete the tool. The agent can use only the tools that you add to it or to one of its skills.
- Disable the tool. A disabled tool stays attached but is hidden from the agent. This applies to tools that you attach directly and to tools in skills.
- Bundle the tool in a skill. The tool becomes available only after the agent activates the skill.
- Write the description. The description guides the agent on when to call the tool and when not to.
Examples
Check an order status with an HTTP request tool
Check an order status with an HTTP request tool
Reschedule a delivery with an HTTP request tool
Reschedule a delivery with an HTTP request tool
Get Delivery Options is another tool of this example agent. It isn’t a built-in tool.
Answer return questions with a knowledge search tool
Answer return questions with a knowledge search tool
Send a confirmation email with a send email tool
Send a confirmation email with a send email tool