Skip to main content
Dispatch is how work reaches an agent. A caller dials your main line and the agent picks up, or you hand it a list of four hundred numbers and it starts dialing. You get a number, attach it to an agent, and publish.

Where Dispatch lives

What Dispatch holds depends on the scope you are in. The selector at the top of the sidebar sets it: All agents for the whole organization, or the agent’s name when you are inside one. Identity, and the Messages tab inside Channels, are enterprise only. On other plans they are hidden rather than locked. Phone numbers and Channels both deal with numbers, and you never see both at once:
  • Phone numbers, at All agents, is the inventory. Get a number, name it, and decide which agent it belongs to.
  • Channels, inside an agent, is the behavior. How that agent answers, what it does on messages, what its web chat looks like.
Buying a number is an All agents job. From inside an agent you can only attach one that belongs to nobody.
The sidebar remembers the scope you were last in. If you open Dispatch and find Channels instead of Phone numbers, you are inside an agent. Switch the selector to All agents.

Prerequisites

  • An agent you have saved at least once in Agent builder. A save made on a branch does not count
  • A payment method, if you are buying a number rather than claiming the free one

Put an agent on a phone number

1

Switch to All agents

Use the selector at the top of the sidebar. Dispatch now lists Phone numbers.
2

Get a number

Three ways in, cheapest first.The free one. A new organization gets one. If the page carries a banner saying “You have a free phone number available”, pick a country, optionally an area code, and press Activate. Its absence is not proof you used it, so check your list.Buy one. The Buy number button opens a drawer. Pick a country and an area code, choose from the results, and press Confirm purchase. United States and Canada only, $15/month. You need a payment method on file: without one the drawer says so and the confirm button stays disabled. Anywhere else, bring your own.Bring your own. Connect Twilio takes an Account SID and an Auth Token. Then press Import numbers.
3

Attach it to the agent

Press Configure on the number’s row. In the sheet, under Assignment, open the Agent dropdown.Pick from the Agents section. If your organization still has personas from the prior dashboard there is a Classic agents section too, and picking from there routes the number to one of those instead. Pick Unassigned to take the number off its agent.Picking does not save anything yet. The sheet reads Not saved yet until you save at the bottom.
4

Review and save

Scroll to Review and save. It lists what is pending, such as the agent change and any settings you edited.Tick the confirmation sentence. It names what happens, for example that assigning the number replaces its current prompt, pathway, webhook, and call behavior. If the number answers a pathway from the prior dashboard, the sentence warns that this dashboard can’t put it back.Press Save. It stays disabled until you tick the box. Any edit after you tick clears it, so tick again before you save.
5

Publish the agent to production

Attaching a number is not the same as putting the current agent into service. Publish and promote it, from Agent builder or Environments.It is the most common reason a new number does not behave the way the builder does.
You know it worked when the number’s Assignment column shows the agent’s name, and the agent’s Channels page lists the number under Numbers.
A number that belongs to nobody can also be attached from the agent’s side. On Channels, Add a number lists the ones that belong to nobody, under Attach a number.It will not offer a number another agent has, and it cannot buy one. Both of those are jobs for All agents.

Configure a number

Each number carries its own call configuration, separate from the agent’s settings. You can edit it from All agents, without opening each agent. This helps when one agent answers many numbers, such as one per location, and each number needs its own data. At All agents, open Phone numbers and press Configure on the number’s row. The sheet has these sections: Settings changes and an agent change save together, through the same confirmation and Save described in Put an agent on a phone number. Settings you change here reach every call to the number, including calls the assigned agent answers. If the agent change saves but the settings do not, the sheet keeps your settings edits. Review them and press Save again. The same Call configuration sections are available inside an agent, from the number on its Channels page.

Set how the agent behaves

Switch the sidebar selector back to the agent and open Channels, under Dispatch. It has three tabs, and Messages is enterprise only. The Numbers list sits above the tabs on Calls and Messages, and holds the agent’s fallback number. Calls and Messages have no Save of their own. Most of what you set there is held with the rest of your unsaved work in the builder and written the next time it saves, so go back into the builder and save. Reloading the page loses it. There are two exceptions. The widget editor on Web chat has its own Save, and Publish beside it. The per-number messaging settings below save straight to the number.
Voice settings apply to every number the agent has. Messaging settings are saved separately for each number.

Per-number messaging settings

Select a number in the Numbers list, then open Messages. These rows apply only to the number you selected: Webhook and Messaging service SID save when you press Enter or leave the field. They do not save while you type. iMessage numbers do not show Messaging service SID.

Reply timeout

