Skip to main content
POST
Create an app action tool

Authorizations

Authorization
string
header
required

API key (fam_..., created under Settings → API Keys) or an OAuth 2.0 access token (fam_at_...). REST operations also require API Access for the credential's workspace. Keys can be restricted to scopes such as assistants:read, calls:write, campaigns:write, automations:read, dashboards:read, dashboards:write, leads:write, segments:write, loop:read, loop:write, phone_numbers:write, sip_trunks:write, knowledge:write, voices:read, billing:read, billing:write, settings:write, platform:read, platform:write; a *:write scope implies the matching *:read. Automation and dashboard endpoints also accept the legacy calls:* scope. Keys without scope restrictions have full access within the workspace's available capabilities.

Body

application/json
connection_id
string<uuid>
required

ID of the connected-app connection from GET /automations/connections.

action
string
required

Action ID from GET /automations/connections/{id}/actions.

Pattern: ^[A-Za-z0-9][A-Za-z0-9_.-]{0,199}$
use_when
string
required

When the assistant should use the tool, for example When the caller asks for a callback.

Required string length: 10 - 1000
version
string

version returned with the action. If the action has changed since, the request fails with 409. Omit it to use the current version.

Required string length: 1 - 200
name
string | null

Tool name the assistant sees. Null or omitted generates one from the app and the action.

Pattern: ^[a-zA-Z][a-zA-Z0-9_-]{0,63}$
description_override
string | null

Replaces the generated tool description the assistant sees. Null uses the generated one.

Maximum string length: 900
fields
object[]

Field settings, matched by path (or by key when path is missing). Fields you leave out keep their suggested setting. Send the fields as they were returned or only the ones you change.

Maximum array length: 300
confirmation
enum<string>

ask_first: before an action changes data, the assistant reads the values back and calls the tool again to run it. In messaging and email the second call runs only after a new customer message. On calls and in web chat it runs when it comes at least 4 seconds after the read-back, whether or not the customer answered. ask_first is not a consent record. none: the action runs at once. Defaults to ask_first for actions that change data; actions that only read never ask.

Available options:
ask_first,
none
result_config
object | null

How much of the app's result the assistant reads. Null uses the defaults.

is_active
boolean
default:true

Whether assistants can use the tool.

assistant_id
string<uuid> | null

Assistant that gets the new tool assigned.

Response

Created. The tool also appears in GET /tools.

data
object
required

An app action tool with its settings.