AgentPhone

App · 20 actions

Give AI agents their own phone numbers: create agents, route numbers to them, and read back their calls, transcripts, texts and contacts.

Actions

ActionWhat it does
Attach number to agentRoute a phone number's calls and texts to an agent.
Create agentCreate an AI agent that answers calls and texts on the numbers you attach to it.
Create contactAdd a contact.
Delete agentDelete an agent.
Delete contactDelete a contact.
Detach number from agentStop routing a phone number to an agent.
Get agentOne agent's full configuration and the numbers attached to it.
Get callOne call with its full transcript, turn by turn.
Get conversationOne conversation with its most recent messages and what can be sent in it.
Get usageYour phone-number allowance, message and call counts for the last day, week and month, and webhook delivery statistics.
List agentsThe agents on your AgentPhone account, with the numbers attached to each.
List callsCalls on your account, newest first, with a snippet of each transcript.
List contactsYour AgentPhone contacts, optionally narrowed by a search.
List conversation messagesA conversation's messages, newest first.
List conversationsText conversations across your numbers, most recent first, with a preview of the last message.
List phone numbersThe active phone numbers on your account, with the agent each is attached to and whether it can send texts yet.
List voicesEvery voice an agent can speak with, with its id for the Voice field.
Provision phone numberBuy a US or Canadian phone number.
Update agentChange an agent.
Update contactChange a contact.

Attach number to agent

Route a phone number's calls and texts to an agent. A number belongs to one agent at a time.

Inputs

Agentagent_idtextRequired
The agent to act on. Pick one, or paste its id (it starts with agt_).
Phone numbernumber_idtextRequired
The phone number. Pick one, or paste its id (it starts with num_) as returned by 'List phone numbers'.

Outputs

agentIdtext
numberobject
Example output
{
  "agentId": "agt_8f3a2c1d",
  "number": {
    "id": "num_7b2e9c41",
    "phoneNumber": "+14155550123",
    "status": "active",
    "type": "sms"
  }
}

Create agent

Create an AI agent that answers calls and texts on the numbers you attach to it. Only the name is required.

Inputs

NamenametextRequired
The agent's name.
Descriptiondescriptiontext
A note for your own reference.
Modevoice_modetext
Hosted: AgentPhone answers from the system prompt below. Webhook: every call and text goes to your own server, which decides the reply. AgentPhone's default is Webhook.One of: hosted (Hosted - AgentPhone runs the conversation from a system prompt), webhook (Webhook - your server decides every reply).
System promptsystem_prompttext
What the agent is and how it behaves, used in Hosted mode. At most 20000 characters.
First messagebegin_messagetext
What the agent says when it answers a call.
Model tiermodel_tiertext
Trades speed for capability. AgentPhone's default is Balanced.One of: turbo (Turbo - fastest), balanced, max (Max - most capable), realtime.
Voicevoicetext
The voice the agent speaks with. Pick one, or paste a voice id from 'List voices'.
Languagelanguagetext
The language the agent speaks and listens in.One of: af-ZA (Afrikaans (South Africa)), ar-SA (Arabic (Saudi Arabia)), az-AZ (Azerbaijani), bg-BG (Bulgarian), bs-BA (Bosnian), ca-ES (Catalan), cs-CZ (Czech), cy-GB (Welsh), da-DK (Danish), de-DE (German), and 53 more.
Transfer numbertransfer_numbertext
A phone number the agent can hand a call over to, such as +14155550123. A ten-digit number is read as US or Canadian.
Voicemail messagevoicemail_messagetext
What the agent leaves when a call reaches voicemail.
Call screening identitycall_screening_identitytext
Who the agent says it is when a call-screening service asks.
Call screening purposecall_screening_purposetext
Why the agent says it is calling when a call-screening service asks.
Speech recognitionstt_modetext
Fast or accurate transcription of the caller.One of: fast, accurate.
Background soundambient_soundtext
Ambient sound played under the agent's voice.One of: none, office, coffee-shop (Coffee shop), outdoor.
Noise filteringdenoising_modetext
How much of the caller's background is filtered out.One of: noise-cancellation (Cancel noise), noise-and-background-speech-cancellation (Cancel noise and background speech).
Hang up after silence (seconds)max_silence_secondsnumber
End the call after this many seconds of silence, from 10 to 3600. AgentPhone's default is 600.From 10 to 3600.
Speaking speedvoice_speednumber
From 0.5 to 2.0; 1 is normal speed.From 0.5 to 2.0.
Interruption sensitivityinterruption_sensitivitynumber
How readily the agent stops talking when the caller speaks, from 0 to 1. AgentPhone's default is 0.8.From 0.0 to 1.0.
Answer textsenable_messagingtext
Whether the agent also handles text messages, not only calls. Leave empty to keep the current setting (on for a new agent).One of: on (Turn on), off (Turn off).
Backchannelenable_backchanneltext
Whether the agent makes small listening sounds such as 'mm-hm'. Leave empty to keep the current setting (on for a new agent).One of: on (Turn on), off (Turn off).

