> ## Documentation Index
> Fetch the complete documentation index at: https://docs.cogniagent.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Channels overview

> The supported channels for conversation flows — Widget, Email, Slack, Teams, Telegram, Phone — and how to wire them up.

A channel is *how* users reach your flow. Once you've built the flow, you connect at least one channel so real people can talk to it.

## Supported channels

<CardGroup cols={2}>
  <Card title="Widget" icon="window" href="/conversation-flows/channels/widget">
    Embeddable web chat for your website. No login required.
  </Card>

  <Card title="Email" icon="envelope" href="/conversation-flows/channels/email">
    Gmail and Outlook. The flow reads incoming threads and replies in-thread.
  </Card>

  <Card title="Messaging" icon="comments" href="/conversation-flows/channels/messaging">
    Slack and Microsoft Teams. The flow lives in a channel or DM.
  </Card>

  <Card title="Telegram" icon="paper-plane" href="/conversation-flows/channels/telegram">
    A Telegram bot you create with @BotFather. Responder-only.
  </Card>

  <Card title="Phone" icon="phone" href="/conversation-flows/channels/phone">
    Inbound and outbound voice calls via Twilio + LiveKit SIP.
  </Card>
</CardGroup>

## At-a-glance channel matrix

| Channel           | Inbound (Responder) | Outbound (Initiator) | Needs an integration connection   |
| ----------------- | ------------------- | -------------------- | --------------------------------- |
| Widget            | ✓                   | —                    | No                                |
| Gmail             | ✓                   | ✓                    | Yes                               |
| Outlook           | ✓                   | ✓                    | Yes                               |
| Slack             | ✓                   | ✓                    | Yes                               |
| Teams             | ✓                   | ✓                    | Yes                               |
| Telegram          | ✓                   | —                    | Yes (builtin Composio)            |
| Phone             | ✓                   | ✓                    | No (uses workspace phone numbers) |
| SMS               | —                   | ✓                    | Yes                               |
| WhatsApp Business | —                   | ✓                    | Yes                               |

## Adding a channel

<Steps>
  <Step title="Open Flow settings → Channels">
    Click the **gear** icon in the toolbar, then the **Channels** tab.

    <Frame>
      <img src="https://mintcdn.com/glorium/eqWkhSfBUec9afZU/images/conversation-flows/channels-tab.png?fit=max&auto=format&n=eqWkhSfBUec9afZU&q=85&s=cf4fd65fa31c0dd48f6dfa2c56835da5" alt="Channels tab in Flow settings" width="1471" height="1225" data-path="images/conversation-flows/channels-tab.png" />
    </Frame>
  </Step>

  <Step title="Click Add Channel">
    A picker opens. Choose the channel type.
  </Step>

  <Step title="Fill in the configuration">
    Each channel has its own fields — see the channel-specific pages below.

    Channels that need an integration (Gmail, Slack, etc.) ask you to pick a **connection** here. If you don't have a connection set up, configure one first in the [Integrations](/features/integrations) page.
  </Step>

  <Step title="Save">
    The channel appears in the Start node's channel list. You can have multiple channels per flow.
  </Step>
</Steps>

## Multiple channels on one flow

A single flow can serve multiple channels at once — for example a customer support flow that handles inbound on **Gmail**, **Slack**, and the **Widget**, all routing into the same agents.

Each channel has its own configuration but they share:

* The same flow's actors and routing edges.
* The same global context, knowledge, and capabilities.
* The same conversation history view.

## Deploying the flow

Adding a channel doesn't make it live. You also need to **Deploy** the flow:

* Responder-mode flows: Deploy schedules listeners on all configured channels. New inbound messages create conversations.
* Initiator-mode flows: Deploy validates the channel configuration. Conversations are then started manually.

[Read more: Deploy →](/conversation-flows/operate/deploy)

## Validation before deploy

If a channel is mis-configured (missing connection, expired credentials, missing required fields), the deploy step refuses to schedule it and the channel shows an error badge. Fix the configuration and redeploy.

## What channels can do

| Capability                     | Widget             | Email              | Messaging          | Telegram           | Phone              |
| ------------------------------ | ------------------ | ------------------ | ------------------ | ------------------ | ------------------ |
| Text replies                   | ✓                  | ✓                  | ✓                  | ✓                  | spoken via TTS     |
| Rich content (images, buttons) | ✓                  | links only         | links + blocks     | links + MarkdownV2 | —                  |
| Voice (audio in/out)           | —                  | —                  | —                  | —                  | ✓                  |
| Multi-turn conversation        | ✓                  | ✓ (threaded)       | ✓                  | ✓                  | ✓                  |
| Hand off to a human            | ✓ via integrations | ✓ via integrations | ✓ via integrations | ✓ via integrations | ✓ via integrations |

## Next

Pick a channel:

<CardGroup cols={2}>
  <Card title="Widget" icon="window" href="/conversation-flows/channels/widget">
    Embed a chat on your website.
  </Card>

  <Card title="Email" icon="envelope" href="/conversation-flows/channels/email">
    Gmail or Outlook.
  </Card>

  <Card title="Messaging" icon="comments" href="/conversation-flows/channels/messaging">
    Slack or Teams.
  </Card>

  <Card title="Telegram" icon="paper-plane" href="/conversation-flows/channels/telegram">
    A bot users DM in Telegram.
  </Card>

  <Card title="Phone" icon="phone" href="/conversation-flows/channels/phone">
    Voice calls.
  </Card>
</CardGroup>
