# Set up Viber alerts

Viber contacts are created by registering your Viber account with the HostTracker bot, the same way as Telegram
and Discord.

## Settings reference

| Setting (UI label) | API field (v2) | Type / allowed values | Default | Plan limits | What it does for you |
|---|---|---|---|---|---|
| Contact Type | `type` | `"viber"` (read-only - see below) | - | - | |
| Address | - | None - the bot registration IS the identity | - | - | There's no `address` field to set; `RequiresAddress: false` on this type |

Language, alert delay and active hours all apply normally once the contact exists; `groupedAlerts` has no
toggle in the app for this type, but the field exists on the API.

## Add a Viber contact

1. Open **Contacts** and click **Add contact**.
2. Choose **Viber**.
3. Scan the **QR code** HostTracker shows with your phone's Viber app (or follow the equivalent link on mobile).
4. Confirm the chat with the bot when prompted.
5. Once linked, the chat becomes a confirmed contact automatically.

## What the message looks like

A chat message from the bot: the monitor's name and what happened, similar in content to Telegram.

## Do it with the API or MCP

There's no create call for this type - `viber` is `creatable: false` (`RequiresRegistration: true`); the QR
registration is the only door. Once it exists, manage it normally:

```
PATCH /contact/{id}
{ "alertDelay": 5 }
```

MCP: `update_contact`, `delete_contact`, `list_contacts`, `test_contact` work on an existing Viber contact;
`create_contact` does not create this type.

## What happens next

The chat is confirmed the instant the QR registration completes - there's no code to enter.

## Limits and gotchas

- The contact is tied to the **Viber chat**, not a phone number you type in - if you re-scan from a different
  device or account, it links a different contact.
- Creating one through `POST /contact` directly is refused with `422 contact_type_not_creatable`.
- Viber receives every alert kind HostTracker sends, including certificate-expiry, domain-expiry, DNSBL
  blacklist and Web Risk notices - the restriction that blocks those from a plain generic webhook contact only
  applies to `http` contacts, not bot channels.
- The bot also answers a `/check` command for running an [instant check](/getting-started/what-is-hosttracker/)
  on demand from inside Viber, the same as [Telegram](/alerts/channels/telegram/).

## Related

- [Telegram](/alerts/channels/telegram/) - [Discord](/alerts/channels/discord/)
- [All channels](/alerts/channels/)
