# Set up voice call alerts

A voice call is the hardest alert to sleep through: HostTracker places an automated call to the number and reads
out what happened. It's a good fit for the top tier of an [escalation ladder](/alerts/escalation/), reserved for
outages that have already gone unresolved through faster channels.

## Settings reference

| Setting (UI label) | API field (v2) | Type / allowed values | Default | Plan limits | What it does for you |
|---|---|---|---|---|---|
| Contact Type | `type` | `"voiceCall"` | - | - | |
| Phone number | `address` | Phone number in full international format | - (required) | - | Where the call is placed |
| Language | `language` | 2-letter code | From profile | - | Has **no effect** on the spoken script - see below |

Voice scripts are **English only** regardless of the contact's or profile's language setting - there's no
translated voice script today. Voice cannot receive scheduled reports (email-only).

## Set it up in the app

1. Open **Alerts & Contacts** and click **+ Add contact**.
2. Choose **Voice call**.
3. Enter the phone number in full international format, and give the contact a name.
4. Save, then confirm the contact using the code sent by call or text. See
   [confirmed vs unconfirmed contacts](/alerts/contacts/#confirmation---why-an-unconfirmed-contact-gets-nothing).

## What the message looks like

An automated voice reads a short script identifying HostTracker, the monitor's name, and what happened (down,
recovered, or still down) - the spoken equivalent of the SMS text, always in English.

## Do it with the API or MCP

```
POST /contact
{ "type": "voiceCall", "address": "+15551234567", "name": "Manager phone" }
```

MCP: `create_contact(type="voiceCall", address="+15551234567", name="Manager phone")`.

## What happens next

HostTracker places (or texts) a confirmation code immediately. Once confirmed and subscribed, a call is placed
for every event that reaches this contact after its own alert delay and active hours.

## Limits and gotchas

- Voice calls draw from the same **SMS credit balance** as SMS, billed using the same segment/text-length math
  applied to the spoken script's text - not a flat per-call price. See
  [how SMS & voice billing works](/alerts/sms-billing/).
- Voice scripts are **English only** - there's no per-language voice script, unlike every other channel.
- Because a call is disruptive, it's usually best placed behind an [alert delay](/alerts/escalation/) rather
  than firing on every Down.
- Changing a confirmed contact's address resets it back to unconfirmed.

## Related

- [SMS](/alerts/channels/sms/)
- [Alert delays & escalation](/alerts/escalation/)
- [All channels](/alerts/channels/)
