Bland.ai
Automate your phone calls with AI
Automate your phone calls with AI
Category: Communication. Adds 6 actions and 2 webhooks to a care flow.
What to configure
Set these once, on the extension in Awell Studio. An action fails at run time if a required setting is missing.
| Setting | Required | Notes |
|---|---|---|
| Bland API key | Yes | — Stored as a secret. |
Actions
Bland.ai adds these 6 actions to a care flow. Add one to a step, then fill in its inputs.
Create SMS conversation
Create an SMS conversation seeded with pathway state, without sending a message immediately. The pathway then drives outbound texts.
This action can be previewed in Studio before you publish, and retries automatically on a transient failure.
| Input | Type | Required | Description |
|---|---|---|---|
| User phone number | string | Yes | The phone number of the user in the conversation (E.164 format). |
| Agent phone number | string | Yes | The Bland-owned, SMS-enabled phone number for the conversation (E.164 format). |
| Message | text | Yes | The message to seed the conversation with. It is recorded in the conversation but NOT sent to the user. |
| Sender | string | No | Who the seeded message is attributed to. Defaults to USER when omitted. One of: User, Agent. |
| Current pathway ID | string | No | The pathway to position the conversation on. |
| Current pathway version | string | No | The version of the pathway. |
| Current node ID | string | No | The pathway node the conversation should be positioned at. |
| Start new conversation | string | No | When enabled, starts a fresh conversation instead of continuing an existing one. One of: Yes, No. |
| Request data | json | No | JSON object of variables made available to the pathway/agent during the conversation. Can be referenced with Prompt Variables. |
Returns:
| Data point | Type |
|---|---|
conversationId | string |
createResponse | json |
Get call details
Retrieve detailed information, metadata and transcripts for a call.
This action can be previewed in Studio before you publish, and retries automatically on a transient failure.
| Input | Type | Required | Description |
|---|---|---|---|
| Call ID | string | Yes | The identifier of the call for which you want to retrieve information. |
Returns:
| Data point | Type |
|---|---|
analysis | json |
analysisSchema | json |
answeredBy | string |
callData | json |
callLength | number |
completed | boolean |
concatenatedTranscript | string |
endAt | date |
errorMessage | string |
from | telephone |
metadata | json |
startedAt | date |
status | string |
summary | string |
to | telephone |
transcripts | json |
Retrieve the details of a call based on the provider call ID.
Send call
Send an AI phone call with a custom objective and actions.
This action can be previewed in Studio before you publish, and retries automatically on a transient failure.
| Input | Type | Required | Description |
|---|---|---|---|
| Phone number | string | Yes | The phone number to call. |
| Webhook | string | No | The webhook to send the call completed event to. |
| Task | text | Yes | Provide instructions, relevant information, and examples of the ideal conversation flow. |
| Voice | string | No | The voice of the AI agent to use. Accepts any form of voice ID, including custom voice clones and voice presets. |
| Background track | string | No | Select an audio track that you’d like to play in the background during the call. The audio will play continuously when the agent isn’t speaking, and is incorporated into it’s speech as well. One of: Default, Office, Cafe, Restaurant, None. |
| First sentence | string | No | Makes your agent say a specific phrase or sentence for it’s first response. |
| Wait for greeting | string | No | When enabled, the agent will wait for the call recipient to speak first before responding. One of: Yes, No. |
| Block interruptions | string | No | When enabled, the AI will not respond or process interruptions from the user. One of: Yes, No. |
| Interruption threshold | numeric | No | 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. |
| Model | string | No | Select a model to use for your call. One of: base, turbo. |
| Temperature | numeric | No | A value between 0 and 1 that controls the randomness of the LLM. 0 will cause more deterministic outputs while 1 will cause more random. |
| Dynamic data | json | No | Integrate data from external APIs into your agent’s knowledge. |
| Keywords | string | No | Comma-separated list of keywords. These words will be boosted in the transcription engine - recommended for proper nouns or words that are frequently mis-transcribed. |
| Pronunciation guide | json | No | The pronunciation guide is an array of objects that guides the agent on how to say specific words. This is great for situations with complicated terms or names. |
| Language | string | No | Optimizes transcription, speech, and other inner workings for the specified language. Enter a 2-letter ISO 639-1 code in lowercase, for example: en, es, fr. Defaults to English if not set. |
| Local dialing | string | No | When true, automatically selects a “from” number that matches the callee’s area code for US-based calls. Must have purchased a local dialing add-on. One of: Yes, No. |
| Voicemail SMS | json | No | Configure SMS settings for voicemail notifications. |
| Dispatch hours | json | No | Restricts calls to certain hours in your timezone. |
| Sensitive voicemail detection | string | No | When true, uses LLM-based analysis to detect frequent voicemails. One of: Yes, No. |
| Noise cancellation | string | No | Toggles noise filtering or suppression in the audio stream to filter out background noise. One of: Yes, No. |
| Ignore button press | string | No | When true, DTMF (digit) presses are ignored, disabling menu navigation or call transfers triggered by keypad input. One of: Yes, No. |
| Timezone | string | No | Set the timezone for the call. Handled automatically for calls in the US. One of: Africa/Algiers, Atlantic/Cape_Verde, Africa/Ndjamena, Africa/Abidjan, Africa/Cairo, Africa/Bissau, Africa/Nairobi, Africa/Monrovia, Africa/Tripoli, Indian/Mauritius, Africa/Casablanca, Africa/El_Aaiun, Africa/Maputo, Africa/Windhoek, Africa/Lagos, Africa/Sao_Tome, Africa/Johannesburg, Africa/Khartoum, Africa/Juba, Africa/Tunis, Antarctica/Casey, Antarctica/Davis, Antarctica/Mawson, Antarctica/Troll, Antarctica/Vostok, Antarctica/Rothera, Asia/Kabul, Asia/Yerevan, Asia/Baku, Asia/Dhaka, Asia/Thimphu, Indian/Chagos, Asia/Yangon, Asia/Shanghai, Asia/Urumqi, Asia/Hong_Kong, Asia/Taipei, Asia/Macau, Asia/Nicosia, Asia/Famagusta, Asia/Tbilisi, Asia/Dili, Asia/Kolkata, Asia/Jakarta, Asia/Pontianak, Asia/Makassar, Asia/Jayapura, Asia/Tehran, Asia/Baghdad, Asia/Jerusalem, Asia/Tokyo, Asia/Amman, Asia/Almaty, Asia/Qyzylorda, Asia/Qostanay, Asia/Aqtobe, Asia/Aqtau, Asia/Atyrau, Asia/Oral, Asia/Bishkek, Asia/Seoul, Asia/Pyongyang, Asia/Beirut, Asia/Kuching, Indian/Maldives, Asia/Hovd, Asia/Ulaanbaatar, Asia/Kathmandu, Asia/Karachi, Asia/Gaza, Asia/Hebron, Asia/Manila, Asia/Qatar, Asia/Riyadh, Asia/Singapore, Asia/Colombo, Asia/Damascus, Asia/Dushanbe, Asia/Bangkok, Asia/Ashgabat, Asia/Dubai, Asia/Samarkand, Asia/Tashkent, Asia/Ho_Chi_Minh, Australia/Darwin, Australia/Perth, Australia/Eucla, Australia/Brisbane, Australia/Lindeman, Australia/Adelaide, Australia/Hobart, Australia/Melbourne, Australia/Sydney, Australia/Broken_Hill, Australia/Lord_Howe, Antarctica/Macquarie, Pacific/Fiji, Pacific/Gambier, Pacific/Marquesas, Pacific/Tahiti, Pacific/Guam, Pacific/Tarawa, Pacific/Kanton, Pacific/Kiritimati, Pacific/Kwajalein, Pacific/Kosrae, Pacific/Nauru, Pacific/Noumea, Pacific/Auckland, Pacific/Chatham, Pacific/Rarotonga, Pacific/Niue, Pacific/Norfolk, Pacific/Palau, Pacific/Port_Moresby, Pacific/Bougainville, Pacific/Pitcairn, Pacific/Pago_Pago, Pacific/Apia, Pacific/Guadalcanal, Pacific/Fakaofo, Pacific/Tongatapu, Pacific/Efate, Australia/ACT, Australia/LHI, Australia/NSW, Australia/North, Australia/Queensland, Australia/South, Australia/Tasmania, Australia/Victoria, Australia/West, Australia/Yancowinna, Brazil/Acre, Brazil/DeNoronha, Brazil/East, Brazil/West, CET, CST6CDT, Canada/Atlantic, Canada/Central, Canada/Eastern, Canada/Mountain, Canada/Newfoundland, Canada/Pacific, Canada/Saskatchewan, Canada/Yukon, Chile/Continental, Chile/EasterIsland, Cuba, EET, EST, EST5EDT, Egypt, Eire, Etc/GMT+0, Etc/GMT-0, Etc/GMT0, Etc/Greenwich, Etc/UCT, Etc/Universal, Etc/Zulu, GB, GB-Eire, GMT+0, GMT-0, GMT0, Greenwich, Hongkong, Iceland, Iran, Israel, Jamaica, Japan, Kwajalein, Libya, MET, MST, MST7MDT, Mexico/BajaNorte, Mexico/BajaSur, Mexico/General, NZ, NZ-CHAT, Navajo, PRC, Poland, Portugal, ROC, ROK, Singapore, Turkey, UCT, US/Alaska, US/Aleutian, US/Arizona, US/Central, US/East-Indiana, US/Eastern, US/Hawaii, US/Indiana-Starke, US/Michigan, US/Mountain, US/Pacific, US/Samoa, UTC, Universal, W-SU, Zulu, America/Buenos_Aires, America/Catamarca, America/Cordoba, America/Indianapolis, America/Jujuy, America/Knox_IN, America/Louisville, America/Mendoza, America/Virgin, Pacific/Samoa, Africa/Accra, Africa/Addis_Ababa, Africa/Asmara, Africa/Bamako, Africa/Bangui, Africa/Banjul, Africa/Blantyre, Africa/Brazzaville, Africa/Bujumbura, Africa/Conakry, Africa/Dakar, Africa/Dar_es_Salaam, Africa/Djibouti, Africa/Douala, Africa/Freetown, Africa/Gaborone, Africa/Harare, Africa/Kampala, Africa/Kigali, Africa/Kinshasa, Africa/Libreville, Africa/Lome, Africa/Luanda, Africa/Lubumbashi, Africa/Lusaka, Africa/Malabo, Africa/Maseru, Africa/Mbabane, Africa/Mogadishu, Africa/Niamey, Africa/Nouakchott, Africa/Ouagadougou, Africa/Porto-Novo, America/Anguilla, America/Antigua, America/Aruba, America/Atikokan, America/Blanc-Sablon, America/Cayman, America/Creston, America/Curacao, America/Dominica, America/Grenada, America/Guadeloupe, America/Kralendijk, America/Lower_Princes, America/Marigot, America/Montserrat, America/Nassau, America/Port_of_Spain, America/St_Barthelemy, America/St_Kitts, America/St_Lucia, America/St_Thomas, America/St_Vincent, America/Tortola, Antarctica/DumontDUrville, Antarctica/McMurdo, Antarctica/Syowa, Arctic/Longyearbyen, Asia/Aden, Asia/Bahrain, Asia/Brunei, Asia/Kuala_Lumpur, Asia/Kuwait, Asia/Muscat, Asia/Phnom_Penh, Asia/Vientiane, Atlantic/Reykjavik, Atlantic/St_Helena, Europe/Amsterdam, Europe/Bratislava, Europe/Busingen, Europe/Copenhagen, Europe/Guernsey, Europe/Isle_of_Man, Europe/Jersey, Europe/Ljubljana, Europe/Luxembourg, Europe/Mariehamn, Europe/Monaco, Europe/Oslo, Europe/Podgorica, Europe/San_Marino, Europe/Sarajevo, Europe/Skopje, Europe/Stockholm, Europe/Vaduz, Europe/Vatican, Europe/Zagreb, Indian/Antananarivo, Indian/Christmas, Indian/Cocos, Indian/Comoro, Indian/Kerguelen, Indian/Mahe, Indian/Mayotte, Indian/Reunion, Pacific/Chuuk, Pacific/Funafuti, Pacific/Majuro, Pacific/Midway, Pacific/Pohnpei, Pacific/Saipan, Pacific/Wake, Pacific/Wallis, Africa/Timbuktu, America/Argentina/ComodRivadavia, America/Atka, America/Coral_Harbour, America/Ensenada, America/Fort_Wayne, America/Montreal, America/Nipigon, America/Pangnirtung, America/Porto_Acre, America/Rainy_River, America/Rosario, America/Santa_Isabel, America/Shiprock, America/Thunder_Bay, America/Yellowknife, Antarctica/South_Pole, Asia/Choibalsan, Asia/Chongqing, Asia/Harbin, Asia/Kashgar, Asia/Tel_Aviv, Atlantic/Jan_Mayen, Australia/Canberra, Australia/Currie, Europe/Belfast, Europe/Tiraspol, Europe/Uzhgorod, Europe/Zaporozhye, Pacific/Enderbury, Pacific/Johnston, Pacific/Yap, WET, Africa/Asmera, America/Godthab, Asia/Ashkhabad, Asia/Calcutta, Asia/Chungking, Asia/Dacca, Asia/Istanbul, Asia/Katmandu, Asia/Macao, Asia/Rangoon, Asia/Saigon, Asia/Thimbu, Asia/Ujung_Pandang, Asia/Ulan_Bator, Atlantic/Faeroe, Europe/Kiev, Europe/Nicosia, HST, PST8PDT, Pacific/Ponape, Pacific/Truk, Etc/UTC, Etc/GMT, GMT, Etc/GMT-14, Etc/GMT-13, Etc/GMT-12, Etc/GMT-11, Etc/GMT-10, Etc/GMT-9, Etc/GMT-8, Etc/GMT-7, Etc/GMT-6, Etc/GMT-5, Etc/GMT-4, Etc/GMT-3, Etc/GMT-2, Etc/GMT-1, Etc/GMT+1, Etc/GMT+2, Etc/GMT+3, Etc/GMT+4, Etc/GMT+5, Etc/GMT+6, Etc/GMT+7, Etc/GMT+8, Etc/GMT+9, Etc/GMT+10, Etc/GMT+11, Etc/GMT+12, Europe/London, Europe/Dublin, Europe/Tirane, Europe/Andorra, Europe/Vienna, Europe/Minsk, Europe/Brussels, Europe/Sofia, Europe/Prague, Atlantic/Faroe, America/Danmarkshavn, America/Scoresbysund, America/Nuuk, America/Thule, Europe/Tallinn, Europe/Helsinki, Europe/Paris, Europe/Berlin, Europe/Gibraltar, Europe/Athens, Europe/Budapest, Europe/Rome, Europe/Riga, Europe/Vilnius, Europe/Malta, Europe/Chisinau, Europe/Warsaw, Europe/Lisbon, Atlantic/Azores, Atlantic/Madeira, Europe/Bucharest, Europe/Kaliningrad, Europe/Moscow, Europe/Simferopol, Europe/Astrakhan, Europe/Volgograd, Europe/Saratov, Europe/Kirov, Europe/Samara, Europe/Ulyanovsk, Asia/Yekaterinburg, Asia/Omsk, Asia/Barnaul, Asia/Novosibirsk, Asia/Tomsk, Asia/Novokuznetsk, Asia/Krasnoyarsk, Asia/Irkutsk, Asia/Chita, Asia/Yakutsk, Asia/Vladivostok, Asia/Khandyga, Asia/Sakhalin, Asia/Magadan, Asia/Srednekolymsk, Asia/Ust-Nera, Asia/Kamchatka, Asia/Anadyr, Europe/Belgrade, Europe/Madrid, Africa/Ceuta, Atlantic/Canary, Europe/Zurich, Europe/Istanbul, Europe/Kyiv, Factory, America/New_York, America/Chicago, America/North_Dakota/Center, America/North_Dakota/New_Salem, America/North_Dakota/Beulah, America/Denver, America/Los_Angeles, America/Juneau, America/Sitka, America/Metlakatla, America/Yakutat, America/Anchorage, America/Nome, America/Adak, Pacific/Honolulu, America/Phoenix, America/Boise, America/Indiana/Indianapolis, America/Indiana/Marengo, America/Indiana/Vincennes, America/Indiana/Tell_City, America/Indiana/Petersburg, America/Indiana/Knox, America/Indiana/Winamac, America/Indiana/Vevay, America/Kentucky/Louisville, America/Kentucky/Monticello, America/Detroit, America/Menominee, America/St_Johns, America/Goose_Bay, America/Halifax, America/Glace_Bay, America/Moncton, America/Toronto, America/Winnipeg, America/Regina, America/Swift_Current, America/Edmonton, America/Vancouver, America/Dawson_Creek, America/Fort_Nelson, America/Iqaluit, America/Resolute, America/Rankin_Inlet, America/Cambridge_Bay, America/Inuvik, America/Whitehorse, America/Dawson, America/Cancun, America/Merida, America/Matamoros, America/Monterrey, America/Mexico_City, America/Ciudad_Juarez, America/Ojinaga, America/Chihuahua, America/Hermosillo, America/Mazatlan, America/Bahia_Banderas, America/Tijuana, America/Barbados, America/Belize, Atlantic/Bermuda, America/Costa_Rica, America/Havana, America/Santo_Domingo, America/El_Salvador, America/Guatemala, America/Port-au-Prince, America/Tegucigalpa, America/Jamaica, America/Martinique, America/Managua, America/Panama, America/Puerto_Rico, America/Miquelon, America/Grand_Turk, America/Argentina/Buenos_Aires, America/Argentina/Cordoba, America/Argentina/Salta, America/Argentina/Tucuman, America/Argentina/La_Rioja, America/Argentina/San_Juan, America/Argentina/Jujuy, America/Argentina/Catamarca, America/Argentina/Mendoza, America/Argentina/San_Luis, America/Argentina/Rio_Gallegos, America/Argentina/Ushuaia, America/La_Paz, America/Noronha, America/Belem, America/Santarem, America/Fortaleza, America/Recife, America/Araguaina, America/Maceio, America/Bahia, America/Sao_Paulo, America/Campo_Grande, America/Cuiaba, America/Porto_Velho, America/Boa_Vista, America/Manaus, America/Eirunepe, America/Rio_Branco, America/Santiago, America/Coyhaique, America/Punta_Arenas, Pacific/Easter, Antarctica/Palmer, America/Bogota, America/Guayaquil, Pacific/Galapagos, Atlantic/Stanley, America/Cayenne, America/Guyana, America/Asuncion, America/Lima, Atlantic/South_Georgia, America/Paramaribo, America/Montevideo, America/Caracas. |
| Tools | json | No | Interact with the real world through API calls. |
| Voicemail message | text | No | When the AI encounters a voicemail, it will leave this message after the beep and then immediately end the call. |
| Voicemail action | json | No | This is processed separately from the AI’s decision making, and overrides it. If voicemail_message is set, then the AI will leave the message regardless of the voicemail_action. |
| Retry | json | No | If the call goes to voicemail, you can set up the call to retry, after a configurable delay. |
| Max duration (minutes) | numeric | No | 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. |
| Record call | string | No | When your call completes, you can access through the recording_url field in the call details or your webhook. One of: Yes, No. |
| Metadata | json | No | Add any additional information you want to associate with the call. This data is accessible for all calls, regardless of if they are picked up or not. This can be used to track calls or add custom data to the call. |
| Analysis preset | string | No | The analysis preset UUID used to analyze the call, must be created on the analysis presets page. |
| Available tags | string | No | Comma-separated list of disposition tags. Upon call completion, the AI will evaluate the transcripts of the call and assign one of the tags to the “disposition_tag” field. |
| Geospatial dialing | string | No | The geospatial dialing pool UUID. |
| Pre-call DTMF sequence | string | No | A sequence of DTMF digits that will be played before the call starts. |
| Request data | json | No | Any JSON you put in here will be visible to the AI agent during the call - and can also be referenced with Prompt Variables. |
| Analysis schema | json | No | 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. |
| Other data | json | No | Any fields you put in here will be sent in the request body of the call, but will be overridden by all other fields above if that field is also set. |
| Complete extension activity async | boolean | No | Whether to complete the extension activity async. When true, the extension activity will be completed asynchronously via a webhook. |
Returns:
| Data point | Type |
|---|---|
call_id | string |
Send call with pathway
Send an AI phone call based on a pathway
This action can be previewed in Studio before you publish, and retries automatically on a transient failure.
| Input | Type | Required | Description |
|---|---|---|---|
| Phone number | string | Yes | The phone number to call. |
| Pathway ID | text | Yes | The pathway ID for the pathway you have created. |
| Pathway version | numeric | No | The version number of the pathway to use for the call. Defaults to the production version. |
| Webhook | string | No | The webhook to send the call completed event to. |
| Voice | string | No | The voice of the AI agent to use. Accepts any form of voice ID, including custom voice clones and voice presets. |
| Background track | string | No | Select an audio track that you’d like to play in the background during the call. The audio will play continuously when the agent isn’t speaking, and is incorporated into it’s speech as well. One of: Default, Office, Cafe, Restaurant, None. |
| First sentence | string | No | Makes your agent say a specific phrase or sentence for it’s first response. |
| Wait for greeting | string | No | When enabled, the agent will wait for the call recipient to speak first before responding. One of: Yes, No. |
| Block interruptions | string | No | When enabled, the AI will not respond or process interruptions from the user. One of: Yes, No. |
| Interruption threshold | numeric | No | 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. |
| Model | string | No | Select a model to use for your call. One of: base, turbo. |
| Temperature | numeric | No | A value between 0 and 1 that controls the randomness of the LLM. 0 will cause more deterministic outputs while 1 will cause more random. |
| Dynamic data | json | No | Integrate data from external APIs into your agent’s knowledge. |
| Keywords | string | No | Comma-separated list of keywords. These words will be boosted in the transcription engine - recommended for proper nouns or words that are frequently mis-transcribed. |
| Pronunciation guide | json | No | The pronunciation guide is an array of objects that guides the agent on how to say specific words. This is great for situations with complicated terms or names. |
| Language | string | No | Optimizes transcription, speech, and other inner workings for the specified language. Enter a 2-letter ISO 639-1 code in lowercase, for example: en, es, fr. Defaults to English if not set. |
| Local dialing | string | No | When true, automatically selects a “from” number that matches the callee’s area code for US-based calls. Must have purchased a local dialing add-on. One of: Yes, No. |
| Voicemail SMS | json | No | Configure SMS settings for voicemail notifications. |
| Dispatch hours | json | No | Restricts calls to certain hours in your timezone. |
| Sensitive voicemail detection | string | No | When true, uses LLM-based analysis to detect frequent voicemails. One of: Yes, No. |
| Noise cancellation | string | No | Toggles noise filtering or suppression in the audio stream to filter out background noise. One of: Yes, No. |
| Ignore button press | string | No | When true, DTMF (digit) presses are ignored, disabling menu navigation or call transfers triggered by keypad input. One of: Yes, No. |
| Timezone | string | No | Set the timezone for the call. Handled automatically for calls in the US. One of: Africa/Algiers, Atlantic/Cape_Verde, Africa/Ndjamena, Africa/Abidjan, Africa/Cairo, Africa/Bissau, Africa/Nairobi, Africa/Monrovia, Africa/Tripoli, Indian/Mauritius, Africa/Casablanca, Africa/El_Aaiun, Africa/Maputo, Africa/Windhoek, Africa/Lagos, Africa/Sao_Tome, Africa/Johannesburg, Africa/Khartoum, Africa/Juba, Africa/Tunis, Antarctica/Casey, Antarctica/Davis, Antarctica/Mawson, Antarctica/Troll, Antarctica/Vostok, Antarctica/Rothera, Asia/Kabul, Asia/Yerevan, Asia/Baku, Asia/Dhaka, Asia/Thimphu, Indian/Chagos, Asia/Yangon, Asia/Shanghai, Asia/Urumqi, Asia/Hong_Kong, Asia/Taipei, Asia/Macau, Asia/Nicosia, Asia/Famagusta, Asia/Tbilisi, Asia/Dili, Asia/Kolkata, Asia/Jakarta, Asia/Pontianak, Asia/Makassar, Asia/Jayapura, Asia/Tehran, Asia/Baghdad, Asia/Jerusalem, Asia/Tokyo, Asia/Amman, Asia/Almaty, Asia/Qyzylorda, Asia/Qostanay, Asia/Aqtobe, Asia/Aqtau, Asia/Atyrau, Asia/Oral, Asia/Bishkek, Asia/Seoul, Asia/Pyongyang, Asia/Beirut, Asia/Kuching, Indian/Maldives, Asia/Hovd, Asia/Ulaanbaatar, Asia/Kathmandu, Asia/Karachi, Asia/Gaza, Asia/Hebron, Asia/Manila, Asia/Qatar, Asia/Riyadh, Asia/Singapore, Asia/Colombo, Asia/Damascus, Asia/Dushanbe, Asia/Bangkok, Asia/Ashgabat, Asia/Dubai, Asia/Samarkand, Asia/Tashkent, Asia/Ho_Chi_Minh, Australia/Darwin, Australia/Perth, Australia/Eucla, Australia/Brisbane, Australia/Lindeman, Australia/Adelaide, Australia/Hobart, Australia/Melbourne, Australia/Sydney, Australia/Broken_Hill, Australia/Lord_Howe, Antarctica/Macquarie, Pacific/Fiji, Pacific/Gambier, Pacific/Marquesas, Pacific/Tahiti, Pacific/Guam, Pacific/Tarawa, Pacific/Kanton, Pacific/Kiritimati, Pacific/Kwajalein, Pacific/Kosrae, Pacific/Nauru, Pacific/Noumea, Pacific/Auckland, Pacific/Chatham, Pacific/Rarotonga, Pacific/Niue, Pacific/Norfolk, Pacific/Palau, Pacific/Port_Moresby, Pacific/Bougainville, Pacific/Pitcairn, Pacific/Pago_Pago, Pacific/Apia, Pacific/Guadalcanal, Pacific/Fakaofo, Pacific/Tongatapu, Pacific/Efate, Australia/ACT, Australia/LHI, Australia/NSW, Australia/North, Australia/Queensland, Australia/South, Australia/Tasmania, Australia/Victoria, Australia/West, Australia/Yancowinna, Brazil/Acre, Brazil/DeNoronha, Brazil/East, Brazil/West, CET, CST6CDT, Canada/Atlantic, Canada/Central, Canada/Eastern, Canada/Mountain, Canada/Newfoundland, Canada/Pacific, Canada/Saskatchewan, Canada/Yukon, Chile/Continental, Chile/EasterIsland, Cuba, EET, EST, EST5EDT, Egypt, Eire, Etc/GMT+0, Etc/GMT-0, Etc/GMT0, Etc/Greenwich, Etc/UCT, Etc/Universal, Etc/Zulu, GB, GB-Eire, GMT+0, GMT-0, GMT0, Greenwich, Hongkong, Iceland, Iran, Israel, Jamaica, Japan, Kwajalein, Libya, MET, MST, MST7MDT, Mexico/BajaNorte, Mexico/BajaSur, Mexico/General, NZ, NZ-CHAT, Navajo, PRC, Poland, Portugal, ROC, ROK, Singapore, Turkey, UCT, US/Alaska, US/Aleutian, US/Arizona, US/Central, US/East-Indiana, US/Eastern, US/Hawaii, US/Indiana-Starke, US/Michigan, US/Mountain, US/Pacific, US/Samoa, UTC, Universal, W-SU, Zulu, America/Buenos_Aires, America/Catamarca, America/Cordoba, America/Indianapolis, America/Jujuy, America/Knox_IN, America/Louisville, America/Mendoza, America/Virgin, Pacific/Samoa, Africa/Accra, Africa/Addis_Ababa, Africa/Asmara, Africa/Bamako, Africa/Bangui, Africa/Banjul, Africa/Blantyre, Africa/Brazzaville, Africa/Bujumbura, Africa/Conakry, Africa/Dakar, Africa/Dar_es_Salaam, Africa/Djibouti, Africa/Douala, Africa/Freetown, Africa/Gaborone, Africa/Harare, Africa/Kampala, Africa/Kigali, Africa/Kinshasa, Africa/Libreville, Africa/Lome, Africa/Luanda, Africa/Lubumbashi, Africa/Lusaka, Africa/Malabo, Africa/Maseru, Africa/Mbabane, Africa/Mogadishu, Africa/Niamey, Africa/Nouakchott, Africa/Ouagadougou, Africa/Porto-Novo, America/Anguilla, America/Antigua, America/Aruba, America/Atikokan, America/Blanc-Sablon, America/Cayman, America/Creston, America/Curacao, America/Dominica, America/Grenada, America/Guadeloupe, America/Kralendijk, America/Lower_Princes, America/Marigot, America/Montserrat, America/Nassau, America/Port_of_Spain, America/St_Barthelemy, America/St_Kitts, America/St_Lucia, America/St_Thomas, America/St_Vincent, America/Tortola, Antarctica/DumontDUrville, Antarctica/McMurdo, Antarctica/Syowa, Arctic/Longyearbyen, Asia/Aden, Asia/Bahrain, Asia/Brunei, Asia/Kuala_Lumpur, Asia/Kuwait, Asia/Muscat, Asia/Phnom_Penh, Asia/Vientiane, Atlantic/Reykjavik, Atlantic/St_Helena, Europe/Amsterdam, Europe/Bratislava, Europe/Busingen, Europe/Copenhagen, Europe/Guernsey, Europe/Isle_of_Man, Europe/Jersey, Europe/Ljubljana, Europe/Luxembourg, Europe/Mariehamn, Europe/Monaco, Europe/Oslo, Europe/Podgorica, Europe/San_Marino, Europe/Sarajevo, Europe/Skopje, Europe/Stockholm, Europe/Vaduz, Europe/Vatican, Europe/Zagreb, Indian/Antananarivo, Indian/Christmas, Indian/Cocos, Indian/Comoro, Indian/Kerguelen, Indian/Mahe, Indian/Mayotte, Indian/Reunion, Pacific/Chuuk, Pacific/Funafuti, Pacific/Majuro, Pacific/Midway, Pacific/Pohnpei, Pacific/Saipan, Pacific/Wake, Pacific/Wallis, Africa/Timbuktu, America/Argentina/ComodRivadavia, America/Atka, America/Coral_Harbour, America/Ensenada, America/Fort_Wayne, America/Montreal, America/Nipigon, America/Pangnirtung, America/Porto_Acre, America/Rainy_River, America/Rosario, America/Santa_Isabel, America/Shiprock, America/Thunder_Bay, America/Yellowknife, Antarctica/South_Pole, Asia/Choibalsan, Asia/Chongqing, Asia/Harbin, Asia/Kashgar, Asia/Tel_Aviv, Atlantic/Jan_Mayen, Australia/Canberra, Australia/Currie, Europe/Belfast, Europe/Tiraspol, Europe/Uzhgorod, Europe/Zaporozhye, Pacific/Enderbury, Pacific/Johnston, Pacific/Yap, WET, Africa/Asmera, America/Godthab, Asia/Ashkhabad, Asia/Calcutta, Asia/Chungking, Asia/Dacca, Asia/Istanbul, Asia/Katmandu, Asia/Macao, Asia/Rangoon, Asia/Saigon, Asia/Thimbu, Asia/Ujung_Pandang, Asia/Ulan_Bator, Atlantic/Faeroe, Europe/Kiev, Europe/Nicosia, HST, PST8PDT, Pacific/Ponape, Pacific/Truk, Etc/UTC, Etc/GMT, GMT, Etc/GMT-14, Etc/GMT-13, Etc/GMT-12, Etc/GMT-11, Etc/GMT-10, Etc/GMT-9, Etc/GMT-8, Etc/GMT-7, Etc/GMT-6, Etc/GMT-5, Etc/GMT-4, Etc/GMT-3, Etc/GMT-2, Etc/GMT-1, Etc/GMT+1, Etc/GMT+2, Etc/GMT+3, Etc/GMT+4, Etc/GMT+5, Etc/GMT+6, Etc/GMT+7, Etc/GMT+8, Etc/GMT+9, Etc/GMT+10, Etc/GMT+11, Etc/GMT+12, Europe/London, Europe/Dublin, Europe/Tirane, Europe/Andorra, Europe/Vienna, Europe/Minsk, Europe/Brussels, Europe/Sofia, Europe/Prague, Atlantic/Faroe, America/Danmarkshavn, America/Scoresbysund, America/Nuuk, America/Thule, Europe/Tallinn, Europe/Helsinki, Europe/Paris, Europe/Berlin, Europe/Gibraltar, Europe/Athens, Europe/Budapest, Europe/Rome, Europe/Riga, Europe/Vilnius, Europe/Malta, Europe/Chisinau, Europe/Warsaw, Europe/Lisbon, Atlantic/Azores, Atlantic/Madeira, Europe/Bucharest, Europe/Kaliningrad, Europe/Moscow, Europe/Simferopol, Europe/Astrakhan, Europe/Volgograd, Europe/Saratov, Europe/Kirov, Europe/Samara, Europe/Ulyanovsk, Asia/Yekaterinburg, Asia/Omsk, Asia/Barnaul, Asia/Novosibirsk, Asia/Tomsk, Asia/Novokuznetsk, Asia/Krasnoyarsk, Asia/Irkutsk, Asia/Chita, Asia/Yakutsk, Asia/Vladivostok, Asia/Khandyga, Asia/Sakhalin, Asia/Magadan, Asia/Srednekolymsk, Asia/Ust-Nera, Asia/Kamchatka, Asia/Anadyr, Europe/Belgrade, Europe/Madrid, Africa/Ceuta, Atlantic/Canary, Europe/Zurich, Europe/Istanbul, Europe/Kyiv, Factory, America/New_York, America/Chicago, America/North_Dakota/Center, America/North_Dakota/New_Salem, America/North_Dakota/Beulah, America/Denver, America/Los_Angeles, America/Juneau, America/Sitka, America/Metlakatla, America/Yakutat, America/Anchorage, America/Nome, America/Adak, Pacific/Honolulu, America/Phoenix, America/Boise, America/Indiana/Indianapolis, America/Indiana/Marengo, America/Indiana/Vincennes, America/Indiana/Tell_City, America/Indiana/Petersburg, America/Indiana/Knox, America/Indiana/Winamac, America/Indiana/Vevay, America/Kentucky/Louisville, America/Kentucky/Monticello, America/Detroit, America/Menominee, America/St_Johns, America/Goose_Bay, America/Halifax, America/Glace_Bay, America/Moncton, America/Toronto, America/Winnipeg, America/Regina, America/Swift_Current, America/Edmonton, America/Vancouver, America/Dawson_Creek, America/Fort_Nelson, America/Iqaluit, America/Resolute, America/Rankin_Inlet, America/Cambridge_Bay, America/Inuvik, America/Whitehorse, America/Dawson, America/Cancun, America/Merida, America/Matamoros, America/Monterrey, America/Mexico_City, America/Ciudad_Juarez, America/Ojinaga, America/Chihuahua, America/Hermosillo, America/Mazatlan, America/Bahia_Banderas, America/Tijuana, America/Barbados, America/Belize, Atlantic/Bermuda, America/Costa_Rica, America/Havana, America/Santo_Domingo, America/El_Salvador, America/Guatemala, America/Port-au-Prince, America/Tegucigalpa, America/Jamaica, America/Martinique, America/Managua, America/Panama, America/Puerto_Rico, America/Miquelon, America/Grand_Turk, America/Argentina/Buenos_Aires, America/Argentina/Cordoba, America/Argentina/Salta, America/Argentina/Tucuman, America/Argentina/La_Rioja, America/Argentina/San_Juan, America/Argentina/Jujuy, America/Argentina/Catamarca, America/Argentina/Mendoza, America/Argentina/San_Luis, America/Argentina/Rio_Gallegos, America/Argentina/Ushuaia, America/La_Paz, America/Noronha, America/Belem, America/Santarem, America/Fortaleza, America/Recife, America/Araguaina, America/Maceio, America/Bahia, America/Sao_Paulo, America/Campo_Grande, America/Cuiaba, America/Porto_Velho, America/Boa_Vista, America/Manaus, America/Eirunepe, America/Rio_Branco, America/Santiago, America/Coyhaique, America/Punta_Arenas, Pacific/Easter, Antarctica/Palmer, America/Bogota, America/Guayaquil, Pacific/Galapagos, Atlantic/Stanley, America/Cayenne, America/Guyana, America/Asuncion, America/Lima, Atlantic/South_Georgia, America/Paramaribo, America/Montevideo, America/Caracas. |
| Tools | json | No | Interact with the real world through API calls. |
| Voicemail message | text | No | When the AI encounters a voicemail, it will leave this message after the beep and then immediately end the call. |
| Voicemail action | json | No | This is processed separately from the AI’s decision making, and overrides it. If voicemail_message is set, then the AI will leave the message regardless of the voicemail_action. |
| Retry | json | No | If the call goes to voicemail, you can set up the call to retry, after a configurable delay. |
| Max duration (minutes) | numeric | No | 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. |
| Record call | string | No | When your call completes, you can access through the recording_url field in the call details or your webhook. One of: Yes, No. |
| Metadata | json | No | Add any additional information you want to associate with the call. This data is accessible for all calls, regardless of if they are picked up or not. This can be used to track calls or add custom data to the call. |
| Analysis preset | string | No | The analysis preset UUID used to analyze the call, must be created on the analysis presets page. |
| Available tags | string | No | Comma-separated list of disposition tags. Upon call completion, the AI will evaluate the transcripts of the call and assign one of the tags to the “disposition_tag” field. |
| Geospatial dialing | string | No | The geospatial dialing pool UUID. |
| Pre-call DTMF sequence | string | No | A sequence of DTMF digits that will be played before the call starts. |
| Request data | json | No | Any JSON you put in here will be visible to the AI agent during the call - and can also be referenced with Prompt Variables. |
| Analysis schema | json | No | 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. |
| Other data | json | No | Any fields you put in here will be sent in the request body of the call, but will be overridden by all other fields above if that field is also set. |
| Complete extension activity async | boolean | No | Whether to complete the extension activity async. When true, the extension activity will be completed asynchronously via a webhook. |
Returns:
| Data point | Type |
|---|---|
call_id | string |
Initiates an AI phone call using a simple prompt or a conversational pathway agent built on the Bland platform. This action is asynchronous—it triggers a call request in Bland, which queues the call. Note that the action only confirms that Bland has received the request; it does not wait for the call to complete or handle any callbacks from Bland.
Awell lets you specify both the data you want to send to Bland and the structured data you’d like to receive in return. This is achieved by defining the request data for outgoing information and an analysis schema for the structured data you’ll get back.
Send SMS
Send an SMS message immediately. The agent message is optional when a pathway drives the conversation.
This action can be previewed in Studio before you publish, and retries automatically on a transient failure.
| Input | Type | Required | Description |
|---|---|---|---|
| User phone number | string | Yes | The phone number of the recipient (E.164 format). |
| Agent phone number | string | Yes | The Bland-owned, SMS-enabled phone number to send the message from (E.164 format). |
| Agent message | text | No | The message to send. When omitted and a pathway is configured on the agent number, the pathway generates the message. |
| Pathway ID | string | No | The conversational pathway to drive the SMS conversation with. |
| Start new conversation | string | No | When enabled, starts a fresh conversation instead of continuing an existing one. One of: Yes, No. |
| Webhook | string | No | The webhook URL to send SMS conversation events to. The Awell activity ID is appended as an activity_id query parameter for correlation. |
| Timeout (seconds) | numeric | No | Seconds of user silence (after an agent message) before the timeout flow fires (warning message and/or conversation end). Overrides the time_out on the agent number’s SMS config and persists on the conversation. |
| Timeout message | text | No | The message sent to the user when the timeout fires. Overrides the timeout_message on the agent number’s SMS config. |
| Warning time (seconds) | numeric | No | Seconds of user silence before sending the warning message. Must be less than the timeout. Overrides the warning_time on the agent number’s SMS config. |
| Warning message | text | No | The warning message sent to the user at the warning time. Overrides the warning_message on the agent number’s SMS config. |
| Request data | json | No | JSON object of variables made available to the pathway/agent during the conversation. Can be referenced with Prompt Variables. |
| Metadata | json | No | Add any additional information you want to associate with the conversation. |
Returns:
| Data point | Type |
|---|---|
conversationId | string |
smsResponse | json |
Stop active call
End an active phone call by call ID.
This action retries automatically on a transient failure.
| Input | Type | Required | Description |
|---|---|---|---|
| Call ID | string | Yes | The unique identifier for the call you want to end. |
Returns:
| Data point | Type |
|---|---|
message | string |
status | string |
Webhooks
Bland.ai can send these 2 events into Awell, where each one can start a care flow or move a patient along. Point the webhook at the URL Studio shows you when you enable it.
callCompleted
Payload:
| Data point | Type |
|---|---|
answeredBy | string |
callId | string |
callObject | json |
completed | boolean |
errorMessage | string |
status | string |
completedBlandText
Payload:
| Data point | Type |
|---|---|
agentNumber | string |
conversationId | string |
conversationObject | json |
messageCount | number |
pathwayId | string |
reason | string |
status | string |
transcript | string |
userNumber | string |
variables | json |
Setup and notes
With Bland.ai you can build, test, and deploy AI phone calling agents.
Extension settings
To set up this extension, you will need to provide an API key for Bland.
Request data
Any JSON you put in here will be visible to the AI agent during the call - and can also be referenced with Prompt Variables.
For example, let’s say in the action you want to programmatically set the name of the person you’re calling. You could set request data to:
{
"name": "John Doe",
}Analysis schema
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.
For example, if you wanted to retrieve this information from the call:
{
"email_address": "email",
"first_name": "string",
"last_name": "string",
"wants_to_book_appointment": "boolean",
"appointment_time": "YYYY-MM-DD HH:MM:SS"
}When retrieving the call details, Bland will return data about the call in the following format:
{
"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"
}
}Changelog
Unreleased
- Added
sendSmsaction: send an SMS immediately via BlandPOST /v1/sms/send. The agent message is optional; when omitted, the pathway configured on the agent number generates the message. - Added
createSmsConversationaction: seed an SMS conversation positioned at pathway state via BlandPOST /v1/sms/createwithout sending a message. - Added optional timeout fields to
sendSms(time_out,timeout_message,warning_time,warning_message): per-conversation overrides for Bland's silence-timeout flow. - Added
completedBlandTextwebhook: triggered when a Bland SMS conversation ends. Maps conversation data (status, reason, transcript, pathway variables) to data points and resolves the patient via theawell_patient_idechoed back in metadata.
Where this page comes from
The settings, actions, inputs, outputs and webhooks above are generated from the
extension's own code, at @awell-health/awell-extensions v2.1.159. They match what the
platform actually does rather than a description of it.
Field-level detail also appears in Awell Studio when you configure the action. Something wrong or missing? Email support@awellhealth.com.