Reference

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.

SettingRequiredNotes
Bland API keyYes— 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.

InputTypeRequiredDescription
User phone numberstringYesThe phone number of the user in the conversation (E.164 format).
Agent phone numberstringYesThe Bland-owned, SMS-enabled phone number for the conversation (E.164 format).
MessagetextYesThe message to seed the conversation with. It is recorded in the conversation but NOT sent to the user.
SenderstringNoWho the seeded message is attributed to. Defaults to USER when omitted. One of: User, Agent.
Current pathway IDstringNoThe pathway to position the conversation on.
Current pathway versionstringNoThe version of the pathway.
Current node IDstringNoThe pathway node the conversation should be positioned at.
Start new conversationstringNoWhen enabled, starts a fresh conversation instead of continuing an existing one. One of: Yes, No.
Request datajsonNoJSON object of variables made available to the pathway/agent during the conversation. Can be referenced with Prompt Variables.

Returns:

Data pointType
conversationIdstring
createResponsejson

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.

InputTypeRequiredDescription
Call IDstringYesThe identifier of the call for which you want to retrieve information.

Returns:

Data pointType
analysisjson
analysisSchemajson
answeredBystring
callDatajson
callLengthnumber
completedboolean
concatenatedTranscriptstring
endAtdate
errorMessagestring
fromtelephone
metadatajson
startedAtdate
statusstring
summarystring
totelephone
transcriptsjson

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.

InputTypeRequiredDescription
Phone numberstringYesThe phone number to call.
WebhookstringNoThe webhook to send the call completed event to.
TasktextYesProvide instructions, relevant information, and examples of the ideal conversation flow.
VoicestringNoThe voice of the AI agent to use. Accepts any form of voice ID, including custom voice clones and voice presets.
Background trackstringNoSelect 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 sentencestringNoMakes your agent say a specific phrase or sentence for it’s first response.
Wait for greetingstringNoWhen enabled, the agent will wait for the call recipient to speak first before responding. One of: Yes, No.
Block interruptionsstringNoWhen enabled, the AI will not respond or process interruptions from the user. One of: Yes, No.
Interruption thresholdnumericNoAdjusts 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.
ModelstringNoSelect a model to use for your call. One of: base, turbo.
TemperaturenumericNoA 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 datajsonNoIntegrate data from external APIs into your agent’s knowledge.
KeywordsstringNoComma-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 guidejsonNoThe 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.
LanguagestringNoOptimizes 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 dialingstringNoWhen 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 SMSjsonNoConfigure SMS settings for voicemail notifications.
Dispatch hoursjsonNoRestricts calls to certain hours in your timezone.
Sensitive voicemail detectionstringNoWhen true, uses LLM-based analysis to detect frequent voicemails. One of: Yes, No.
Noise cancellationstringNoToggles noise filtering or suppression in the audio stream to filter out background noise. One of: Yes, No.
Ignore button pressstringNoWhen true, DTMF (digit) presses are ignored, disabling menu navigation or call transfers triggered by keypad input. One of: Yes, No.
TimezonestringNoSet 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.
ToolsjsonNoInteract with the real world through API calls.
Voicemail messagetextNoWhen the AI encounters a voicemail, it will leave this message after the beep and then immediately end the call.
Voicemail actionjsonNoThis 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.
RetryjsonNoIf the call goes to voicemail, you can set up the call to retry, after a configurable delay.
Max duration (minutes)numericNoWhen 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 callstringNoWhen your call completes, you can access through the recording_url field in the call details or your webhook. One of: Yes, No.
MetadatajsonNoAdd 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 presetstringNoThe analysis preset UUID used to analyze the call, must be created on the analysis presets page.
Available tagsstringNoComma-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 dialingstringNoThe geospatial dialing pool UUID.
Pre-call DTMF sequencestringNoA sequence of DTMF digits that will be played before the call starts.
Request datajsonNoAny JSON you put in here will be visible to the AI agent during the call - and can also be referenced with Prompt Variables.
Analysis schemajsonNoDefine 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 datajsonNoAny 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 asyncbooleanNoWhether to complete the extension activity async. When true, the extension activity will be completed asynchronously via a webhook.

Returns:

Data pointType
call_idstring

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.