Outputs

ambientSoundtext
beginMessagetext
callScreeningIdentitytext
callScreeningPurposetext
createdAttext
customToolslist
denoisingModetext
descriptiontext
enableBackchanneltrue/false
enableMessagingtrue/false
idtext
interruptionSensitivitynumber
languagetext
maxSilenceMsnumber
modelTiertext
nametext
numberslist
sttModetext
systemPrompttext
transferNumbertext
voicetext
voiceModetext
voiceSpeednumber
voicemailMessagetext
Example output
{
  "ambientSound": "none",
  "beginMessage": "Hi, thanks for calling the clinic.",
  "callScreeningIdentity": null,
  "callScreeningPurpose": null,
  "createdAt": "2026-10-01T10:15:00Z",
  "customTools": null,
  "denoisingMode": "noise-cancellation",
  "description": "Answers the clinic line.",
  "enableBackchannel": true,
  "enableMessaging": true,
  "id": "agt_8f3a2c1d",
  "interruptionSensitivity": 0.8,
  "language": "en-US",
  "maxSilenceMs": 600000,
  "modelTier": "balanced",
  "name": "Front desk",
  "numbers": [
    {
      "id": "num_7b2e9c41",
      "phoneNumber": "+14155550123",
      "status": "active",
      "type": "sms"
    }
  ],
  "sttMode": "fast",
  "systemPrompt": "You answer calls for a dental clinic.",
  "transferNumber": null,
  "voice": "voice_ava",
  "voiceMode": "hosted",
  "voiceSpeed": 1.0,
  "voicemailMessage": null
}

Create contact

Add a contact. Each phone number can belong to only one contact.

Inputs

Phone numberphone_numbertextRequired
The contact's phone number, in any common format, such as +14155550188.
NamenametextRequired
The contact's name.
Emailemailtext
The contact's email address.
Notesnotestext
Anything worth remembering about the contact.

Outputs

createdAttext
emailtext
idtext
nametext
notestext
phoneNumbertext
updatedAttext
Example output
{
  "createdAt": "2026-10-02T09:00:00Z",
  "email": "ada@example.com",
  "id": "ct_2d7e5a90",
  "name": "Ada Lovelace",
  "notes": "Prefers texts.",
  "phoneNumber": "+14155550188",
  "updatedAt": "2026-10-02T09:00:00Z"
}

Delete agent

Delete an agent. Its numbers, conversations and calls are kept and simply no longer point at it.

Inputs

Agentagent_idtextRequired
The agent to act on. Pick one, or paste its id (it starts with agt_).

Outputs

idtext
nametext
successtrue/false
Example output
{
  "id": "agt_8f3a2c1d",
  "name": "Front desk",
  "success": true
}

Delete contact

Delete a contact. Their conversations and calls are kept.

Inputs

Contactcontact_idtextRequired
The contact's id, as returned by 'List contacts' or 'Create contact'.

Outputs

deletedtrue/false
idtext
Example output
{
  "deleted": true,
  "id": "ct_2d7e5a90"
}

Detach number from agent

Stop routing a phone number to an agent. The number stays on your account and keeps receiving calls and texts.

Inputs

Agentagent_idtextRequired
The agent to act on. Pick one, or paste its id (it starts with agt_).
Phone numbernumber_idtextRequired
The phone number. Pick one, or paste its id (it starts with num_) as returned by 'List phone numbers'.

Outputs

agent_idtext
detachedtrue/false
number_idtext
responseobject
Example output
{
  "agent_id": "agt_8f3a2c1d",
  "detached": true,
  "number_id": "num_7b2e9c41",
  "response": null
}

