
# Placing Outbound Calls

An outbound voice agent does not dial on its own. Something has to tell it
who to call: a person placing one call, an orchestration working a list, or an
event in your workspace. This article covers each of those, plus the three
things that decide whether a batch of outbound calls goes well — voicemail
handling, extensions and the daily budget.

## What you'll need

- A voice agent with **Call Direction** set to **Outbound (Agent calls out)**
  and a **Voice Phone Number** assigned. See
  [Create a Voice Agent](/help/voice-agents/creating-campaigns).
- The agent **pushed live** — an orchestration dials the live copy,
  not your draft. See
  [Testing, Drafts and Going Live](/help/voice-agents/testing-and-promotion).
- **`agents:voice:read`** to place a single call from the agent's own pages;
  **`agents:voice:manage`** to change the agent.
- Contacts with phone numbers, for anything list-based.

## Place a single call

The quickest way, and the one you will use while you are still tuning the
agent, is on the agent itself:

1. Open the agent (**Agents → Agent Types → Voice Agents** → click the row's
   eye icon, then **Edit Voice Agent**) and go to the **Test & Deploy** tab.
2. In the **Simulate Call** card, enter a number under **Phone number to
   call**.
3. Click **Simulate Call**.

This places a real call over the full telephony path — transfers, voicemail
detection and caller-ID contact lookup all behave as they would in
production — using the agent's current configuration.

There is also a lighter single-call page at **`/voice/<agent id>/use`**
*(sign-in required)* — "**Use Voice Agent**" → **Initiate a Call** → **Phone
Number** → **Start Call** — which returns the call id so you can find the
record afterwards. It has no menu entry, so reach it by editing the URL of the
agent's view page: swap `/view` for `/use`.

**Both place real calls that cost real minutes and count against your daily
budget.** Call a number you control.

## Call a list with an orchestration

This is the supported way to call more than one person.

```mermaid
flowchart LR
    A["Trigger<br/>(schedule, form, CRM event…)"] --> B["Orchestration"]
    B --> C["Place Call step<br/>Phone Agent + Include Lists"]
    C --> D["One queued call<br/>per contact"]
    D --> E{"Daily budget<br/>reached?"}
    E -- no --> F["Agent dials"]
    E -- yes --> G["Remaining calls blocked<br/>until tomorrow"]
    F --> H["Call record, transcript,<br/>summary, outcome"]
```

1. Build the audience as a **List** — see [Lists](/help/crm/lists).
2. Go to **Agents → Workflows → Orchestrations** and open or create one.
3. Add a **Place Call** action step.
4. Configure it:
   - **Phone Agent** — the outbound voice agent to dial with.
   - **Include Lists** — whose contacts to call.
   - **Exclude Lists** — who to leave out (suppression lists, existing
     customers, anyone already in another sequence).
5. Save, validate and launch the orchestration.

One call is queued per contact. Contacts without a usable phone number are
skipped rather than failing the step.

Because it is an orchestration, everything else orchestrations do is available
around the call: wait steps, branching on the outcome, sending the follow-up
email or SMS, creating a task when the call did not connect. The step exposes
the resulting `callId` to later steps, so a follow-up can reference the
specific call.

## Call automatically, on an event

Anything that can trigger an orchestration can trigger a call: a form
submission, a CRM change, a schedule, an inbound event. The pattern is the
same — the trigger starts the orchestration, the **Place Call** step does the
dialling.

Two other paths exist and are worth knowing about:

- **Helpdesk journeys** place calls at ticket milestones, with their own
  in-call rules about what the agent may do unilaterally. See the
  [Helpdesk](/help/helpdesk/overview) docs.
- **The outbound API** executes an orchestration's **Place Call** step from
  outside the platform, for cases where your own system decides when a batch
  should run. It is an authenticated endpoint that references the
  orchestration and step rather than a free-form "dial this number" call — see
  the Tenant API reference at [`/docs/tenant-api`](/docs/tenant-api).

### Passing context into the call

When a call comes from an orchestration or a form submission, the triggering
data travels with it: the form fields, the journey context. Those become
`{{placeholders}}` you can use in the agent's instructions and greeting, so
the agent opens the call already knowing what it is about. See
[Instructions, Goals and Scheduled Prompts](/help/voice-agents/instructions-and-scheduling).

