#Give an agent tools
An agent can call flows, adapter actions, MCP servers, its knowledge vaults and its own tasks; each tool reaches the model with a name, a description and the fields it expects.
#Kinds of tool
flowchart LR M["The model"] --> F["Flow<br/>a BPMN tool — the agent<br/>pauses until it has run"] M --> A["Adapter action<br/>a call to one of your systems"] M --> P["MCP server<br/>its tools"] M --> K["Knowledge vault<br/>read, and write if allowed"] M --> T["Own task<br/>task_<name> — pauses too"]
| Kind | Added on | Runs |
|---|---|---|
| Flow | Tools tab → Add tool → Model a BPMN flow | As a process of its own; the agent waits for it |
| Adapter action | Tools → Adapter action — System, Adapter, Actions | Directly, as a call to the system |
| MCP server | Tools → MCP server | The server's tools |
| Knowledge vault | Knowledge tab — see knowledge vaults | Read tools; write tools only for a vault set to read & write |
| Own task | Tasks tab — see its own tasks | As a run of that task; the agent waits for it |
#What the model sees
For every tool the model gets a name, a description and the fields it has to fill in:
- A flow: the flow's name; the description of its start event — this is what the agent learns about when to use it; and the fields of the start event's input schema. Fields you preset in the flow are left out, and the preset values are used, whatever the model sends.
- An adapter action:
<adapter>_<action>, the action's description, and its parameters and request-body fields. - An MCP tool: what the server says about it.
Write the descriptions for the model: what the tool does, and when to use it.
⚠️ Two adapter actions whose names come out the same replace each other without a warning.
#Add an MCP server
In the dialog, give a Name, the URL — such as https://mcp.example.com/mcp — and the
Transport (HTTP, recommended, or SSE), then how to log in: None, Bearer Token,
API Key or Basic Auth with a credential of a system assigned to the agent, or OAuth.
Test & select tools connects and lets you choose which tools the agent may use.
Turn an MCP server off with its switch to keep it configured without offering it: the agent does not connect to it and does not see its tools until you turn it on again.
⚠️ An OAuth server is connected without a login when the agent runs.
⚠️ A server that cannot be reached, or refuses the login, is silently left out of the run.
#When a tool fails
The model is told what went wrong and carries on — it can try again, try something else, or say it could not finish:
- an adapter action returns the error;
- a flow or task that fails returns the error and what it had produced.
When the model calls several flows or tasks at once, only the first runs; the others are reported back as not executed.
#Limits
- ❌ No approval step: an agent calls its tools without asking anyone.
- ⚠️ If a process retries a failed agent step, the agent's calls to your systems are made again — give agents actions that can safely be repeated.
- An adapter action waits as long as its adapter's timeout, 30 seconds unless set; a whole agent step in a process at most 5 minutes.
- A task may restrict which tools it uses (Restrict on the Tasks tab). ⚠️ In a chat every tool is available.