Get agent

One agent's full configuration and the numbers attached to it.

Inputs

Agentagent_idtextRequired
The agent to act on. Pick one, or paste its id (it starts with agt_).

Outputs

ambientSoundtext
beginMessagetext
callScreeningIdentitytext
callScreeningPurposetext
createdAttext
customToolslist
denoisingModetext
descriptiontext
enableBackchanneltrue/false
enableMessagingtrue/false
idtext
interruptionSensitivitynumber
languagetext
maxSilenceMsnumber
modelTiertext
nametext
numberslist
sttModetext
systemPrompttext
transferNumbertext
voicetext
voiceModetext
voiceSpeednumber
voicemailMessagetext
Example output
{
  "ambientSound": "none",
  "beginMessage": "Hi, thanks for calling the clinic.",
  "callScreeningIdentity": null,
  "callScreeningPurpose": null,
  "createdAt": "2026-10-01T10:15:00Z",
  "customTools": null,
  "denoisingMode": "noise-cancellation",
  "description": "Answers the clinic line.",
  "enableBackchannel": true,
  "enableMessaging": true,
  "id": "agt_8f3a2c1d",
  "interruptionSensitivity": 0.8,
  "language": "en-US",
  "maxSilenceMs": 600000,
  "modelTier": "balanced",
  "name": "Front desk",
  "numbers": [
    {
      "id": "num_7b2e9c41",
      "phoneNumber": "+14155550123",
      "status": "active",
      "type": "sms"
    }
  ],
  "sttMode": "fast",
  "systemPrompt": "You answer calls for a dental clinic.",
  "transferNumber": null,
  "voice": "voice_ava",
  "voiceMode": "hosted",
  "voiceSpeed": 1.0,
  "voicemailMessage": null
}

Get call

One call with its full transcript, turn by turn.

Inputs

Callcall_idtextRequired
The call's id, as returned by 'List calls'.

Outputs

agentIdtext
agentNametext
directiontext
durationSecondsnumber
endedAttext
fromNumbertext
idtext
lastTranscriptSnippettext
phoneNumbertext
phoneNumberIdtext
recordingAvailabletrue/false
recordingUrltext
startedAttext
statustext
toNumbertext
transcriptslist
Example output
{
  "agentId": "agt_8f3a2c1d",
  "direction": "inbound",
  "durationSeconds": 130,
  "endedAt": "2026-10-02T16:02:10Z",
  "fromNumber": "+14155550188",
  "id": "call_9a4f6b28",
  "lastTranscriptSnippet": "See you Friday.",
  "phoneNumber": "+14155550123",
  "phoneNumberId": "num_7b2e9c41",
  "recordingAvailable": false,
  "startedAt": "2026-10-02T16:00:00Z",
  "status": "completed",
  "toNumber": "+14155550123",
  "transcripts": [
    {
      "createdAt": "2026-10-02T16:00:20Z",
      "id": "tr_1",
      "response": "Of course - Friday at 10 works. See you Friday.",
      "transcript": "Can I move my appointment to Friday?"
    }
  ]
}

Get conversation

One conversation with its most recent messages and what can be sent in it.

Inputs

Conversationconversation_idtextRequired
The conversation's id, as returned by 'List conversations'.
Messages to includemessage_limitnumber
How many recent messages to include, from 1 to 100. Defaults to 50.From 1 to 100. Default: 50.

Outputs

agentIdtext
capabilitiesobject
channeltext
createdAttext
groupIconUrltext
groupIdtext
groupNametext
idtext
isGrouptrue/false
lastMessageAttext
messageCountnumber
messageslist
metadataobject
participanttext
participantslist
phoneNumbertext
phoneNumberIdtext
Example output
{
  "agentId": "agt_8f3a2c1d",
  "capabilities": {
    "canSendMessages": true,
    "emojiReactions": false,
    "media": true,
    "reactions": false
  },
  "channel": "native",
  "createdAt": "2026-10-02T15:04:00Z",
  "id": "conv_3e8d1f07",
  "isGroup": false,
  "lastMessageAt": "2026-10-02T15:04:00Z",
  "messageCount": 1,
  "messages": [
    {
      "body": "Can I move my appointment to Friday?",
      "channel": "sms",
      "direction": "inbound",
      "fromNumber": "+14155550188",
      "id": "msg_51c0a9e2",
      "mediaUrls": [],
      "receivedAt": "2026-10-02T15:04:00Z",
      "status": "received",
      "toNumber": "+14155550123"
    }
  ],
  "metadata": null,
  "participant": "+14155550188",
  "phoneNumber": "+14155550123",
  "phoneNumberId": "num_7b2e9c41"
}