## Voicemail

Outbound calls hit answering machines. The platform listens to the greeting
when the call connects and the agent can also flag a machine mid-call; what
happens next is yours to choose on the **Voice** tab, under **Voicemail**:

| **When an answering machine picks up** | What happens |
|---|---|
| **The agent leaves a message in its own words** (default) | The agent writes and speaks the voicemail itself, from your **Voicemail instructions** and what it knows about the call — who it is calling, why, from where. Leave the instructions blank and it uses its judgement. |
| **The agent says this exact message** | Your **Exact message** is spoken word for word (placeholders such as `{{first_name}}` are filled). If it is blank, the pre-dial brief's line is used when the brief is on. |
| **Hang up without a message** | The call ends silently. |

**Detection hints** (optional) tell the platform how your customers' machines
tend to sound; they help it recognise one and never change what the agent
says. The call record shows the outcome (`voicemail`) and the message the
agent left is in the transcript.

An agent that was saved with an exact message before this choice existed
keeps saying it until you pick an option.

Voicemail handling runs on **outbound** calls today.

## Extensions

If the number you are calling sits behind an extension, the agent can dial it
automatically after the callee answers. The extension is taken from, in order:

1. The contact's **extension** field in the CRM.
2. An extension embedded in the phone number itself — `+1 555 123 4567 ext
   412` and `+15551234567,412` both work.
3. An `extension` field in the triggering form data.

For menus rather than extensions — "press 2 for accounts" — enable
**`send-dtmf`** on the **Tools** tab so the agent can work through the menu
itself.

## Cap the spend

**Settings (the gear icon) → Channels → Daily Call Budget** (tenant admin):

- **Maximum Outbound Calls Per Day** — the cap. The default is **50**; **0**
  means unlimited. **Reset to Default (50)** puts it back.
- Once the cap is reached, further outbound calls are blocked until the next
  day. Calls already in progress are unaffected.
- The page states what it is for plainly: it limits how many outbound calls
  can be made per day via orchestrations, as spam protection.

Set it before your first list, not after. It is the difference between an
error in an orchestration costing you an afternoon and costing you a
reputation.

Billing limits are separate and workspace-wide — see
[Spend Limits](/help/workspace-administration/spend-limits).

## Watch the calls happen

Calls appear on the agent's **Calls** page as they run
(**Agents → Agent Types → Voice Agents** → the row's **Calls** button,
or the **Calls** button on the agent's view page). Transcripts
and AI summaries land shortly after each call ends, once post-call analysis
has run. See [Calls, Transcripts and Recordings](/help/voice-agents/call-detail).

## Troubleshooting

- **The orchestration ran but no calls were placed.** Check the **Place Call**
  step has a **Phone Agent** selected and at least one **Include List**; that
  the list's contacts have phone numbers; and that the daily budget is not
  already spent.
- **Calls stopped part-way through a list.** The daily call budget was
  reached. Raise it, or let the rest run tomorrow.
- **The agent dialled but nobody was there / it called the wrong number.**
  Check the contact's phone number and the default country code on
  **Settings → Channels → Phone Numbers** — a number stored without a country
  code is completed using that setting.
- **The recipient sees the wrong caller ID.** Caller ID is configured on the
  phone number, not the agent. See
  [Phone Numbers and Caller ID](/help/voice-agents/phone-numbers).
- **Every call leaves a full sales pitch on voicemail.** The machine was not
  recognised. The platform listens to the greeting on every outbound call; add
  **Detection hints** describing how your customers' machines sound, which
  also lets the agent flag one mid-call.
- **My change to the agent did not apply to the calls.** Orchestrations dial
  the promoted copy. Use **Save & Push Live**.
- **Simulate Call reports an error immediately.** The agent has no phone
  number assigned, or it has not been saved.

## Next steps

- [Calls, Transcripts and Recordings](/help/voice-agents/call-detail)
- [Transfers, Forwarding and the Duty Roster](/help/voice-agents/transfers-and-escalation)
- [Orchestrations](/help/orchestrations/overview)
- [Testing, Drafts and Going Live](/help/voice-agents/testing-and-promotion)
