atmon docs

REFERENCE/TOOLKITS/TWILIO.MD

Twilio

Text messages and calls. Send and read messages, place and control calls, manage conferences and recordings, and buy numbers.

PropertyValue
Slugtwilio
Definition version0.2.0
Base URLhttps://api.twilio.com/2010-04-01
Auth schemesapi_key
Action tools34
By class16 read, 9 write, 9 destructive
Triggers0
Provider rate limitnot declared, so outbound calls are unpaced

Measured routing accuracy

80 golden cases replayed through the router over the whole index: measured over corpus ea4f12ad2948 (65 toolkits, 2283 tools indexed and 13 declared uncallable), 34 cases written by hand and 46 cases from the paraphrase pass. A case counts as top-1 when its gold tool ranked first and top-8 when it reached the slate at all.

MeasureCasesShare
top-145/8056.2%
top-860/8075.0%

The sweep is offline: the reranker is a deterministic identity fake that returns candidates in the order retrieval produced them, so top-1 measures retrieval order rather than a reranked slate. just eval-live measures the same cases through the live reranker.

Authentication

Connect an entity with ConnectionsService.InitiateConnection, naming this toolkit's slug. Credentials stay in the connections vault; callers hold connected-account ids only.

api_key

PropertyValue
Placementheader
NameAuthorization
Rendered asBasic {key}

Submit the key with ConnectionsService rather than putting it in a request; it is sealed at rest and never returned.

Tools

34 action tools. The catalog-wide slug is twilio.<tool>, which is what search_tools returns and call_tool takes.

twilio.send_message

Send a text message to a phone number, as SMS or, with a media url attached, MMS. Use when the user wants to text, message, or notify someone by SMS, or send a picture or file to a phone number. Requires the Twilio number to send from and the recipient's number.

Class write (writes, no confirmation needed). No scopes beyond the connection's defaults. Calls POST /Accounts/{{params.account_sid}}/Messages.json.

Arguments:

ArgumentTypeRequiredNotes
account_sidstringyesTwilio account SID the number belongs to, e.g. "ACxxxx".
bodystringyesThe message text.
fromstringyesTwilio phone number to send from, in E.164 form, e.g. "+15015551234".
media_urlarray of stringnoOptional URLs of images or files to attach as MMS.
status_callbackstringnoOptional URL Twilio posts delivery status updates to.
tostringyesRecipient's phone number in E.164 form, e.g. "+15558675310".

Result fields (the payload is trimmed to these before it reaches the model):

FieldTypeNotes
account_sidstring
bodystring
date_createdstring
directionstring
fromstring
num_mediastring
pricestring
price_unitstring
sidstring
statusstring
tostring

Also retrieved by: "text this customer that their order shipped", "shoot someone a quick sms", "notify a phone number by text", "send a picture to someone's phone", "fire off a text reminder", "ping a customer with an sms alert".

twilio.get_message

Get one text message's delivery status, body, and cost by its message id. Use when the user asks about a specific text they sent or received. For browsing or searching many messages, use list_messages.

Class read (reads only). No scopes beyond the connection's defaults. Calls GET /Accounts/{{params.account_sid}}/Messages/{{params.message_sid}}.json.

Arguments:

ArgumentTypeRequiredNotes
account_sidstringyesTwilio account SID the message belongs to.
message_sidstringyesMessage SID, e.g. "SMxxxx".

Result fields (the payload is trimmed to these before it reaches the model):

FieldTypeNotes
bodystring
date_createdstring
date_sentstring
directionstring
error_codestring
error_messagestring
fromstring
num_mediastring
pricestring
price_unitstring
sidstring
statusstring
tostring

Also retrieved by: "did that text actually go through", "check the delivery status of a specific text", "what happened to the sms I sent this morning", "pull up details on one particular text".

twilio.list_messages

List text messages sent or received on this account, optionally filtered by recipient, sender, or date. Use when the user wants message history, recent texts, or to find a conversation with someone.

Class read (reads only). No scopes beyond the connection's defaults. Calls GET /Accounts/{{params.account_sid}}/Messages.json.