Get usage

Your phone-number allowance, message and call counts for the last day, week and month, and webhook delivery statistics.

Inputs

None.

Outputs

numbersobject
periodEndtext
periodStarttext
reportGeneratedAttext
statsobject
Example output
{
  "numbers": {
    "limit": 5,
    "remaining": 4,
    "used": 1
  },
  "periodEnd": "2026-10-12T00:00:00Z",
  "periodStart": "2026-09-12T00:00:00Z",
  "reportGeneratedAt": "2026-10-12T08:00:00Z",
  "stats": {
    "callsLast24h": 1,
    "callsLast30d": 3,
    "callsLast7d": 3,
    "failedWebhookDeliveries": 0,
    "messagesLast24h": 2,
    "messagesLast30d": 12,
    "messagesLast7d": 9,
    "smsSegmentsLast30d": 14,
    "successfulWebhookDeliveries": 0,
    "totalCalls": 3,
    "totalMessages": 12,
    "totalWebhookDeliveries": 0
  }
}

List agents

The agents on your AgentPhone account, with the numbers attached to each.

Inputs

Maximum recordslimitnumber
The most records to return, from 1 to 100. Defaults to 20.From 1 to 100. Default: 20.
Skipoffsetnumber
How many records to skip, for the next page. Use the previous step's next_offset. Defaults to 0.From 0 to 1000000. Default: 0.

Outputs

agentslist
The agents returned
countnumber
How many agents came back
has_moretrue/false
Whether more records are available
next_offsetnumber
The offset for the next page, empty when none
totalnumber
How many agents there are in total
Example output
{
  "agents": [
    {
      "ambientSound": "none",
      "beginMessage": "Hi, thanks for calling the clinic.",
      "callScreeningIdentity": null,
      "callScreeningPurpose": null,
      "createdAt": "2026-10-01T10:15:00Z",
      "customTools": null,
      "denoisingMode": "noise-cancellation",
      "description": "Answers the clinic line.",
      "enableBackchannel": true,
      "enableMessaging": true,
      "id": "agt_8f3a2c1d",
      "interruptionSensitivity": 0.8,
      "language": "en-US",
      "maxSilenceMs": 600000,
      "modelTier": "balanced",
      "name": "Front desk",
      "numbers": [
        {
          "id": "num_7b2e9c41",
          "phoneNumber": "+14155550123",
          "status": "active",
          "type": "sms"
        }
      ],
      "sttMode": "fast",
      "systemPrompt": "You answer calls for a dental clinic.",
      "transferNumber": null,
      "voice": "voice_ava",
      "voiceMode": "hosted",
      "voiceSpeed": 1.0,
      "voicemailMessage": null
    }
  ],
  "count": 1,
  "has_more": false,
  "next_offset": null,
  "total": 1
}

List calls

Calls on your account, newest first, with a snippet of each transcript.

Inputs

Statusstatustext
Only calls in this state. Leave empty for all.One of: completed, in-progress (In progress), failed.
Directiondirectiontext
Only calls in this direction. Leave empty for all.One of: inbound, outbound, web.
Call typecall_typetext
Only phone-network or only browser calls. Leave empty for both.One of: pstn (Phone network), web.
Phone number containssearchtext
Only calls whose caller or called number contains these digits.
Maximum recordslimitnumber
The most records to return, from 1 to 100. Defaults to 20.From 1 to 100. Default: 20.
Skipoffsetnumber
How many records to skip, for the next page. Use the previous step's next_offset. Defaults to 0.From 0 to 1000000. Default: 0.

Outputs

callslist
The calls returned
countnumber
How many calls came back
has_moretrue/false
Whether more records are available
next_offsetnumber
The offset for the next page, empty when none
totalnumber
How many calls there are in total
Example output
{
  "calls": [
    {
      "agentId": "agt_8f3a2c1d",
      "direction": "inbound",
      "durationSeconds": 130,
      "endedAt": "2026-10-02T16:02:10Z",
      "fromNumber": "+14155550188",
      "id": "call_9a4f6b28",
      "lastTranscriptSnippet": "See you Friday.",
      "phoneNumber": "+14155550123",
      "phoneNumberId": "num_7b2e9c41",
      "recordingAvailable": false,
      "startedAt": "2026-10-02T16:00:00Z",
      "status": "completed",
      "toNumber": "+14155550123"
    }
  ],
  "count": 1,
  "has_more": false,
  "next_offset": null,
  "total": 1
}

