33 tools

Tools

Actions an AI client can request. Some cost money or remove data, so check each tool's label before you allow it.

create_agent

Changes data

Add a voice agent from a template. Required body: name, isActive, templateId (business, medical, questionnaire, support or blank).

POST /agents

create_agent_preview_session

Changes data

Start a test session so a person can talk to the agent in a browser. An AI client can't join it. Required param: agentId. Optional body.dynamicVariables. Uses real models, so usage is billed.

POST /agents/:agentId/preview-session

update_agent

Changes data

Change an agent's name, active state or template.

PATCH /agents/:id

delete_agent

Destructive

Permanently remove an agent. Ask the user to confirm first.

DELETE /agents/:agentId

save_agent_config

Costs money

Save an agent's whole setup: language, first message, instructions, speech, language and voice models, knowledge base use, webhooks, variables, time zone and outbound calling hours. Each agent runs in one language.

POST /agents/:agentId/config

end_live_call

Costs money

Hang up a call in progress by the room name from list_live_calls, only when the user explicitly requests it. An error means the call may still be running.

POST /calls/live/end

delete_call_log

Costs money

Remove a call record from your logs. It's a soft delete. Ask the user to confirm first.

DELETE /calls/:callId

create_knowledge_sources

Changes data

Add URLs or uploaded files to an agent's knowledge base. Files need an upload URL first, from get_kb_upload_url.

POST /kb

get_kb_upload_url

Changes data

Get a temporary upload link for a knowledge base file. Upload the file, then add it with create_knowledge_sources.

GET /kb/upload-url

update_knowledge_source

Changes data

Change a knowledge source. Saving the change processes it again.

PATCH /kb/:kbId

delete_knowledge_source

Destructive

Remove a source from the knowledge base.

DELETE /kb/:kbId

create_quick_outbound_call

Costs money

Call one number with an agent. This costs money, so ask the user first. Required: agentId, phoneNumber. The call is refused for do-not-call numbers and outside calling hours. In the India region, +91 numbers need recorded consent: only set consentAttested if the person really agreed.

POST /outbound-calls/quick

create_batch_upload_url

Changes data

Get a temporary upload link for a campaign's CSV or XLSX contact file.

GET /outbound-calls/batch-upload-url

create_batch_campaign

Costs money

Start a campaign from an uploaded contact file. This calls many people and costs money, so ask the user first. In the India region, consentSource must say where these contacts agreed to be called.

POST /outbound-calls/batches

cancel_batch_campaign

Costs money

Stop an outbound campaign. Ask the user to confirm first.

POST /outbound-calls/batches/:campaignId/cancel

cancel_outbound_call

Costs money

Cancel an outbound call. This only works while it's still scheduled.

POST /outbound-calls/:outboundId/cancel

retry_outbound_call

Costs money

Call again after a failed or unanswered outbound call. This costs money, and the do-not-call and consent checks apply again.

POST /outbound-calls/:outboundId/retry

create_tool

Costs money

Add an HTTP tool an agent can call during a conversation. Attach it to an agent with attach_tool_to_agent. Keep credentials in secrets.

POST /tools

update_tool

Changes data

Change an HTTP tool's settings. This affects each agent it's attached to.

PATCH /tools/:toolId

delete_tool

Destructive

Remove an HTTP tool. Agents using it lose access to it.

DELETE /tools/:toolId

attach_tool_to_agent

Costs money

Let an agent use an HTTP tool on its calls.

POST /tools/:toolId/attach/:agentId

detach_tool_from_agent

Read only

Stop an agent from using an HTTP tool. The tool itself stays.

DELETE /tools/:toolId/detach/:agentId

create_secret

Changes data

Store a credential for use in tools and webhooks.

POST /secrets

delete_secret

Destructive

Remove a stored secret. Tools and webhooks using it will stop working, so check first.

DELETE /secrets/:secretId

create_agent_widget

Costs money

Create a website voice widget for an agent. Visitors can use it on allowed origins, and their calls are billed to you.

POST /agents/:agentId/widgets

update_agent_widget

Changes data

Change a widget's theme, allowed origins, consent notice or enabled state.

PATCH /widgets/:widgetId

delete_agent_widget

Destructive

Remove a website widget. Sites embedding it will stop working.

DELETE /widgets/:widgetId

connect_mcp_server

Read only

Add a Composio connection. Agents using these connections can't run on the voice engine, and are refused when it's enabled.

POST /mcp/connections

refresh_mcp_connection

Changes data

Update a Composio connection's status and list of tools.

POST /mcp/connections/:mcpConnectionId/refresh

disconnect_mcp_connection

Changes data

Remove a Composio connection. Ask the user to confirm first.

DELETE /mcp/connections/:mcpConnectionId

attach_mcp_connection_to_agent

Changes data

Attach a Composio connection to an agent. The voice engine refuses agents with these connections, so check before using this on a live agent.

POST /mcp/connections/:mcpConnectionId/attach/:agentId

detach_mcp_connection_from_agent

Read only

Remove a Composio connection from an agent. The connection itself stays.

DELETE /mcp/connections/:mcpConnectionId/detach/:agentId

execute_connected_mcp_tool

Read only

Run a tool on a Composio connection. API keys can't use this, so MCP clients will get a permission error.

POST /mcp/connections/:mcpConnectionId/tools/:toolName/execute