Arguments:

ArgumentTypeRequiredNotes
account_sidstringyesTwilio account SID to list messages for.
date_sentstringnoOptional filter, messages sent on this date (YYYY-MM-DD).
fromstringnoOptional filter, only messages sent from this number.
page_sizeintegernoOptional max number of messages to return.
tostringnoOptional filter, only messages sent to this number.

Result fields (the payload is trimmed to these before it reaches the model):

FieldTypeNotes
messagesarray of object
messages[].bodystring
messages[].date_sentstring
messages[].directionstring
messages[].fromstring
messages[].num_mediastring
messages[].sidstring
messages[].statusstring
messages[].tostring

Also retrieved by: "show me our recent sms history", "find every text we've exchanged with a customer", "what have we texted this number lately", "search past conversations by phone number".

twilio.redact_message

Erase the text body of a past message while keeping its delivery record. Use when the user wants to redact, scrub, or clear the content of a message for compliance, without deleting the message entirely. To remove the record itself, use delete_message.

Class write (writes, no confirmation needed). No scopes beyond the connection's defaults. Calls POST /Accounts/{{params.account_sid}}/Messages/{{params.message_sid}}.json.

Arguments:

ArgumentTypeRequiredNotes
account_sidstringyesTwilio account SID the message belongs to.
message_sidstringyesMessage SID to redact.

Result fields (the payload is trimmed to these before it reaches the model):

FieldTypeNotes
bodystring
date_updatedstring
sidstring
statusstring

Also retrieved by: "scrub the content out of an old text for compliance", "clear the wording on a message but keep the record", "blank out what a text said, don't delete it", "wipe the sensitive text but keep the audit trail".

twilio.delete_message

Permanently delete a text message's record from the account. Use when the user wants to remove, wipe, or erase a message entirely, not just clear its text. Irreversible once deleted.

