Tools & Actions
Tools are how an agent does things. Without tools, an agent can only talk. With tools, it can look up an order, refund a charge, transfer to a human, schedule a meeting, hit your own webhook.
Tool categories
| Category | Examples |
|---|---|
| Built-in actions | transfer_to_human, end_call, search_knowledge, create_ticket, tag_conversation |
| Integration tools | salesforce_lookup_account, genesys_transfer, gmail_send, hubspot_update_deal |
| Custom webhooks | Any HTTP endpoint you own — POST + JSON. |
| Database lookups | Read-only queries against tables you whitelist. |
How a tool call works
- The model decides to call a tool based on the conversation and the tool’s description.
- Omniflow validates arguments against the tool’s JSON schema.
- The tool runs (HTTP call, database query, internal action).
- The result is streamed back to the model, which uses it to keep the conversation moving.
Tools can return structured data, plain text, or a mix. The agent doesn’t need to read the raw JSON — Omniflow injects a short summary by default.
Add a custom webhook tool
Open the agent
Go to Agents → [your agent] → Tools → New tool.
Pick “Custom webhook”
Give it a name (lookup_order), a one-line description (Look up an order by ID), and an HTTP method + URL.
Define the schema
Use JSON Schema to declare arguments — the model uses this to know what to send. Keep it minimal.
{
"type": "object",
"properties": {
"order_id": { "type": "string", "description": "The customer's order ID" }
},
"required": ["order_id"]
}Set auth and timeouts
Most webhooks need an API key — store it in Settings → Secrets and reference it by name. Default timeout is 8 seconds; raise it if your endpoint is slow.
Test the call
Use the Test tab to invoke the tool with a sample argument. You’ll see the request, response, and any errors.
Tool design rules
- One job per tool. Don’t build a
do_anythingtool — split it. - Short, descriptive names. The model picks tools by name and description.
- Return the minimum. Big payloads slow the agent down.
- Fail loud. Return a clear error string the agent can read aloud.
Guardrails
| Guardrail | Why |
|---|---|
| Allowlist of refundable amounts | Prevent the agent from issuing refunds above a threshold without a human. |
| Read-only by default | New webhook tools default to GET; opt in to POST/PUT/DELETE explicitly. |
| Per-tool rate limits | Stop a chatty agent from hammering your API. |
| Per-call audit log | Every tool invocation is logged with arguments, response, and latency. |
Mutating tools (POST/PUT/DELETE) deserve extra scrutiny. Test them in the sandbox, set rate limits, and consider requiring a confirmation turn before the agent calls them.
Open in Omniflow
Related
| If you want to… | Go to |
|---|---|
| Use a built-in CRM tool | CRM integrations |
| Trigger a webhook from a workflow rule | Routing Rules |
| Inspect what the agent called | Activity Logs & Traces |