InputTypeRequiredDescription
Phone numberstringYesThe phone number to call.
Pathway IDtextYesThe pathway ID for the pathway you have created.
Pathway versionnumericNoThe version number of the pathway to use for the call. Defaults to the production version.
WebhookstringNoThe webhook to send the call completed event to.
VoicestringNoThe voice of the AI agent to use. Accepts any form of voice ID, including custom voice clones and voice presets.
Background trackstringNoSelect 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 sentencestringNoMakes your agent say a specific phrase or sentence for it’s first response.
Wait for greetingstringNoWhen enabled, the agent will wait for the call recipient to speak first before responding. One of: Yes, No.
Block interruptionsstringNoWhen enabled, the AI will not respond or process interruptions from the user. One of: Yes, No.
Interruption thresholdnumericNoAdjusts 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.
ModelstringNoSelect a model to use for your call. One of: base, turbo.
TemperaturenumericNoA 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 datajsonNoIntegrate data from external APIs into your agent’s knowledge.
KeywordsstringNoComma-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 guidejsonNoThe 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.
LanguagestringNoOptimizes 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 dialingstringNoWhen 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 SMSjsonNoConfigure SMS settings for voicemail notifications.
Dispatch hoursjsonNoRestricts calls to certain hours in your timezone.
Sensitive voicemail detectionstringNoWhen true, uses LLM-based analysis to detect frequent voicemails. One of: Yes, No.
Noise cancellationstringNoToggles noise filtering or suppression in the audio stream to filter out background noise. One of: Yes, No.
Ignore button pressstringNoWhen true, DTMF (digit) presses are ignored, disabling menu navigation or call transfers triggered by keypad input. One of: Yes, No.
TimezonestringNoSet 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.
ToolsjsonNoInteract with the real world through API calls.
Voicemail messagetextNoWhen the AI encounters a voicemail, it will leave this message after the beep and then immediately end the call.
Voicemail actionjsonNoThis 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.
RetryjsonNoIf the call goes to voicemail, you can set up the call to retry, after a configurable delay.
Max duration (minutes)numericNoWhen 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 callstringNoWhen your call completes, you can access through the recording_url field in the call details or your webhook. One of: Yes, No.
MetadatajsonNoAdd 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 presetstringNoThe analysis preset UUID used to analyze the call, must be created on the analysis presets page.
Available tagsstringNoComma-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 dialingstringNoThe geospatial dialing pool UUID.
Pre-call DTMF sequencestringNoA sequence of DTMF digits that will be played before the call starts.
Request datajsonNoAny JSON you put in here will be visible to the AI agent during the call - and can also be referenced with Prompt Variables.
Analysis schemajsonNoDefine 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 datajsonNoAny 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 asyncbooleanNoWhether to complete the extension activity async. When true, the extension activity will be completed asynchronously via a webhook.

Returns:

Data pointType
call_idstring

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.

InputTypeRequiredDescription
User phone numberstringYesThe phone number of the recipient (E.164 format).
Agent phone numberstringYesThe Bland-owned, SMS-enabled phone number to send the message from (E.164 format).
Agent messagetextNoThe message to send. When omitted and a pathway is configured on the agent number, the pathway generates the message.
Pathway IDstringNoThe conversational pathway to drive the SMS conversation with.
Start new conversationstringNoWhen enabled, starts a fresh conversation instead of continuing an existing one. One of: Yes, No.
WebhookstringNoThe webhook URL to send SMS conversation events to. The Awell activity ID is appended as an activity_id query parameter for correlation.
Timeout (seconds)numericNoSeconds 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 messagetextNoThe message sent to the user when the timeout fires. Overrides the timeout_message on the agent number’s SMS config.
Warning time (seconds)numericNoSeconds 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 messagetextNoThe warning message sent to the user at the warning time. Overrides the warning_message on the agent number’s SMS config.
Request datajsonNoJSON object of variables made available to the pathway/agent during the conversation. Can be referenced with Prompt Variables.
MetadatajsonNoAdd any additional information you want to associate with the conversation.

Returns:

Data pointType
conversationIdstring
smsResponsejson

Stop active call

End an active phone call by call ID.

This action retries automatically on a transient failure.

InputTypeRequiredDescription
Call IDstringYesThe unique identifier for the call you want to end.

Returns:

Data pointType
messagestring
statusstring

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 pointType
answeredBystring
callIdstring
callObjectjson
completedboolean
errorMessagestring
statusstring

completedBlandText

Payload:

Data pointType
agentNumberstring
conversationIdstring
conversationObjectjson
messageCountnumber
pathwayIdstring
reasonstring
statusstring
transcriptstring
userNumberstring
variablesjson

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",
}

Also see Bland documentation.

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"
  }
}

Also see Bland documentation.

Changelog

Unreleased

  • Added sendSms action: send an SMS immediately via Bland POST /v1/sms/send. The agent message is optional; when omitted, the pathway configured on the agent number generates the message.
  • Added createSmsConversation action: seed an SMS conversation positioned at pathway state via Bland POST /v1/sms/create without 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 completedBlandText webhook: triggered when a Bland SMS conversation ends. Maps conversation data (status, reason, transcript, pathway variables) to data points and resolves the patient via the awell_patient_id echoed 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.

On this page