Class destructive (held by the mutation gate until the call's own arguments carry "confirm": true). No scopes beyond the connection's defaults. Calls DELETE /Accounts/{{params.account_sid}}/Messages/{{params.message_sid}}.json.

Arguments:

ArgumentTypeRequiredNotes
account_sidstringyesTwilio account SID the message belongs to.
message_sidstringyesMessage SID to delete.

Result fields (the payload is trimmed to these before it reaches the model):

FieldTypeNotes
deletedboolean

Also retrieved by: "get rid of a text entirely", "wipe an sms out of our records for good", "erase a message record completely", "remove that text from the account permanently".

twilio.list_message_media

List the media attachments, such as photos or files, on an MMS message. Use when the user asks what pictures, images, or files were sent or received in a text message.

Class read (reads only). No scopes beyond the connection's defaults. Calls GET /Accounts/{{params.account_sid}}/Messages/{{params.message_sid}}/Media.json.

Arguments:

ArgumentTypeRequiredNotes
account_sidstringyesTwilio account SID the message belongs to.
message_sidstringyesMessage SID whose attachments to list.

Result fields (the payload is trimmed to these before it reaches the model):

FieldTypeNotes
mediaarray of object
media[].content_typestring
media[].sidstring
media[].uristring

Also retrieved by: "what pictures came in on that text", "show me the attachments on an mms", "see what files were sent in a message", "list photos attached to a text".

twilio.delete_message_media

Permanently delete one media attachment from an MMS message. Use when the user wants to remove, erase, or purge a specific photo or file sent in a text, without deleting the whole message. Irreversible.

Class destructive (held by the mutation gate until the call's own arguments carry "confirm": true). No scopes beyond the connection's defaults. Calls DELETE /Accounts/{{params.account_sid}}/Messages/{{params.message_sid}}/Media/{{params.media_sid}}.json.

Arguments:

ArgumentTypeRequiredNotes
account_sidstringyesTwilio account SID the message belongs to.
media_sidstringyesMedia SID to delete, e.g. "MExxxx".
message_sidstringyesMessage SID the attachment belongs to.

Result fields (the payload is trimmed to these before it reaches the model):

FieldTypeNotes
deletedboolean

Also retrieved by: "remove one picture from that mms", "erase a specific attachment from a text", "get rid of one file sent in a message".

twilio.create_call

Place an outbound phone call and connect it to instructions served from a url. Use when the user wants to call, dial, ring, or phone someone programmatically. Requires the number to call, the Twilio number to call from, and a url serving the call's instructions.

Class write (writes, no confirmation needed). No scopes beyond the connection's defaults. Calls POST /Accounts/{{params.account_sid}}/Calls.json.

Arguments:

ArgumentTypeRequiredNotes
account_sidstringyesTwilio account SID the call is placed under.
fromstringyesTwilio phone number to call from, in E.164 form.
recordbooleannoOptional, whether to record the call.
status_callbackstringnoOptional URL Twilio posts call status changes to.
timeoutintegernoOptional seconds to let the call ring before giving up.
tostringyesPhone number to call, in E.164 form.
urlstringyesURL that returns the TwiML instructions for the call.

Result fields (the payload is trimmed to these before it reaches the model):

FieldTypeNotes
date_createdstring
directionstring
fromstring
pricestring
price_unitstring
sidstring
statusstring
tostring

Also retrieved by: "dial this customer right now", "place an outbound call to a number", "ring someone programmatically", "phone a contact and play them a script", "connect an automated call to a lead".

twilio.get_call

Get one phone call's status, duration, and cost by its call id. Use when the user asks about a specific call's outcome. For browsing recent calls, use list_calls.

Class read (reads only). No scopes beyond the connection's defaults. Calls GET /Accounts/{{params.account_sid}}/Calls/{{params.call_sid}}.json.

Arguments:

ArgumentTypeRequiredNotes
account_sidstringyesTwilio account SID the call belongs to.
call_sidstringyesCall SID, e.g. "CAxxxx".

Result fields (the payload is trimmed to these before it reaches the model):

FieldTypeNotes
directionstring
durationstring
end_timestring
fromstring
pricestring
price_unitstring
sidstring
start_timestring
statusstring
tostring

Also retrieved by: "how long did that phone call last", "check whether a call connected or failed", "look up details on one specific call".

twilio.list_calls

List phone calls made or received on this account, optionally filtered by number, status, or start date. Use when the user wants call history or recent call activity.

Class read (reads only). No scopes beyond the connection's defaults. Calls GET /Accounts/{{params.account_sid}}/Calls.json.

Arguments:

ArgumentTypeRequiredNotes
account_sidstringyesTwilio account SID to list calls for.
fromstringnoOptional filter, only calls from this number.
page_sizeintegernoOptional max number of calls to return.
statusstring, one of queued, ringing, in-progress, completed, busy, failed, no-answer, cancelednoOptional filter by call status.
tostringnoOptional filter, only calls to this number.

Result fields (the payload is trimmed to these before it reaches the model):

FieldTypeNotes
callsarray of object
calls[].directionstring
calls[].durationstring
calls[].fromstring
calls[].sidstring
calls[].start_timestring
calls[].statusstring
calls[].tostring

Also retrieved by: "show recent call activity on this line", "what calls came in yesterday", "pull up our calling history", "find every call to a certain number".

twilio.redirect_call

Redirect a call already in progress to new instructions, changing what happens next on the call. Use when the user wants to reroute, transfer, or change the flow of a live call without ending it. To hang up entirely, use end_call.

Class write (writes, no confirmation needed). No scopes beyond the connection's defaults. Calls POST /Accounts/{{params.account_sid}}/Calls/{{params.call_sid}}.json.

Arguments:

ArgumentTypeRequiredNotes
account_sidstringyesTwilio account SID the call belongs to.
call_sidstringyesCall SID to redirect.
urlstringyesURL returning the new TwiML instructions.

Result fields (the payload is trimmed to these before it reaches the model):

FieldTypeNotes
sidstring
statusstring

Also retrieved by: "send a live call to different instructions", "reroute an ongoing call somewhere else", "transfer a call in progress to a new flow", "change what happens next on an active call".

twilio.end_call

Hang up a call that is currently ringing or in progress. Use when the user wants to end, hang up, stop, or disconnect a live call right now. Does not delete the call's record; use delete_call_record for that.

Class destructive (held by the mutation gate until the call's own arguments carry "confirm": true). No scopes beyond the connection's defaults. Calls POST /Accounts/{{params.account_sid}}/Calls/{{params.call_sid}}.json.

Arguments:

ArgumentTypeRequiredNotes
account_sidstringyesTwilio account SID the call belongs to.
call_sidstringyesCall SID to hang up.

Result fields (the payload is trimmed to these before it reaches the model):

FieldTypeNotes
sidstring
statusstring

Also retrieved by: "hang up on this call right now", "cut off a call that's in progress", "disconnect the person currently on the line", "stop an ongoing phone call immediately".

twilio.delete_call_record

Permanently delete a completed call's record from the account, including its detail and cost history. Use when the user wants to remove or purge a call record entirely, not stop a live call. Irreversible.

Class destructive (held by the mutation gate until the call's own arguments carry "confirm": true). No scopes beyond the connection's defaults. Calls DELETE /Accounts/{{params.account_sid}}/Calls/{{params.call_sid}}.json.

Arguments:

ArgumentTypeRequiredNotes
account_sidstringyesTwilio account SID the call belongs to.
call_sidstringyesCall SID to delete.

Result fields (the payload is trimmed to these before it reaches the model):

FieldTypeNotes
deletedboolean

Also retrieved by: "purge the history of a completed call", "wipe a call's record out of the account", "remove the log of a past call entirely".

twilio.list_recordings

List call recordings on this account, optionally filtered to one call. Use when the user wants to find, browse, or review recorded calls.

Class read (reads only). No scopes beyond the connection's defaults. Calls GET /Accounts/{{params.account_sid}}/Recordings.json.

Arguments:

ArgumentTypeRequiredNotes
account_sidstringyesTwilio account SID to list recordings for.
call_sidstringnoOptional filter, only recordings from this call.
page_sizeintegernoOptional max number of recordings to return.

Result fields (the payload is trimmed to these before it reaches the model):

FieldTypeNotes
recordingsarray of object
recordings[].call_sidstring
recordings[].channelsinteger
recordings[].date_createdstring
recordings[].durationstring
recordings[].sidstring
recordings[].statusstring

Also retrieved by: "show me recorded calls for this line", "find the audio recording of a call", "browse past call recordings".

twilio.get_recording

Get one call recording's duration, status, and playback details by its recording id. Use when the user names a specific recording. For finding recordings, use list_recordings.

Class read (reads only). No scopes beyond the connection's defaults. Calls GET /Accounts/{{params.account_sid}}/Recordings/{{params.recording_sid}}.json.

Arguments:

ArgumentTypeRequiredNotes
account_sidstringyesTwilio account SID the recording belongs to.
recording_sidstringyesRecording SID, e.g. "RExxxx".

Result fields (the payload is trimmed to these before it reaches the model):

FieldTypeNotes
call_sidstring
channelsinteger
conference_sidstring
date_createdstring
durationstring
sidstring
statusstring
uristring

Also retrieved by: "pull up one specific recorded call", "check how long a recording is", "get playback details for a saved call".

twilio.delete_recording

Permanently delete a call recording, including its audio file. Use when the user wants to remove, erase, or purge a recorded call. Irreversible.

Class destructive (held by the mutation gate until the call's own arguments carry "confirm": true). No scopes beyond the connection's defaults. Calls DELETE /Accounts/{{params.account_sid}}/Recordings/{{params.recording_sid}}.json.

Arguments:

ArgumentTypeRequiredNotes
account_sidstringyesTwilio account SID the recording belongs to.
recording_sidstringyesRecording SID to delete.

Result fields (the payload is trimmed to these before it reaches the model):

FieldTypeNotes
deletedboolean

Also retrieved by: "erase a recorded call's audio for good", "get rid of a saved call recording", "purge one recording from the account".

twilio.list_conferences

List conference calls on this account, optionally filtered by status or name. Use when the user wants to find an active or past conference call.

Class read (reads only). No scopes beyond the connection's defaults. Calls GET /Accounts/{{params.account_sid}}/Conferences.json.

Arguments:

ArgumentTypeRequiredNotes
account_sidstringyesTwilio account SID to list conferences for.
friendly_namestringnoOptional filter by the conference's friendly name.
page_sizeintegernoOptional max number of conferences to return.
statusstring, one of init, in-progress, completednoOptional filter by conference status.

Result fields (the payload is trimmed to these before it reaches the model):

FieldTypeNotes
conferencesarray of object
conferences[].date_createdstring
conferences[].friendly_namestring
conferences[].regionstring
conferences[].sidstring
conferences[].statusstring

Also retrieved by: "find an active conference call", "show me past conference calls", "which conference bridges are running right now".

twilio.get_conference

Get one conference call's status and details by its conference id. Use when the user names a specific conference. For finding one, use list_conferences.

Class read (reads only). No scopes beyond the connection's defaults. Calls GET /Accounts/{{params.account_sid}}/Conferences/{{params.conference_sid}}.json.

Arguments:

ArgumentTypeRequiredNotes
account_sidstringyesTwilio account SID the conference belongs to.
conference_sidstringyesConference SID, e.g. "CFxxxx".

Result fields (the payload is trimmed to these before it reaches the model):

FieldTypeNotes
date_createdstring
friendly_namestring
regionstring
sidstring
statusstring

Also retrieved by: "check the status of a specific conference call", "look up details on one conference bridge", "what's happening on this particular call bridge".

twilio.end_conference

End a conference call in progress for every participant on it. Use when the user wants to close, end, or terminate an active conference call right now. Irreversible for that call.

Class destructive (held by the mutation gate until the call's own arguments carry "confirm": true). No scopes beyond the connection's defaults. Calls POST /Accounts/{{params.account_sid}}/Conferences/{{params.conference_sid}}.json.

Arguments:

ArgumentTypeRequiredNotes
account_sidstringyesTwilio account SID the conference belongs to.
conference_sidstringyesConference SID to end.

Result fields (the payload is trimmed to these before it reaches the model):

FieldTypeNotes
sidstring
statusstring

Also retrieved by: "shut down a conference call for everyone", "terminate an active conference bridge", "close out a call with several people on it".

twilio.list_conference_participants

List who is currently on a conference call. Use when the user asks who's on the call, how many people joined, or wants to check hold or mute state for a conference.

Class read (reads only). No scopes beyond the connection's defaults. Calls GET /Accounts/{{params.account_sid}}/Conferences/{{params.conference_sid}}/Participants.json.

Arguments:

ArgumentTypeRequiredNotes
account_sidstringyesTwilio account SID the conference belongs to.
conference_sidstringyesConference SID to list participants for.

Result fields (the payload is trimmed to these before it reaches the model):

FieldTypeNotes
participantsarray of object
participants[].call_sidstring
participants[].holdboolean
participants[].labelstring
participants[].mutedboolean
participants[].statusstring

Also retrieved by: "who's currently on this conference call", "how many people joined the bridge", "check who's muted or on hold in the conference".

twilio.add_conference_participant

Dial a phone number into a live conference call. Use when the user wants to add, invite, loop in, or bring someone into an ongoing conference. Requires the conference id, the number to call, and the Twilio number to call from.

Class write (writes, no confirmation needed). No scopes beyond the connection's defaults. Calls POST /Accounts/{{params.account_sid}}/Conferences/{{params.conference_sid}}/Participants.json.

Arguments:

ArgumentTypeRequiredNotes
account_sidstringyesTwilio account SID the conference belongs to.
conference_sidstringyesConference SID to dial the participant into.
fromstringyesTwilio phone number to call from, in E.164 form.
mutedbooleannoOptional, whether to join this participant muted.
start_conference_on_enterbooleannoOptional, whether the conference starts once this participant joins.
tostringyesPhone number to dial into the conference, in E.164 form.

Result fields (the payload is trimmed to these before it reaches the model):

FieldTypeNotes
call_sidstring
holdboolean
mutedboolean
statusstring

Also retrieved by: "dial someone into an ongoing conference", "loop another person into the call bridge", "invite a number onto a live conference", "bring a new caller into the meeting".

twilio.update_conference_participant

Mute, unmute, hold, or resume one participant already on a conference call. Use when the user wants to silence, mute, put on hold, or bring back a specific person on the call, without removing them. To remove someone, use remove_conference_participant.

Class write (writes, no confirmation needed). No scopes beyond the connection's defaults. Calls POST /Accounts/{{params.account_sid}}/Conferences/{{params.conference_sid}}/Participants/{{params.call_sid}}.json.

Arguments:

ArgumentTypeRequiredNotes
account_sidstringyesTwilio account SID the conference belongs to.
call_sidstringyesCall SID identifying the participant to update.
conference_sidstringyesConference SID the participant is on.
holdbooleannoOptional, set true to hold or false to resume.
mutedbooleannoOptional, set true to mute or false to unmute.

Result fields (the payload is trimmed to these before it reaches the model):

FieldTypeNotes
call_sidstring
holdboolean
mutedboolean
statusstring

Also retrieved by: "mute one person on the conference call", "put a specific caller on hold", "unmute someone on the bridge", "bring a caller back off hold".

twilio.remove_conference_participant

Remove one participant from a live conference call, disconnecting only them. Use when the user wants to kick, drop, remove, or disconnect a specific person from a conference without ending the call for everyone else.

Class destructive (held by the mutation gate until the call's own arguments carry "confirm": true). No scopes beyond the connection's defaults. Calls DELETE /Accounts/{{params.account_sid}}/Conferences/{{params.conference_sid}}/Participants/{{params.call_sid}}.json.

Arguments:

ArgumentTypeRequiredNotes
account_sidstringyesTwilio account SID the conference belongs to.
call_sidstringyesCall SID identifying the participant to remove.
conference_sidstringyesConference SID the participant is on.

Result fields (the payload is trimmed to these before it reaches the model):

FieldTypeNotes
deletedboolean

Also retrieved by: "kick someone off the conference call", "drop a specific caller from the bridge", "disconnect just one person, leave the rest on".

twilio.search_available_phone_numbers

Search for phone numbers available to purchase in a country, filtered by number type. Use when the user wants to find, browse, or shop for a new phone number, local, toll-free, or mobile. Does not buy anything; use purchase_phone_number for that.

Class read (reads only). No scopes beyond the connection's defaults. Calls GET /Accounts/{{params.account_sid}}/AvailablePhoneNumbers/{{params.iso_country}}/{{params.number_type}}.json.

Arguments:

ArgumentTypeRequiredNotes
account_sidstringyesTwilio account SID to search under.
area_codestringnoOptional area code to narrow the search.
containsstringnoOptional digit pattern the number must contain.
iso_countrystringyesTwo-letter country code to search, e.g. "US".
number_typestring, one of Local, TollFree, MobileyesKind of number to search for.

Result fields (the payload is trimmed to these before it reaches the model):

FieldTypeNotes
numbersarray of object
numbers[].friendly_namestring
numbers[].iso_countrystring
numbers[].localitystring
numbers[].phone_numberstring
numbers[].regionstring

Also retrieved by: "find a new number to buy in a certain area code", "shop for a toll-free number", "browse available local numbers in a country", "look for a phone number containing certain digits".

twilio.purchase_phone_number

Buy a phone number for this account so it can send, receive, or answer calls and texts. Use when the user wants to purchase, acquire, or get a new phone number. Find candidates first with search_available_phone_numbers.

Class write (writes, no confirmation needed). No scopes beyond the connection's defaults. Calls POST /Accounts/{{params.account_sid}}/IncomingPhoneNumbers.json.

Arguments:

ArgumentTypeRequiredNotes
account_sidstringyesTwilio account SID to buy the number under.
friendly_namestringnoOptional label for the number.
phone_numberstringyesThe phone number to purchase, in E.164 form.
sms_urlstringnoOptional URL to handle incoming texts to this number.
voice_urlstringnoOptional URL to handle incoming calls to this number.

Result fields (the payload is trimmed to these before it reaches the model):

FieldTypeNotes
date_createdstring
friendly_namestring
phone_numberstring
sidstring

Also retrieved by: "buy this phone number for the account", "acquire a new line we can text from", "get us a fresh number to call from".

twilio.list_incoming_phone_numbers

List phone numbers this account already owns. Use when the user wants to see which numbers are provisioned, active, or available to send from.

Class read (reads only). No scopes beyond the connection's defaults. Calls GET /Accounts/{{params.account_sid}}/IncomingPhoneNumbers.json.

Arguments:

ArgumentTypeRequiredNotes
account_sidstringyesTwilio account SID to list owned numbers for.
friendly_namestringnoOptional filter by the number's label.
page_sizeintegernoOptional max number of numbers to return.
phone_numberstringnoOptional filter, matches a specific owned number.

Result fields (the payload is trimmed to these before it reaches the model):

FieldTypeNotes
numbersarray of object
numbers[].friendly_namestring
numbers[].phone_numberstring
numbers[].sidstring

Also retrieved by: "what numbers do we already own", "show every phone number provisioned on this account", "see which lines are active right now".

twilio.get_incoming_phone_number

Get one owned phone number's configuration, including its webhook urls and capabilities, by its number id. Use when the user asks how a specific number is set up.

Class read (reads only). No scopes beyond the connection's defaults. Calls GET /Accounts/{{params.account_sid}}/IncomingPhoneNumbers/{{params.phone_number_sid}}.json.

Arguments:

ArgumentTypeRequiredNotes
account_sidstringyesTwilio account SID the number belongs to.
phone_number_sidstringyesPhone number SID, e.g. "PNxxxx".

Result fields (the payload is trimmed to these before it reaches the model):

FieldTypeNotes
friendly_namestring
phone_numberstring
sidstring
sms_urlstring
voice_urlstring

Also retrieved by: "check how a specific number is configured", "look up the webhook setup for one of our lines", "what does this particular line's configuration look like".

twilio.update_incoming_phone_number

Change an owned phone number's settings, such as its voice or sms webhook url, or its label. Use when the user wants to reconfigure, rename, or repoint where calls or texts to a number are handled.

Class write (writes, no confirmation needed). No scopes beyond the connection's defaults. Calls POST /Accounts/{{params.account_sid}}/IncomingPhoneNumbers/{{params.phone_number_sid}}.json.

Arguments:

ArgumentTypeRequiredNotes
account_sidstringyesTwilio account SID the number belongs to.
friendly_namestringnoOptional new label for the number.
phone_number_sidstringyesPhone number SID to reconfigure.
sms_urlstringnoOptional new URL to handle incoming texts.
voice_urlstringnoOptional new URL to handle incoming calls.

Result fields (the payload is trimmed to these before it reaches the model):

FieldTypeNotes
friendly_namestring
phone_numberstring
sidstring
sms_urlstring
voice_urlstring

Also retrieved by: "repoint where texts to this number go", "change the webhook url for incoming calls", "rename one of our phone numbers", "reconfigure how a number handles incoming sms".

twilio.release_phone_number

Release an owned phone number back to Twilio, permanently giving it up. Use when the user wants to remove, cancel, or stop paying for a number they no longer need. Irreversible; the number cannot be reclaimed once released.

Class destructive (held by the mutation gate until the call's own arguments carry "confirm": true). No scopes beyond the connection's defaults. Calls DELETE /Accounts/{{params.account_sid}}/IncomingPhoneNumbers/{{params.phone_number_sid}}.json.

Arguments:

ArgumentTypeRequiredNotes
account_sidstringyesTwilio account SID the number belongs to.
phone_number_sidstringyesPhone number SID to release.

Result fields (the payload is trimmed to these before it reaches the model):

FieldTypeNotes
deletedboolean

Also retrieved by: "give up a number we don't need anymore", "cancel a phone line and stop paying for it", "drop a number from the account for good".

twilio.get_account

Get one account or subaccount's name, status, and type by its account id. Use when the user asks about a specific account's standing. For listing every subaccount, use list_subaccounts.

Class read (reads only). No scopes beyond the connection's defaults. Calls GET /Accounts/{{params.account_sid}}.json.

Arguments:

ArgumentTypeRequiredNotes
account_sidstringyesAccount SID to fetch, main account or a subaccount.

Result fields (the payload is trimmed to these before it reaches the model):

FieldTypeNotes
date_createdstring
friendly_namestring
owner_account_sidstring
sidstring
statusstring
typestring

Also retrieved by: "check the standing of a specific subaccount", "look up whether an account is active or suspended", "what's the status on this particular account".

twilio.create_subaccount

Create a new subaccount under this account, for isolating the billing, numbers, or usage of a project or customer. Use when the user wants to set up a separate, nested, or child account.

Class write (writes, no confirmation needed). No scopes beyond the connection's defaults. Calls POST /Accounts.json.

Arguments:

ArgumentTypeRequiredNotes
friendly_namestringyesLabel for the new subaccount.

Result fields (the payload is trimmed to these before it reaches the model):

FieldTypeNotes
date_createdstring
friendly_namestring
sidstring
statusstring
typestring

Also retrieved by: "set up a separate account for this client", "spin up a nested account for a new project", "make a child account to isolate their billing".

twilio.list_subaccounts

List every subaccount under this account, optionally filtered by name or status. Use when the user wants to see all sub-accounts, child accounts, or nested projects.

Class read (reads only). No scopes beyond the connection's defaults. Calls GET /Accounts.json.

Arguments:

ArgumentTypeRequiredNotes
friendly_namestringnoOptional filter by the subaccount's label.
page_sizeintegernoOptional max number of subaccounts to return.
statusstring, one of active, suspended, closednoOptional filter by subaccount status.

Result fields (the payload is trimmed to these before it reaches the model):

FieldTypeNotes
accountsarray of object
accounts[].date_createdstring
accounts[].friendly_namestring
accounts[].sidstring
accounts[].statusstring
accounts[].typestring

Also retrieved by: "show every sub-account under this one", "see all the child accounts we manage", "list nested projects on our account".

twilio.close_subaccount

Permanently close a subaccount, ending its ability to send, receive, or be billed. Use when the user wants to shut down, close, or terminate a subaccount for good. Irreversible; a closed account cannot be reopened.

Class destructive (held by the mutation gate until the call's own arguments carry "confirm": true). No scopes beyond the connection's defaults. Calls POST /Accounts/{{params.account_sid}}.json.

Arguments:

ArgumentTypeRequiredNotes
account_sidstringyesSubaccount SID to close.

Result fields (the payload is trimmed to these before it reaches the model):

FieldTypeNotes
sidstring
statusstring

Also retrieved by: "shut down a client's sub-account for good", "terminate a nested account entirely", "permanently close out a child account".

twilio.list_usage_records

Get usage and cost totals for this account, broken down by category such as calls, messages, or recordings, over a time period. Use when the user asks how much they've spent, used, or been billed for.

Class read (reads only). No scopes beyond the connection's defaults. Calls GET /Accounts/{{params.account_sid}}/Usage/Records.json.

Arguments:

ArgumentTypeRequiredNotes
account_sidstringyesTwilio account SID to report usage for.
categorystringnoOptional usage category, e.g. "calls" or "sms".
end_datestringnoOptional end of the reporting period (YYYY-MM-DD).
start_datestringnoOptional start of the reporting period (YYYY-MM-DD).

Result fields (the payload is trimmed to these before it reaches the model):

FieldTypeNotes
recordsarray of object
records[].categorystring
records[].countstring
records[].descriptionstring
records[].end_datestring
records[].pricestring
records[].price_unitstring
records[].start_datestring
records[].usagestring
records[].usage_unitstring

Also retrieved by: "how much have we spent on calls this month", "break down our sms costs by category", "what's our usage looked like lately", "check the bill for this account".