The Bland AI connector lets your AI agent act in each user's Bland AI account. Each user connects their own Bland AI access token once, and Scalekit sends it with every call, so your agent never handles credentials. It comes with 50 tools.
- Tools
- 50
- What they doRead · write · destructive
- 33 · 15 · 233 read15 write2 destructive
- Users sign in with
- Access token
Setup
Install the SDK
Terminal window npm install @scalekit-sdk/node dotenvTerminal window pip install scalekit-sdk-python python-dotenvSet your credentials
Add your Scalekit credentials to your
.envfile. Find values in app.scalekit.com > Developers > API Credentials..env SCALEKIT_ENVIRONMENT_URL=<your-environment-url>SCALEKIT_CLIENT_ID=<your-client-id>SCALEKIT_CLIENT_SECRET=<your-client-secret>Create the Bland AI connection
In AgentKit > Connections, create a Bland AI connection. The name you give it is the
connection_nameyour code passes. See Configure connections.Authorize a user and make your first call
quickstart.mts import { ScalekitClient } from '@scalekit-sdk/node'import 'dotenv/config'import { createInterface } from 'node:readline/promises'const scalekit = new ScalekitClient(process.env.SCALEKIT_ENVIRONMENT_URL,process.env.SCALEKIT_CLIENT_ID,process.env.SCALEKIT_CLIENT_SECRET,)const actions = scalekit.actionsconst connector = 'bland'const identifier = 'user_123'// Generate an authorization link for the userconst { link } = await actions.getAuthorizationLink({ connectionName: connector, identifier })console.log('Authorize Bland AI:', link)const rl = createInterface({ input: process.stdin, output: process.stdout })await rl.question('Press Enter after authorizing...')rl.close()// Make your first callconst result = await actions.executeTool({connector,identifier,toolName: 'bland_get_account',toolInput: {},})console.log(result)Terminal window npx tsx quickstart.mtsquickstart.py import osfrom scalekit import ScalekitClientfrom dotenv import load_dotenvload_dotenv()scalekit_client = ScalekitClient(env_url=os.getenv("SCALEKIT_ENVIRONMENT_URL"),client_id=os.getenv("SCALEKIT_CLIENT_ID"),client_secret=os.getenv("SCALEKIT_CLIENT_SECRET"),)actions = scalekit_client.actionsconnection_name = "bland"identifier = "user_123"# Generate an authorization link for the userlink_response = actions.get_authorization_link(connection_name=connection_name,identifier=identifier,)print("Authorize Bland AI:", link_response.link)input("Press Enter after authorizing...")# Make your first callresult = actions.execute_tool(tool_input={},tool_name="bland_get_account",connection_name=connection_name,identifier=identifier,)print(result)Terminal window python quickstart.pyEach user opens the link once and enters their Bland AI credentials there. See Authorize a user for the full flow and statuses.
Tools
Pass the exact name toexecute_toolbland_analyze_callRun AI analysis over a finished call transcript to answer questions you define.Read-onlyAnalyze Call
Run AI analysis over a finished call transcript to answer questions you define. Returns status, message, an answers array in the same order as the questions, and credits_used. Use to extract structured answers from a call. Use get_call to read the raw transcript instead. The call must have completed and have a transcript.
Inputs
call_idstringrequired- ID of the call to analyze.
goalstringrequired- Overall purpose of the call. Gives the analysis context for interpreting the transcript.
questionsarrayrequired- Questions to answer about the call. Each question is a two-item array: the question text and the expected answer type, for example [["Did the customer agree to a follow-up?", "boolean"]].
bland_find_contactFind a contact by phone number, email or external ID without creating anything.Read-onlyFind Contact
Find a contact by phone number, email or external ID without creating anything. Returns data with the contact's id, name, metadata, identifiers and memories, or null when no contact matches. Use to look up an existing contact. Use resolve_contact to find or create one in a single step. Provide at least one of phone_number, email or external_id.
Inputs
emailstring- Email address to search for.
external_idstring- External ID to search for.
phone_numberstring- Phone number to search for, in E.164 format.
bland_get_accountRetrieve details of your Bland account, including balance and call totals.Read-onlyGet Account
Retrieve details of your Bland account, including balance and call totals. Returns billing with current_balance, the account status and total_calls. Use to check credit balance before placing calls or to confirm the API key works.
Inputs
This tool takes no inputs.
bland_get_agentRetrieve one agent together with its dev, staging and production environments.Read-onlyGet Agent
Retrieve one agent together with its dev, staging and production environments. Returns data with the agent id, name, timestamps and an environments array showing each environment's pinned version. Use to see which version each environment runs. Use list_agent_versions for saved versions.
Inputs
agent_idstringrequired- ID of the agent.
bland_get_batchRetrieve metadata and shared configuration for one call batch.Read-onlyGet Batch
Retrieve metadata and shared configuration for one call batch. Returns data with id, description, base_prompt, created_at and a preview of call_objects. Use to inspect a batch. Use get_batch_logs for its lifecycle events and list_calls with batch_id for its calls.
Inputs
batch_idstringrequired- ID of the batch.
bland_get_batch_logsRetrieve lifecycle log entries for a call batch, such as when it started and completed.Read-onlyGet Batch Logs
Retrieve lifecycle log entries for a call batch, such as when it started and completed. Returns a data array of log entries with id, event_type, timestamp and a payload object. Use to follow a batch's progress. Use get_batch for its configuration.
Inputs
batch_idstringrequired- ID of the batch.
directionstring- Sort order of the logs: asc or desc. Defaults to desc.one of
ascdesc skipinteger- Number of log entries to skip, for pagination.
takeinteger- Number of log entries to return.
bland_get_callRetrieve full details for one call, including status, transcript, summary, recording URL, analysis and cost.Read-onlyGet Call
Retrieve full details for one call, including status, transcript, summary, recording URL, analysis and cost. Returns the call object with completed, status, answered_by, call_length, summary, concatenated_transcript, transcripts, variables, price and related fields. Use after send_call to check the outcome. Use list_calls to browse many calls without transcripts.
Inputs
call_idstringrequired- ID of the call. You can also pass the external_id you set when sending the call.
fieldsstring- Comma-separated list of response fields to return, for example status,summary,variables. Omit to return everything.
bland_get_contactRetrieve one contact by its ID, with identifiers and memories.Read-onlyGet Contact
Retrieve one contact by its ID, with identifiers and memories. Returns data with the contact's id, org_id, name, metadata, identifiers and memories. Use when you already have the contact ID. Use find_contact to search by phone, email or external ID.
Inputs
contact_idstringrequired- ID of the contact.
bland_get_corrected_transcriptGet a corrected transcript of a call, rebuilt from the recording with speaker labels and confidence scores.Read-onlyGet Corrected Transcript
Get a corrected transcript of a call, rebuilt from the recording with speaker labels and confidence scores. Returns status, message and a corrected array of utterances with speaker and confidence details. Use when the live transcript from get_call looks wrong. Use get_call for the standard transcript and summary. The call must be finished and recorded.
Inputs
call_idstringrequired- ID of the call to correct.
bland_get_inbound_numberRetrieve the settings of one inbound phone number.Read-onlyGet Inbound Number
Retrieve the settings of one inbound phone number. Returns created_at, phone_number, prompt, pathway_id, voice, background_track, webhook, max_duration and fallback_number. Use to inspect how an inbound number answers calls. Use update_inbound_number to change it.
Inputs
phone_numberstringrequired- Inbound phone number with country code and no plus sign, for example 15551234567. A US country code is assumed when none is given.
bland_get_knowledge_baseRetrieve one knowledge base item, including its processing status.Read-onlyGet Knowledge Base Item
Retrieve one knowledge base item, including its processing status. Returns data with the item's id, name, description, type, status, source URLs, file details and error_message. Use to check whether an item finished processing. Use list_knowledge_bases to find IDs.
Inputs
knowledge_base_idstringrequired- ID of the knowledge base item.
bland_get_latest_agent_versionRetrieve the newest saved version of an agent with its full configuration snapshot.Read-onlyGet Latest Agent Version
Retrieve the newest saved version of an agent with its full configuration snapshot. Returns data with the version id, agent_id, name, revision, created_at and a snapshot of behavior, settings and contact details. Use to read an agent's current configuration. Use list_agent_versions for version history without snapshots.
Inputs
agent_idstringrequired- ID of the agent.
branchstring- Branch ID. When set, returns that branch's newest save. Omit for the main dev timeline.
bland_get_pathwayRetrieve one conversational pathway with its nodes and edges.Read-onlyGet Pathway
Retrieve one conversational pathway with its nodes and edges. Returns the pathway name, description, nodes and edges. Use before update_pathway to read the current graph. Use list_pathways to find the ID.
Inputs
pathway_idstringrequired- ID of the pathway.
bland_get_personaRetrieve one persona with its production version and pathway conditions.Read-onlyGet Persona
Retrieve one persona with its production version and pathway conditions. Returns data with the persona's id, name, role, description, tags, inbound_numbers, current versions and pathway_conditions. Use to inspect a persona. Use list_personas to find IDs.
Inputs
persona_idstringrequired- ID of the persona.
bland_get_promptRetrieve one saved prompt by ID.Read-onlyGet Prompt
Retrieve one saved prompt by ID. Returns status and a prompt object with id, name, prompt text and last_updated. Use to read a saved prompt found with list_prompts.
Inputs
prompt_idstringrequired- ID of the prompt.
bland_get_sms_conversationRetrieve one SMS conversation with all of its messages.Read-onlyGet SMS Conversation
Retrieve one SMS conversation with all of its messages. Returns data with the conversation id, numbers, is_active, summary, disposition_tag, variables and a chronological messages array. Use to read a thread or check for replies after send_sms. Use list_sms_conversations to find IDs.
Inputs
idstringrequired- ID of the SMS conversation.
bland_get_voiceRetrieve the record for one voice by its ID or curated name.Read-onlyGet Voice
Retrieve the record for one voice by its ID or curated name. Returns a voice object with id, name, description, tags, service, public flag and ratings. Use to check a voice you already know. Use list_voices to browse all voices.
Inputs
idstringrequired- Voice UUID or curated voice name, for example Karen.
bland_list_active_callsList calls that are currently queued or in progress for your organization.Read-onlyList Active Calls
List calls that are currently queued or in progress for your organization. Returns a data array with call_id, from, to, status, start_time, pathway_id, agent_id and inbound for each active call. Use to monitor live calls or find a call to stop. Use list_calls for finished calls.
Inputs
This tool takes no inputs.
bland_list_agent_versionsList the saved versions of an agent, newest first.Read-onlyList Agent Versions
List the saved versions of an agent, newest first. Returns a data array of version metadata with id, name, created_via, created_at and semver. Use to browse an agent's history. Use get_latest_agent_version for the newest version with its full configuration.
Inputs
agent_idstringrequired- ID of the agent.
branchstring- Branch ID. When set, lists only that branch's saves. Omit to list the main dev timeline.
limitinteger- Maximum number of versions to return, from 1 to 200. Defaults to 50.
bland_list_agentsList the agents in your organization, most recently updated first.Read-onlyList Agents
List the agents in your organization, most recently updated first. Returns a data array of agents with id, name, created_at, updated_at and color. Use to find an agent_id for send_call. Use get_agent for one agent's environments.
Inputs
limitinteger- Maximum number of agents to return, from 1 to 500. Defaults to 100.
bland_list_batchesList call batches created by your organization.Read-onlyList Batches
List call batches created by your organization. Returns a data array of batches with id, description, created_at, base_prompt and a preview of call_objects. Use to find a batch ID. Use get_batch for one batch's details.
Inputs
skipinteger- Number of batches to skip, for pagination.
takeinteger- Number of batches to return.
bland_list_block_rulesList the rules that block specific phone numbers from reaching your inbound numbers.Read-onlyList Block Rules
List the rules that block specific phone numbers from reaching your inbound numbers. Returns data with a blocks array, total_count and the filters applied. Use to review blocked callers. Use create_block_rules to add rules and delete_block_rule to remove one.
Inputs
active_onlyboolean- When true, only currently active rules are returned. Set false to include deleted or inactive rules.
inbound_numberstring- Only return rules for this inbound number, in E.164 format. If omitted, only global rules are returned.
bland_list_callsList calls dispatched by your account, newest first, with optional filters for dates, numbers, status, batch and duration.Read-onlyList Calls
List calls dispatched by your account, newest first, with optional filters for dates, numbers, status, batch and duration. Returns total_count, count and a calls array of call metadata. Transcripts are not included. Use to browse or filter call history. Use get_call for the transcript of one call.
Inputs
answered_bystring- Only calls answered by this party, for example human or voicemail.
ascendingboolean- When true, sort oldest first instead of newest first.
batch_idstring- Only calls that belong to this batch.
campaign_idstring- Only calls that belong to this campaign.
completedboolean- Filter by whether the call has completed.
created_atstring- Only calls created on this date, YYYY-MM-DD. Cannot be combined with start_date or end_date.
duration_gtnumber- Only calls longer than this many minutes, for example 0.5 for thirty seconds.
duration_ltnumber- Only calls shorter than this many minutes.
end_datestring- Only calls on or before this date. Accepts YYYY-MM-DD or an ISO 8601 date-time with offset.
external_idstring- Only calls with this external_id that you set when sending the call.
from_indexinteger- Start index (inclusive) of the range of calls to return, for pagination. 0 starts at the first call.
from_numberstring- Only return calls placed from this number, in E.164 format.
inboundboolean- True returns only inbound calls, false only outbound calls.
limitinteger- Maximum number of calls to return.
sort_bystring- Field to sort by: created_at or updated_at.one of
created_atupdated_at start_datestring- Only calls on or after this date. Accepts YYYY-MM-DD or an ISO 8601 date-time with offset.
timezonestring- IANA timezone used to interpret date-only values, for example America/Toronto. Defaults to UTC.
to_indexinteger- End index of the range of calls to return, for pagination. from_index 100 and to_index 150 return 50 calls.
to_numberstring- Only return calls placed to this number, in E.164 format.
bland_list_contactsList the contacts in your organization with their identifiers and memories.Read-onlyList Contacts
List the contacts in your organization with their identifiers and memories. Returns a data array of contacts and a pagination object with total, limit, offset and has_more. Use to browse contacts. Use find_contact to look one up by phone, email or external ID.
Inputs
limitinteger- Maximum number of contacts to return, up to 200. Defaults to 50.
offsetinteger- Number of contacts to skip, for pagination.
bland_list_inbound_numbersList all inbound phone numbers configured on your Bland account.Read-onlyList Inbound Numbers
List all inbound phone numbers configured on your Bland account. Returns an inbound_numbers array with each number's phone_number, prompt, pathway_id, voice and webhook settings. Use to find a number to inspect or update. Use get_inbound_number for one number's full settings.
Inputs
This tool takes no inputs.
bland_list_knowledge_basesList the knowledge base items in your organization.Read-onlyList Knowledge Base Items
List the knowledge base items in your organization. Returns data.kbs with each item's id, name, type, status and timestamps, and data.total. Use to find an item to attach to an agent or call. Use get_knowledge_base for one item.
Inputs
limitinteger- Number of items per page, up to 100.
pageinteger- Page number, starting at 1.
bland_list_pathwaysList all conversational pathways in your account, including their nodes and edges.Read-onlyList Pathways
List all conversational pathways in your account, including their nodes and edges. Returns each pathway's id, name, description, nodes and edges. Use to find a pathway_id for send_call. Use get_pathway for one pathway you already know.
Inputs
This tool takes no inputs.
bland_list_personasList the personas in your organization with their production and draft versions.Read-onlyList Personas
List the personas in your organization with their production and draft versions. Returns a data array of personas with id, name, role, description, tags, inbound_numbers and version details. Use to find a persona_id for send_call or send_sms. Use get_persona for one persona.
Inputs
limitinteger- Number of personas per page, up to 100.
pageinteger- Page number, starting at 1.
bland_list_promptsList the prompts you have saved in Bland.Read-onlyList Prompts
List the prompts you have saved in Bland. Returns status and a prompts array. Use to find a saved prompt. Use get_prompt for one prompt's text.
Inputs
This tool takes no inputs.
bland_list_sms_conversationsList SMS conversations with paging, sorting and optional filters.Read-onlyList SMS Conversations
List SMS conversations with paging, sorting and optional filters. Returns a data array of conversations with id, user_number, agent_number, is_active, message_count, last_message and summary, plus paging info. Use to find conversations. Use get_sms_conversation to read all messages in one conversation.
Inputs
filtersstring- JSON-encoded array of filter objects, each with a field, an operator (eq, contains, startsWith, endsWith, gt, gte, lt, lte) and a value. Example: [{"field":"user_number","operator":"eq","value":"+15551234567"}].
pageinteger- Page number to return, starting at 1.
page_sizeinteger- Number of conversations per page. Defaults to 25.
sort_bystring- Field to sort by: created_at, updated_at, user_number, agent_number, is_active or message_count.one of
created_atupdated_atuser_numberagent_numberis_activemessage_count sort_dirstring- Sort direction: asc or desc. Defaults to desc.one of
ascdesc
bland_list_sms_numbersList the phone numbers configured for SMS along with their SMS settings.Read-onlyList SMS Numbers
List the phone numbers configured for SMS along with their SMS settings. Returns a data array with each phone_number and its sms_config such as webhook, objective, pathway_id and timeout settings. Use to find a valid agent_number for send_sms. Use list_inbound_numbers for voice settings.
Inputs
This tool takes no inputs.
bland_list_toolsList the v2 tools in your Bland organization that agents can call during calls and SMS conversations.Read-onlyList Tools
List the v2 tools in your Bland organization that agents can call during calls and SMS conversations. Returns data.tools with each tool's id, name, description, integration, action, input_schema and active flag. Use to see which tools your agents can use. This lists Bland's own tools, not Scalekit tools.
Inputs
limitinteger- Number of tools per page, up to 1000. Defaults to 50.
order_bystring- Field to sort by. Only created_at is supported.one of
created_at order_directionstring- Sort direction: asc or desc. Defaults to desc.one of
ascdesc pageinteger- Page number, starting at 1.
searchstring- Filter tools by searching their name and description.
bland_list_voicesList every voice your account can use, including curated Bland voices, cloned voices and library voices.Read-onlyList Voices
List every voice your account can use, including curated Bland voices, cloned voices and library voices. Returns a voices array with id, name, description, tags, service, public flag and rating fields. Use to pick a voice for send_call. Use get_voice for one voice's record.
Inputs
This tool takes no inputs.
bland_create_agentCreate a new agent with empty dev, staging and production environments.WriteCreate Agent
Create a new agent with empty dev, staging and production environments. Returns data.agent with the new id and name, and data.environments listing three unpinned environments. Use to start a new voice agent. Use update_agent to rename it later. Requires an admin, owner, operator or prompter role. The agent has no behavior until a version is saved and promoted in Bland.
Inputs
namestringrequired- Display name for the agent. Must not be empty.
bland_create_batchCreate a batch of outbound AI calls that share one set of call settings.WriteCreate Batch
Create a batch of outbound AI calls that share one set of call settings. Returns data.batch_id for the new batch and errors set to null on success. Use to dial many numbers with the same prompt. Use send_call for a single call. Track progress with get_batch and get_batch_logs. The global object must include task or pathway_id and must not include phone_number. Batch calls cost credits and reach real phones.
Inputs
globalobjectrequired- Call settings applied to every call in the batch. Must include task or pathway_id, and must not include phone_number. Accepts the same options as send_call, such as voice, record or webhook.
call_objectsarray- The calls to place. Each item needs a phone_number and may override any global setting, for example task or request_data.
descriptionstring- Short label for the batch shown in the dashboard, up to 60 characters.
status_webhookstring- HTTPS URL that receives batch status updates as the batch progresses and completes.
bland_create_block_rulesBlock up to 10 phone numbers from reaching your inbound numbers, globally or for one number.WriteCreate Block Rules
Block up to 10 phone numbers from reaching your inbound numbers, globally or for one number. Returns data with created_count and the list of created block rules. Use to stop unwanted callers. Use list_block_rules to review existing rules. inbound_number is required when is_global is false.
Inputs
is_globalbooleanrequired- True blocks the numbers on all inbound numbers. False scopes the block to inbound_number.
numbersarrayrequired- Phone numbers to block, in E.164 format. Maximum 10 per request.
inbound_numberstring- Inbound number the block applies to, in E.164 format. Required when is_global is false.
reasonstring- Note describing why the numbers are blocked.
bland_create_knowledge_base_from_textCreate a knowledge base item from text you provide.WriteCreate Knowledge Base From Text
Create a knowledge base item from text you provide. Returns data with the new item's id, name, type TEXT and status, usually PROCESSING at first. Use to add reference text for agents. Use create_knowledge_base_from_web to scrape web pages instead.
Inputs
namestringrequired- Name for the knowledge base item.
textstringrequired- Text content to store, up to 1 MB.
descriptionstring- Short description of what the item contains.
bland_create_knowledge_base_from_webCreate a knowledge base item by scraping the content of web page URLs.WriteCreate Knowledge Base From Web
Create a knowledge base item by scraping the content of web page URLs. Returns data with the new item's id, name, type WEB_SCRAPE, source_urls and status, usually PROCESSING at first. Use to import public documentation or help pages. Use create_knowledge_base_from_text for text you already have.
Inputs
namestringrequired- Name for the knowledge base item.
urlsarrayrequired- Web page URLs to scrape, up to 100.
descriptionstring- Short description of what the item contains.
bland_create_pathwayCreate a new, empty conversational pathway.WriteCreate Pathway
Create a new, empty conversational pathway. Returns status and the new pathway_id. Use to start a new call flow, then fill it in with update_pathway.
Inputs
namestringrequired- Name of the pathway.
descriptionstring- Description of what the pathway does.
bland_resolve_contactFind an existing contact by identifier or create a new one if none exists.WriteResolve Contact
Find an existing contact by identifier or create a new one if none exists. Returns data.contact with the contact record and data.created, which is true when a new contact was made. Use to make sure a contact exists before a call. Use find_contact to look up without creating. Provide at least one of phone_number, email or external_id.
- Idempotent
Inputs
agent_numberstring- Agent phone number used to scope the contact's memory. Provide this or persona_id to create memory.
emailstring- Email address for the contact.
external_idstring- External ID for the contact.
metadataobject- Custom metadata to store on the contact.
namestring- Name of the contact.
persona_idstring- Persona ID used to scope the contact's memory. Provide this or agent_number to create memory.
phone_numberstring- Phone number for the contact, in E.164 format.
bland_send_callPlace an outbound AI phone call from Bland to one phone number, driven by a task prompt, a dashboard agent, a persona or a conversational pathway.WriteSend Call
Place an outbound AI phone call from Bland to one phone number, driven by a task prompt, a dashboard agent, a persona or a conversational pathway. Returns status, the new call_id and, when the call is part of a batch, the batch_id. The call runs asynchronously, so the result does not include a transcript. Use get_call with the returned call_id to read the outcome and transcript. Use create_batch to dial many numbers at once. Provide exactly one way to drive the call: task, agent_id, persona_id or pathway_id. Voice calls cost credits and reach a real phone.
Inputs
phone_numberstringrequired- Phone number to call in E.164 format, with the plus sign and country code, for example +15551234567.
agent_idstring- UUID of a Bland agent in your organization to run the call. Use list_agents to find it. Requires an organization-level API key.
agent_versionstring- Which saved version or environment of agent_id to use, for example production. Only valid together with agent_id.
dispositionsarray- Outcome labels you define. After the call, the AI picks the best match from this list.
external_idstring- Your own identifier for the call, such as a CRM interaction ID. get_call accepts it in place of call_id.
first_sentencestring- Exact phrase the agent says first when the call connects.
from_numberstring- Caller ID number to dial from, in E.164 format. Must be a number you own or imported from your own Twilio account. Omit to let Bland choose.
interruptibilityinteger- How readily the agent stops talking when the caller speaks over it. Higher values yield more easily.
keywordsarray- Words boosted in transcription, useful for names and jargon that are often misheard.
languagestring- Language code that tunes transcription and speech for the call, for example babel-en or es.
max_durationinteger- Maximum call length in minutes. The call is ended automatically when this timer expires.
metadataobject- Custom metadata stored with the call and returned on call details and webhooks.
pathway_idstring- ID of a conversational pathway that scripts the call. Use list_pathways to find it. Replaces task.
pathway_versioninteger- Pathway version to run: a version number, production or staging. Omit to use the production version.
persona_idstring- ID of a persona whose saved settings apply to the call. Use list_personas to find it.
persona_versionstring- Persona version to use: production or draft. Only valid together with persona_id.one of
productiondraft recordboolean- When true, the call audio is recorded and a recording_url appears on the call details.
request_dataobject- Key-value data made available to the agent as variables in the prompt or pathway.
start_timestring- When to start the call, as an ISO 8601 date-time. If omitted or in the past, the call starts immediately.
summary_promptstring- Custom instructions for how the post-call summary is written.
taskstring- Instructions the AI agent follows during the call. Required when you do not pass agent_id, persona_id or pathway_id. Do not combine with pathway_id.
temperaturenumber- Randomness of the language model, from 0 for deterministic to 1 for creative.
timezonestring- IANA timezone for the call, for example America/New_York. Helps with scheduling and time-based answers.
transfer_phone_numberstring- Phone number the agent can transfer the call to, for example when asked for a human, in E.164 format.
voicestring- Voice for the AI agent: a curated voice name such as Karen, or a voice ID from list_voices.
voicemailobject- Settings for how the agent behaves when it reaches voicemail, for example the message to leave or whether to hang up. Pass the object described in the Bland send call reference.
wait_for_greetingboolean- When true, the agent waits for the other party to speak first instead of talking as soon as the call connects.
webhookstring- HTTPS URL that receives the full call details with transcript when the call ends.
webhook_eventsarray- Events to stream to the webhook while the call is in progress, for example call.
bland_send_smsSend an SMS from one of your agent numbers to a user, starting or resuming a conversation.WriteSend SMS
Send an SMS from one of your agent numbers to a user, starting or resuming a conversation. Returns the conversation details for the message that was sent, including the conversation id. Use to text a user. Use get_sms_conversation to read replies and list_sms_numbers to find a valid agent_number. agent_number must be an SMS-enabled number on your account. Provide agent_message, objective, pathway_id or persona_id so Bland knows what to send.
Inputs
agent_numberstringrequired- Your SMS-enabled number that sends the message, in E.164 format.
user_numberstringrequired- Phone number of the recipient in E.164 format.
agent_messagestring- Exact text to send. If omitted, the message is generated from the pathway, persona or objective.
metadataobject- Custom metadata attached to the conversation and returned in webhooks.
new_conversationboolean- When true, archives the existing conversation with this user and starts a new one.
objectivestring- Goal of the conversation. Replies are generated to pursue this goal.
pathway_idstring- ID of a pathway used to generate responses in this conversation.
persona_idstring- ID of a persona whose configuration applies to this conversation.
request_dataobject- Key-value data made available to the agent as variables.
webhookstring- HTTPS URL that overrides the number's webhook for this conversation.
bland_stop_batchStop a call batch that is running or scheduled.WriteStop Batch
Stop a call batch that is running or scheduled. Returns data and errors set to null when the batch was stopped. Use to halt remaining calls in a batch found with list_batches. Calls already in progress are not covered by this tool; use stop_call for those.
- Idempotent
Inputs
batch_idstringrequired- ID of the batch to stop.
bland_stop_callEnd an in-progress phone call immediately.WriteStop Call
End an in-progress phone call immediately. Returns status and a message confirming the call was ended, or an error message if the call could not be found. Use to hang up a live call found with list_active_calls. Finished calls cannot be stopped.
- Idempotent
Inputs
call_idstringrequired- ID of the call to end.
bland_update_agentRename an existing agent.WriteUpdate Agent
Rename an existing agent. Returns data with the updated agent id, name and timestamps. Environments are not included. Use to change an agent's display name. Use get_agent to see its environments.
- Idempotent
Inputs
agent_idstringrequired- ID of the agent.
namestringrequired- New display name for the agent. Must not be empty.
bland_update_contactUpdate a contact's name, email, external ID or metadata.WriteUpdate Contact
Update a contact's name, email, external ID or metadata. Returns data with the updated contact's id, name, metadata and timestamps. Use to correct or enrich a contact found with find_contact. Metadata keys are merged with existing metadata.
- Idempotent
Inputs
contact_idstringrequired- ID of the contact to update.
emailstring- Email address to add or update.
external_idstring- External ID to add or update.
metadataobject- Metadata merged into the existing metadata: new keys are added and existing keys are updated.
namestring- Updated name for the contact.
bland_update_inbound_numberUpdate how an inbound phone number answers calls: its prompt or pathway, voice, webhook, transfer and call limits.WriteUpdate Inbound Number
Update how an inbound phone number answers calls: its prompt or pathway, voice, webhook, transfer and call limits. Returns a status and message confirming the inbound number was updated. Use to reconfigure an inbound line. Use get_inbound_number to read its current settings first. The number must already be configured on your account; see list_inbound_numbers.
- Idempotent
Inputs
phone_numberstringrequired- Inbound phone number with country code and no plus sign, for example 15551234567. A US country code is assumed when none is given.
background_trackstring- Background audio played during the call, for example office, cafe, restaurant or none.
block_interruptionsboolean- When true, the agent does not respond to interruptions from the caller.
fallback_numberstring- Number that calls are forwarded to during Bland maintenance windows, in E.164 format.
first_sentencestring- Exact phrase the agent says first.
keywordsarray- Words boosted in transcription, for names and jargon that are often misheard.
languagestring- Language code for transcription and speech, for example en-US.
max_durationinteger- Maximum call length in minutes.
noise_cancellationboolean- When true, background noise is filtered from the call audio.
pathway_idstring- ID of a conversational pathway for the number to follow. Overrides prompt.
pathway_versioninteger- Pathway version number to use. Defaults to the production version.
promptstring- Instructions for the inbound agent, with background information and the ideal conversation flow. Not needed when pathway_id is set.
request_dataobject- Key-value data made available to the agent as variables during calls.
summary_promptstring- Custom instructions for how the post-call summary is written.
timezonestring- IANA timezone for the number, for example America/New_York.
transfer_phone_numberstring- Phone number the agent can transfer callers to, in E.164 format.
voicestring- Voice for the agent. Use a curated voice name or an ID from list_voices.
webhookstring- HTTPS URL that receives call details after each call to this number ends.
bland_update_pathwayUpdate a pathway's name, description, nodes and edges.WriteUpdate Pathway
Update a pathway's name, description, nodes and edges. Returns status, the pathway_id and the saved nodes and edges. Use to edit a call flow. Use get_pathway first and send back the full nodes and edges, because they replace the existing graph. The pathway must exist; create it with create_pathway.
- Idempotent
Inputs
pathway_idstringrequired- ID of the pathway to update.
descriptionstring- New description of the pathway.
edgesarray- Complete list of edges that connect nodes. Each edge has an id, a source node id, a target node id and a data object with a label describing when to take it. Example: [{"id": "e1", "source": "1", "target": "2", "data": {"label": "User wants to book"}}].
namestring- New name of the pathway.
nodesarray- Complete list of nodes in the conversation flow. Each node has an id, a type such as Default or End Call, and a data object with a name and a prompt or text. Example: [{"id": "1", "type": "Default", "data": {"name": "Greeting", "isStart": true, "text": "Hello, how can I help?"}}].
bland_delete_block_rulePermanently delete one block rule so the number can reach your inbound numbers again.DestructiveDelete Block Rule
Permanently delete one block rule so the number can reach your inbound numbers again. Returns data with a confirmation message and the deleted_block_id. Use to unblock a caller after finding the rule ID with list_block_rules.
- Idempotent
Inputs
block_idintegerrequired- Numeric ID of the block rule to delete.
bland_delete_knowledge_basePermanently delete a knowledge base item.DestructiveDelete Knowledge Base Item
Permanently delete a knowledge base item. Returns data with a confirmation message and the deleted knowledge_base_id. Use to remove an item found with list_knowledge_bases. The deletion cannot be undone.
- Idempotent
Inputs
knowledge_base_idstringrequired- ID of the knowledge base item to delete.
No tools match.