List contacts

Your AgentPhone contacts, optionally narrowed by a search.

Inputs

Searchsearchtext
Only contacts matching this text.
Maximum recordslimitnumber
The most contacts to return, from 1 to 200. Defaults to 50.From 1 to 200. Default: 50.
Skipoffsetnumber
How many records to skip, for the next page. Use the previous step's next_offset. Defaults to 0.From 0 to 1000000. Default: 0.

Outputs

contactslist
The contacts returned
countnumber
How many contacts came back
has_moretrue/false
Whether more records are available
next_offsetnumber
The offset for the next page, empty when none
totalnumber
How many contacts there are in total
Example output
{
  "contacts": [
    {
      "createdAt": "2026-10-02T09:00:00Z",
      "email": "ada@example.com",
      "id": "ct_2d7e5a90",
      "name": "Ada Lovelace",
      "notes": "Prefers texts.",
      "phoneNumber": "+14155550188",
      "updatedAt": "2026-10-02T09:00:00Z"
    }
  ],
  "count": 1,
  "has_more": false,
  "next_offset": null,
  "total": 1
}

List conversation messages

A conversation's messages, newest first. For older ones, pass the previous step's oldest_received_at as Before.

Inputs

Conversationconversation_idtextRequired
The conversation's id, as returned by 'List conversations'.
Maximum messageslimitnumber
The most messages to return, from 1 to 200. Defaults to 50.From 1 to 200. Default: 50.
Beforebeforedate and time
Only messages received before this moment.
Afterafterdate and time
Only messages received after this moment.

Outputs

countnumber
How many messages came back
has_moretrue/false
Whether older messages are available
messageslist
The messages returned, newest first
oldest_received_attext
The oldest message's time. Pass it as 'Before' to fetch the next, older page.
Example output
{
  "count": 1,
  "has_more": false,
  "messages": [
    {
      "body": "Can I move my appointment to Friday?",
      "channel": "sms",
      "direction": "inbound",
      "fromNumber": "+14155550188",
      "id": "msg_51c0a9e2",
      "mediaUrls": [],
      "receivedAt": "2026-10-02T15:04:00Z",
      "status": "received",
      "toNumber": "+14155550123"
    }
  ],
  "oldest_received_at": "2026-10-02T15:04:00Z"
}

List conversations

Text conversations across your numbers, most recent first, with a preview of the last message.

Inputs

Maximum recordslimitnumber
The most records to return, from 1 to 100. Defaults to 20.From 1 to 100. Default: 20.
Skipoffsetnumber
How many records to skip, for the next page. Use the previous step's next_offset. Defaults to 0.From 0 to 1000000. Default: 0.

Outputs

conversationslist
The conversations returned
countnumber
How many conversations came back
has_moretrue/false
Whether more records are available
next_offsetnumber
The offset for the next page, empty when none
totalnumber
How many conversations there are in total
Example output
{
  "conversations": [
    {
      "agentId": "agt_8f3a2c1d",
      "channel": "native",
      "createdAt": "2026-10-02T15:04:00Z",
      "id": "conv_3e8d1f07",
      "isGroup": false,
      "lastMessageAt": "2026-10-02T15:04:00Z",
      "lastMessagePreview": "Can I move my appointment to Friday?",
      "messageCount": 1,
      "metadata": null,
      "participant": "+14155550188",
      "phoneNumber": "+14155550123",
      "phoneNumberId": "num_7b2e9c41"
    }
  ],
  "count": 1,
  "has_more": false,
  "next_offset": null,
  "total": 1
}

List phone numbers

The active phone numbers on your account, with the agent each is attached to and whether it can send texts yet.

Inputs

External idexternal_idtext
Only the number tagged with this external id when it was bought. Leave empty for all of them.
Maximum recordslimitnumber
The most records to return, from 1 to 100. Defaults to 20.From 1 to 100. Default: 20.
Skipoffsetnumber
How many records to skip, for the next page. Use the previous step's next_offset. Defaults to 0.From 0 to 1000000. Default: 0.

