Update Inbound Details
Update your inbound agent’s settings, prompt and other details.
Headers
Your API key for authentication.
The encrypted_key
for the Twilio account that owns the phone number you want to modify. Not required if you are using a Bland phone number.
Path Parameters
The inbound phone number you wish to update.
Formatting Notes:
- The
'+'
or'%2B'
prefix is optional. - Will assume a US country code if no country code is provided.
Valid Examples for +13334445555
:
%2B13334445555
13334445555
3334445555
Body
Provide instructions, relevant information, and examples of the ideal conversation flow.
For inbound numbers, consider including additional context about the purpose of the call, and what types of callers to expect.
Set the pathway that your agent will follow. This will override the prompt
field, so there is no need to pass the ‘prompt’ field if you are setting a pathway.
Warning: Setting a pathway will set the following fields to null
/ their default value - prompt
, first_sentence
, model
, dynamic_data
, tools
, transfer_list
Set to null
or an empty string to clear the pathway.
Agent Parameters (Body)
Set your agent’s voice - all available voices can be found with the List Voices endpoint.
Makes your agent say a specific phrase or sentence for it’s first response.
By default, the agent starts talking as soon as the call connects.
When wait_for_greeting
is set to true
, the agent will wait for the call recipient to speak first before responding.
Adjusts how patient the AI is when waiting for the user to finish speaking.
Lower values mean the AI will respond more quickly, while higher values mean the AI will wait longer before responding.
Recommended range: 50-200
- 50: Extremely quick, back and forth conversation
- 100: Balanced to respond at a natural pace
- 200: Very patient, allows for long pauses and interruptions. Ideal for collecting detailed information.
Try to start with 100 and make small adjustments in increments of ~10 as needed for your use case.
Select a model to use for your call.
Options: base
, turbo
and enhanced
.
In nearly all cases, enhanced
is the best choice for now.
Interact with the real world through API calls.
Detailed tutorial here: Custom Tools
Select a supported language of your choice. Optimizes every part of our API for that language - transcription, speech, and other inner workings.
Set the timezone for the call. Handled automatically for calls in the US.
This helps significantly with use cases that rely on appointment setting, scheduling, or behaving differently based on the time of day.
Timezone options are here in the TZ identifier column.
A phone number that the agent can transfer to under specific conditions - such as being asked to speak to a human or supervisor.
Set to null
to remove.
Give your agent the ability to transfer calls to a set of phone numbers.
Overrides transfer_phone_number
if a transfer_list.default
is specified.
Will default to transfer_list.default
, or the chosen phone number.
Example usage to route calls to different departments:
"transfer_list": {
"default": "+12223334444",
"sales": "+12223334444",
"support": "+12223334444",
"billing": "+12223334444"
}
Integrate data from external APIs into your agent’s knowledge.
Set to null
or an empty string to clear dynamic data settings.
Detailed usage in the Send Call endpoint.
Adjusts how patient the AI is when waiting for the user to finish speaking.
Lower values mean the AI will respond more quickly, while higher values mean the AI will wait longer before responding.
Recommended range: 50-200
- 50: Extremely quick, back and forth conversation
- 100: Balanced to respond at a natural pace
- 200: Very patient, allows for long pauses and interruptions. Ideal for collecting detailed information.
Try to start with 100 and make small adjustments in increments of ~10 as needed for your use case.
These words will be boosted in the transcription engine - recommended for proper nouns or words that are frequently mis-transcribed.
For example, if the word “Reece” is frequently transcribed as a homonym like “Reese” you could do this:
{
"keywords": ["Reece"]
}
For stronger keyword boosts, you can place a colon then a boost factor after the word. The default boost factor is 2.
{
"keywords": ["Reece:3"]
}
Call Settings (Body)
When the call starts, a timer is set for the max_duration
minutes. At the end of that timer, if the call is still active it will be automatically ended.
Example Values: 20, 2
When the call ends, we’ll send the call details in a POST request to the URL you specify here.
The request body will match the response from the GET /v1/calls/:call_id endpoint.
Define a JSON schema for how you want to get information about the call - information like email addresses, names, appointment times or any other type of custom data.
In the webhook response or whenever you retrieve call data later, you’ll get the data you defined back under analysis
.
For example, if you wanted to retrieve this information from the call:
"analysis_schema": {
"email_address": "email",
"first_name": "string",
"last_name": "string",
"wants_to_book_appointment": "boolean",
"appointment_time": "YYYY-MM-DD HH:MM:SS"
}
You would get it filled out like this in your webhook once the call completes:
"analysis": {
"email_address": "johndoe@gmail.com",
"first_name": "John",
"last_name": "Doe",
"wants_to_book_appointment": true,
"appointment_time": "2024-01-01 12:00:00"
}
Add any additional information you want to associate with the call. This can be useful for tracking or categorizing calls.
At the end of each call, a summary
is generated based on the transcript - you can use this field to add extra instructions and context for how it should be summarized.
For example: "Summarize the call in French instead of English."
Guides the output and provides additional instructions and clarifications for the analysis_schema
.
To record your phone call, set record
to true. When your call completes, you can access through the recording_url
field in the call details or your webhook.
Response
Whether the update was successful or not - will be success
or error
.
A message describing the status of the update.
An object containing the updated settings for the inbound number.
If the update was unsuccessful, this will contain the settings that failed to update. Useful to determine how your request is being interpreted on our end.