---
title: Picking a channel
description: "Where an agent can go live: a phone number and a campaign for voice agents, a messaging platform for text agents, and a web widget or share link for either."
---

An agent you have tested in the browser reaches people through a **channel**. Which
channels are open to it depends on its <Term>modality</Term>, fixed at creation: voice agents
take calls, text agents answer messages, and both can live on a web page.

| Channel | Agents | What you set up | Where |
|---|---|---|---|
| Phone, outbound | Voice | A phone number, a contact list and an outbound campaign | **Phone Numbers**, **Contacts**, **Launch AI Voice** |
| Phone, inbound | Voice | A phone number and an inbound campaign that answers it | **Phone Numbers**, **Launch AI Voice** |
| Slack, Telegram, Microsoft Teams, WhatsApp, Discord | Text | A deployment per platform, plus the credentials the platform issues | **Launch AI Text**, or the agent's **Deployments** section |
| Web widget | Voice and text | A styled widget and one script tag on your site | The agent's **Widget** section |
| Share link | Voice and text | A public link to a hosted page for the agent | **Share agent** in the agent workspace header |

## Decide by who starts the conversation

- **You call them.** An outbound campaign dials a filtered list of contacts from one
  of your numbers, inside calling hours, with retries. Start at
  [Create an outbound campaign](/deploy/campaigns/create-an-outbound-campaign).
- **They call you.** An inbound campaign binds an agent to a number so every call to
  that number is answered by the agent, optionally through a queue. See
  [Create an inbound campaign](/deploy/campaigns/create-an-inbound-campaign).
- **They message you.** A text agent is deployed to the platform your users are on.
  Each deployment is one agent on one platform; the same agent can have several. See
  [Bot deployments](/deploy/bot-deployments/overview).
- **They are on your website.** The widget floats on any page and opens a chat, with
  a call button when the agent has a voice. See
  [Widget designer](/deploy/widget-and-embed/widget-designer). For a link you can
  send in an email or a QR code, use the [share link](/deploy/widget-and-embed/share-link).

## What a phone channel needs first

Voice channels need a number. Callab AI does not sell numbers; you connect one of
your own in one of 3 ways: a <Term>SIP trunk</Term> from your carrier or PBX, a Twilio number
you already own, or a Go Auto Dial extension. The
[phone numbers overview](/deploy/phone-numbers/overview) compares them.

Outbound campaigns also need contacts. Import a file or add them one at a time
under **Contacts**, and give them a **Source**, a **Category** and a **Tag**: the
campaign wizard filters on those three. See [Contacts](/deploy/contacts).

:::tip[Publish before you deploy]
Every channel runs the agent's published version. Run the
[launch checklist](/test-and-improve/launch-checklist) and
[publish](/test-and-improve/publishing) first, so the version answering real
calls is the one you tested.
:::

## Related

- [Phone numbers overview](/deploy/phone-numbers/overview)
- [Create an outbound campaign](/deploy/campaigns/create-an-outbound-campaign)
- [Bot deployments overview](/deploy/bot-deployments/overview)
- [Widget designer](/deploy/widget-and-embed/widget-designer)
- [Choosing a modality](/build/choosing-a-modality)