Turn on Reply timeout to end a conversation that goes quiet. Then set:
  • Time out (minutes): how long the agent waits for a reply, from 1 to 60 minutes.
  • Closing message: sent when the window ends. Leave it blank to end the conversation without a message.
  • Send a reminder first: sends one reminder partway through the window. Set Remind after (minutes) to a value shorter than the time out. Then set Reminder message. If you leave the reminder message blank, the customer gets nothing, but your webhook still receives a timeout_warning event.
Sliders save when you release them. Messages save when you leave the field.
Earlier versions of this tab saved reply timeouts that never took effect, and those values were not carried over. If you set one earlier, Reply timeout now shows as off. Turn it on again to use it.

WhatsApp

The WhatsApp drawer sets the number’s webhook URL, a reply timeout in seconds, and Request data. Request data is a set of key-value facts the agent knows during WhatsApp conversations on that number, like a facility ID or its opening hours. The agent sees both the keys and their values. Select Save in the drawer to apply your changes. Messaging and web chat each have a guide of their own: Messaging and the web chat widget.

Run a batch

Batches dials or texts a list of people with one agent. It is in both sidebars and they are not the same. At All agents you choose the agent and can send calls or messages. Inside an agent, that agent is filled in and locked, and the list shows only its batches. Batches inside an agent are calls only: the SMS option is not there. The wizard runs in three steps, Recipients, Script, then Review & send.
1

Open Batches and press Create Batch

In either sidebar. The button is in the top bar, and in the empty state if you have never run one.
2

Upload a CSV

CSV only. One column has to be called phone_number, in exactly that spelling, with one number per row.Numbers need a country code. +14155550100 works, 4155550100 does not.Every other column is yours. Under How your columns are used on the next step, each one gets a dropdown, and Use as makes the value available in the prompt as {{column_name}}.Watch the defaults. A column named after a call setting, like from or voice, defaults to setting that field per call rather than becoming a variable, and it cannot be ignored. Rename the column if you meant it as a variable.
3

Write the script

Pick the agent that staffs the batch and write the instructions for this run. Maximum call length is 1 to 120 minutes, and recording starts on.
4

Review and send

You see the first recipient rendered as the agent will get them. Name the batch here if you want it findable later. Then Start calling.
A CSV with one bad row is rejected whole.The upload checks every number before the batch exists, names up to three of the bad rows, and counts the rest.Duplicates and numbers on your do-not-call list are different: those are dropped at dial time and the rest of the batch runs.
Files go up to 125 MB and there is no row limit. Anything over 1,000 calls runs in chunks.

Watch one run

The list shows Status, Name, Batch ID and Created, newest first with the active ones on top. There is no search and no filter. A row carries two icon buttons with no labels. The first opens Conversations already filtered to that batch. The second stops the calls that have not been placed yet, and asks first. Select a row for the detail panel, which adds the event log. It carries its own Stop Batch, and that one fires straight away with no dialog.

Triggers

A trigger watches for an event in Bland or in a connected app, and runs an action when it happens. One of the actions is placing a call, which is how a trigger starts a conversation without you pressing anything. It is in both sidebars. See Triggers.

SIP

SIP is the second tab of Phone numbers, so it is at All agents only. It is not in an agent’s sidebar at all. See SIP.

Common failures

You are inside an agent. The sidebar remembers your last scope. Switch the selector at the top to All agents.
Open the agent in the builder and save it. Attaching reads the agent’s latest save on the main line, so a save made on a branch does not count.
Publish and promote the agent. Attaching a number does not do it for you.
Check which section you are looking at. Agents is the list you want. Classic agents is your personas from the prior dashboard, and picking from there routes the number to one of them instead.
It only offers numbers that belong to nobody. Go to All agents, open the number, and attach it to this agent there.
The column has to be named phone_number exactly, and every number needs a country code. The error names up to three rows and counts the rest.
A batch past its first thousand calls reports a state the list does not have a label for. It is still running. Select the row and use Stop Batch in the detail panel, which does not ask for confirmation.
You are over a call limit. An alert headed Over your call limit appears on the Recipients step and blocks Next. It names which limit you hit, hourly or daily. Remove recipients or come back later.If the check itself cannot run you get Rate-limit check unavailable. Sending is not blocked. instead, and the wizard lets you through.
You are inside an agent, where batches are calls only. Go to All agents to send messages. Message batches also need a number set up for SMS, and an enterprise plan.

Next steps

Triggers

Start conversations from a webhook or a schedule.

SIP

Bring your own carrier.

Conversations

Read what happened on the calls you just dispatched.

Environments

Promote to production, which is what a live number answers with.
Docs for agents: llms.txt