Trillet AI logo

Phone numbers

Search, buy, bind and configure phone numbers, and bring your own numbers.

Search, buy, bind and configure phone numbers, and bring your own numbers. 8 tools.

trillet_list_phone_numbers

List phone numbers

List the workspace's phone numbers: number, status, provider, bound call flow, recording, office hours, label. Name a number's assignment by callFlow.name, the name the customer sees; agent.name is the flow's inner agent and is often still "New Agent".

Flags: read-only structured output

Parameters

NameTypeRequiredDescription
workspace_idstringnoRun this call in another workspace: its id or its name (see trillet_list_workspaces). Omit to use the default (TRILLET_WORKSPACE_ID, the workspace picked when the connector was approved, or the one set with trillet_switch_workspace).

Structured output

Returned as structuredContent (fields are optional; the same data is in the text result, where it is a bare array):

FieldTypeDescription
phoneNumbersobject[]

trillet_search_available_numbers

Search available numbers

Search purchasable phone numbers. type is required except for AU. Toll-free numbers are not purchasable.

Flags: read-only open-world

Parameters

NameTypeRequiredDescription
countrystringyesISO country, e.g. "US", "AU", "GB"
typestringno"local" | "mobile" | "tollfree" (varies by country)
area_codestringno
containsstringnoDigit pattern the number should contain
limitnumbernoDefault: 10.
workspace_idstringnoRun this call in another workspace: its id or its name (see trillet_list_workspaces). Omit to use the default (TRILLET_WORKSPACE_ID, the workspace picked when the connector was approved, or the one set with trillet_switch_workspace).

trillet_purchase_phone_number

Purchase phone number (COSTS MONEY)

Purchase a phone number found via search. Free-plan allocations complete immediately (201 with mode 'free'); otherwise the response contains a Stripe Checkout URL the user must open to pay. Requires confirm=true after the user explicitly approves the purchase. type required except AU; addressSid required outside US/CA/AU/GB.

Flags: writes destructive open-world billed asks for confirmation

Clients that support MCP elicitation show a confirmation form before this tool runs; declining cancels it with no changes. Other clients rely on their own approval prompt and the confirm argument.

Parameters

NameTypeRequiredDescription
countrystringyes
phone_numberstringyesExact E.164 number from search results
typestringno
address_sidstringno
confirmbooleanyesMust be true. Only after the user explicitly approved.
workspace_idstringnoRun this call in another workspace: its id or its name (see trillet_list_workspaces). Omit to use the default (TRILLET_WORKSPACE_ID, the workspace picked when the connector was approved, or the one set with trillet_switch_workspace).

trillet_bind_phone_number

Bind phone number to agent

Bind a workspace phone number to an agent so calls route to it (sets the number active, provisions SIP trunks for the flow's direction). The agent MUST already have a call flow. Omitted optional fields keep their current values. metadataTags values become {{_metadata.<key>}} in prompts/tools; secretBindings maps alias -> workspace secret NAME (both slug-safe lowercase) enabling per-number {{_secret.<alias>}}.

Flags: writes destructive structured output

Parameters

NameTypeRequiredDescription
agent_idstringyes
phone_number_idstringyes
record_callsbooleanno
recording_publicbooleanno
office_hoursobjectnoPhone-number-level office hours (flat shape with abbreviated day names)
metadata_tagsobject (map)no
secret_bindingsobject (map)noalias -> existing workspace secret name; 400 if a name doesn't exist
labelstringno
transfer_caller_id_mode"from-transferee" | "from-transferor"no
workspace_idstringnoRun this call in another workspace: its id or its name (see trillet_list_workspaces). Omit to use the default (TRILLET_WORKSPACE_ID, the workspace picked when the connector was approved, or the one set with trillet_switch_workspace).

Structured output

Returned as structuredContent (fields are optional; the same data is in the text result):

FieldTypeDescription
boundboolean
phoneNumberstring
agentstring
directionstring

trillet_release_phone_number

Release phone number from agent

Unbind a phone number from an agent (the number stays owned by the workspace, it just stops routing to the agent). Fails if the number is not currently bound to that agent.

Flags: writes destructive asks for confirmation

Clients that support MCP elicitation show a confirmation form before this tool runs; declining cancels it with no changes. Other clients rely on their own approval prompt.

Parameters

NameTypeRequiredDescription
agent_idstringyes
phone_number_idstringyes
workspace_idstringnoRun this call in another workspace: its id or its name (see trillet_list_workspaces). Omit to use the default (TRILLET_WORKSPACE_ID, the workspace picked when the connector was approved, or the one set with trillet_switch_workspace).

trillet_get_phone_number_config

Get phone number config

Fetch a number's routing config: agent, direction, recording, office hours, tags, bindings.

Flags: read-only

Parameters

NameTypeRequiredDescription
phone_number_idstringyes
workspace_idstringnoRun this call in another workspace: its id or its name (see trillet_list_workspaces). Omit to use the default (TRILLET_WORKSPACE_ID, the workspace picked when the connector was approved, or the one set with trillet_switch_workspace).

trillet_update_phone_number_config

Update phone number config

Update a number's routing config in place: agent, max call duration, recording, office hours, caller-id mode on transfers, metadata tags, secret bindings, label. Only the fields you send change. Every secret name in secret_bindings must already exist as a workspace secret (400 otherwise).

Flags: writes destructive

Parameters

NameTypeRequiredDescription
phone_number_idstringyes
agent_idstringno
max_call_durationnumbernoSeconds
recording_enabledbooleanno
office_hoursobjectnoPhone-number-level office hours (flat shape with abbreviated day names)
transfer_caller_id_mode"from-transferee" | "from-transferor"no
metadata_tagsobject (map)no
secret_bindingsobject (map)noalias -> existing workspace secret name
labelstringno
workspace_idstringnoRun this call in another workspace: its id or its name (see trillet_list_workspaces). Omit to use the default (TRILLET_WORKSPACE_ID, the workspace picked when the connector was approved, or the one set with trillet_switch_workspace).

trillet_register_external_number

Register BYO / SIP number

Register an externally-owned number (bring-your-own Twilio number or a SIP trunk from another carrier, e.g. CommsChannel) so Trillet can route calls on it. provider 'twilio' needs {accountSid, authToken}; provider 'sip' needs trunk credentials {address, username, password, sipType, appendPlus}. After registering, bind it to an agent like any other number. GOTCHA: DTMF keypresses are known to be dropped on some CommsChannel trunks.

Flags: writes destructive open-world asks for confirmation

Clients that support MCP elicitation show a confirmation form before this tool runs; declining cancels it with no changes. Other clients rely on their own approval prompt and the confirm argument.

Parameters

NameTypeRequiredDescription
phone_numberstringyesE.164 number being brought over
provider"twilio" | "sip"yes
credentialsobject (map)yesProvider credentials. twilio: {accountSid, authToken}. sip: {address, username, password, sipType, appendPlus}
confirmbooleanyesMust be true. Only set after the user explicitly approved registering this number.
workspace_idstringnoRun this call in another workspace: its id or its name (see trillet_list_workspaces). Omit to use the default (TRILLET_WORKSPACE_ID, the workspace picked when the connector was approved, or the one set with trillet_switch_workspace).