Outputs

countnumber
How many numbers came back
has_moretrue/false
Whether more records are available
next_offsetnumber
The offset for the next page, empty when none
numberslist
The numbers returned
totalnumber
How many numbers there are in total
Example output
{
  "count": 1,
  "has_more": false,
  "next_offset": null,
  "numbers": [
    {
      "agentId": "agt_8f3a2c1d",
      "country": "US",
      "createdAt": "2026-10-01T10:20:00Z",
      "dailyNewContacts": {
        "limit": 50,
        "used": 0
      },
      "externalId": null,
      "id": "num_7b2e9c41",
      "inboundCallsEnabled": true,
      "outboundSms": "registration_required",
      "phoneNumber": "+14155550123",
      "purchasedAt": "2026-10-01T10:20:00Z",
      "readReceiptsEnabled": false,
      "status": "active",
      "type": "sms",
      "whatsappEnabled": false
    }
  ],
  "total": 1
}

List voices

Every voice an agent can speak with, with its id for the Voice field.

Inputs

None.

Outputs

countnumber
How many voices came back
voiceslist
Every voice an agent can use
Example output
{
  "count": 1,
  "voices": [
    {
      "accent": "american",
      "gender": "female",
      "preview_audio_url": null,
      "provider": "elevenlabs",
      "voice_id": "voice_ava",
      "voice_name": "Ava"
    }
  ]
}

Provision phone number

Buy a US or Canadian phone number. It costs $3.00 a month, and the first month comes off your balance immediately - a new account's $5.00 credit covers one.

Inputs

Countrycountrytext
Where the number is from. Defaults to the US.One of: US (United States), CA (Canada). Default: US.
Area codearea_codetext
A three-digit area code, such as 415. Leave empty for any available number.
Agentagent_idtext
An agent to attach the new number to straight away. Leave empty to attach it later.
External idexternal_idtext
Your own reference for the number, for finding it again with 'List phone numbers'.

Outputs

agentIdtext
countrytext
createdAttext
dailyNewContactsobject
externalIdtext
idtext
inboundCallsEnabledtrue/false
outboundSmstext
phoneNumbertext
purchasedAttext
readReceiptsEnabledtrue/false
statustext
typetext
whatsappEnabledtrue/false
Example output
{
  "agentId": "agt_8f3a2c1d",
  "country": "US",
  "createdAt": "2026-10-01T10:20:00Z",
  "dailyNewContacts": {
    "limit": 50,
    "used": 0
  },
  "externalId": null,
  "id": "num_7b2e9c41",
  "inboundCallsEnabled": true,
  "outboundSms": "registration_required",
  "phoneNumber": "+14155550123",
  "purchasedAt": "2026-10-01T10:20:00Z",
  "readReceiptsEnabled": false,
  "status": "active",
  "type": "sms",
  "whatsappEnabled": false
}

Update agent

Change an agent. Only the fields you fill in change; the rest stay as they are, and the change applies to the next call or text.

Inputs

Agentagent_idtextRequired
The agent to act on. Pick one, or paste its id (it starts with agt_).
Namenametext
A new name for the agent. Leave empty to keep the current one.
Descriptiondescriptiontext
A note for your own reference.
Modevoice_modetext
Hosted: AgentPhone answers from the system prompt below. Webhook: every call and text goes to your own server, which decides the reply. AgentPhone's default is Webhook.One of: hosted (Hosted - AgentPhone runs the conversation from a system prompt), webhook (Webhook - your server decides every reply).
System promptsystem_prompttext
What the agent is and how it behaves, used in Hosted mode. At most 20000 characters.
First messagebegin_messagetext
What the agent says when it answers a call.
Model tiermodel_tiertext
Trades speed for capability. AgentPhone's default is Balanced.One of: turbo (Turbo - fastest), balanced, max (Max - most capable), realtime.
Voicevoicetext
The voice the agent speaks with. Pick one, or paste a voice id from 'List voices'.
Languagelanguagetext
The language the agent speaks and listens in.One of: af-ZA (Afrikaans (South Africa)), ar-SA (Arabic (Saudi Arabia)), az-AZ (Azerbaijani), bg-BG (Bulgarian), bs-BA (Bosnian), ca-ES (Catalan), cs-CZ (Czech), cy-GB (Welsh), da-DK (Danish), de-DE (German), and 53 more.
Transfer numbertransfer_numbertext
A phone number the agent can hand a call over to, such as +14155550123. A ten-digit number is read as US or Canadian.
Voicemail messagevoicemail_messagetext
What the agent leaves when a call reaches voicemail.
Call screening identitycall_screening_identitytext
Who the agent says it is when a call-screening service asks.
Call screening purposecall_screening_purposetext
Why the agent says it is calling when a call-screening service asks.
Speech recognitionstt_modetext
Fast or accurate transcription of the caller.One of: fast, accurate.
Background soundambient_soundtext
Ambient sound played under the agent's voice.One of: none, office, coffee-shop (Coffee shop), outdoor.
Noise filteringdenoising_modetext
How much of the caller's background is filtered out.One of: noise-cancellation (Cancel noise), noise-and-background-speech-cancellation (Cancel noise and background speech).
Hang up after silence (seconds)max_silence_secondsnumber
End the call after this many seconds of silence, from 10 to 3600. AgentPhone's default is 600.From 10 to 3600.
Speaking speedvoice_speednumber
From 0.5 to 2.0; 1 is normal speed.From 0.5 to 2.0.
Interruption sensitivityinterruption_sensitivitynumber
How readily the agent stops talking when the caller speaks, from 0 to 1. AgentPhone's default is 0.8.From 0.0 to 1.0.
Answer textsenable_messagingtext
Whether the agent also handles text messages, not only calls. Leave empty to keep the current setting (on for a new agent).One of: on (Turn on), off (Turn off).
Backchannelenable_backchanneltext
Whether the agent makes small listening sounds such as 'mm-hm'. Leave empty to keep the current setting (on for a new agent).One of: on (Turn on), off (Turn off).

Outputs

ambientSoundtext
beginMessagetext
callScreeningIdentitytext
callScreeningPurposetext
createdAttext
customToolslist
denoisingModetext
descriptiontext
enableBackchanneltrue/false
enableMessagingtrue/false
idtext
interruptionSensitivitynumber
languagetext
maxSilenceMsnumber
modelTiertext
nametext
numberslist
sttModetext
systemPrompttext
transferNumbertext
voicetext
voiceModetext
voiceSpeednumber
voicemailMessagetext
Example output
{
  "ambientSound": "none",
  "beginMessage": "Hi, thanks for calling the clinic.",
  "callScreeningIdentity": null,
  "callScreeningPurpose": null,
  "createdAt": "2026-10-01T10:15:00Z",
  "customTools": null,
  "denoisingMode": "noise-cancellation",
  "description": "Answers the clinic line.",
  "enableBackchannel": true,
  "enableMessaging": true,
  "id": "agt_8f3a2c1d",
  "interruptionSensitivity": 0.8,
  "language": "en-US",
  "maxSilenceMs": 600000,
  "modelTier": "balanced",
  "name": "Front desk",
  "numbers": [
    {
      "id": "num_7b2e9c41",
      "phoneNumber": "+14155550123",
      "status": "active",
      "type": "sms"
    }
  ],
  "sttMode": "fast",
  "systemPrompt": "You answer calls for a dental clinic.",
  "transferNumber": null,
  "voice": "voice_ava",
  "voiceMode": "hosted",
  "voiceSpeed": 1.0,
  "voicemailMessage": null
}

Update contact

Change a contact. Only the fields you fill in change.

Inputs

Contactcontact_idtextRequired
The contact's id, as returned by 'List contacts' or 'Create contact'.
Phone numberphone_numbertext
A new phone number. It must not belong to another contact. Leave empty to keep the current one.
Namenametext
A new name. Leave empty to keep the current one.
Emailemailtext
A new email address. Leave empty to keep it.
Notesnotestext
New notes. Leave empty to keep the current ones.

Outputs

createdAttext
emailtext
idtext
nametext
notestext
phoneNumbertext
updatedAttext
Example output
{
  "createdAt": "2026-10-02T09:00:00Z",
  "email": "ada@example.com",
  "id": "ct_2d7e5a90",
  "name": "Ada Lovelace",
  "notes": "Prefers texts.",
  "phoneNumber": "+14155550188",
  "updatedAt": "2026-10-02T09:00:00Z"
}

On this page