> ## 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.

# Communication Channels

> Reach your users wherever they are — email, Slack, SMS, WhatsApp, and more

CogniAgent connects to the channels your users already use. Whether they prefer email, Slack, text messages, or live chat, your workflows can reach them where they are — and conversations can seamlessly move between channels.

## Supported channels

<CardGroup cols={3}>
  <Card title="Email" icon="envelope">
    Gmail and Microsoft Outlook
  </Card>

  <Card title="Slack" icon="slack">
    Direct messages and channels
  </Card>

  <Card title="SMS" icon="message-sms">
    Text messages via Twilio
  </Card>

  <Card title="WhatsApp" icon="whatsapp">
    WhatsApp Business messaging
  </Card>

  <Card title="Microsoft Teams" icon="microsoft">
    Teams messages and channels
  </Card>

  <Card title="Web Widget" icon="browser">
    Embedded chat on your website
  </Card>
</CardGroup>

## How channels work

Channels connect your workflows to external communication systems:

1. **Inbound** — Receive messages from users (triggers workflows)
2. **Outbound** — Send messages to users (from workflow actions)
3. **Conversational** — Multi-turn dialogues that span multiple messages

<Note>
  Each channel requires a connection configured in your CogniAgent account. See the integration guides for setup instructions.
</Note>

## Email

### Gmail

Connect your Gmail account to send and receive emails from workflows.

**Capabilities:**

* Receive emails (trigger workflows)
* Send emails (plain text and HTML)
* Reply to threads
* Access attachments
* Read email metadata (sender, subject, labels)

**Configuration:**

```json theme={null}
{
  "type": "gmail",
  "connection": "gmail_support",
  "settings": {
    "fromName": "Support Team",
    "signature": "Best regards,\nSupport Team"
  }
}
```

<Tip>
  Use labels to organize incoming emails and trigger different workflows based on the label.
</Tip>

### Microsoft Outlook

Connect Outlook for enterprise email workflows.

**Capabilities:**

* Send and receive emails
* Access calendar events
* Read email metadata
* Manage folders and categories

**Configuration:**

```json theme={null}
{
  "type": "outlook",
  "connection": "outlook_main",
  "settings": {
    "folder": "Inbox",
    "categories": ["Support", "Sales"]
  }
}
```

## Messaging platforms

### Slack

Integrate with Slack for team and customer communication.

**Capabilities:**

* Send messages to channels
* Send direct messages to users
* Receive messages (trigger workflows)
* Post rich messages with buttons and menus
* React to messages

**Configuration:**

```json theme={null}
{
  "type": "slack",
  "connection": "slack_workspace",
  "settings": {
    "defaultChannel": "#support",
    "allowDM": true,
    "botName": "CogniBot"
  }
}
```

**Use cases:**

* Internal approval workflows
* Team notifications
* Customer support (in shared channels)
* Automated standup collection

### Microsoft Teams

Connect to Teams for enterprise messaging.

**Capabilities:**

* Send messages to channels
* Send direct messages
* Post adaptive cards
* Receive messages

**Configuration:**

```json theme={null}
{
  "type": "teams",
  "connection": "teams_org",
  "settings": {
    "defaultTeam": "Support Team",
    "defaultChannel": "General"
  }
}
```

## SMS and WhatsApp

### SMS (Twilio)

Send text messages to mobile phones.

**Capabilities:**

* Send SMS messages
* Receive SMS replies
* Send MMS (images, media)
* Support for short codes

**Configuration:**

```json theme={null}
{
  "type": "sms",
  "connection": "twilio_main",
  "settings": {
    "fromNumber": "+1234567890"
  }
}
```

<Warning>
  SMS messaging has carrier fees. Configure rate limits to avoid unexpected costs.
</Warning>

### WhatsApp Business

Connect WhatsApp Business for customer conversations.

**Capabilities:**

* Send template messages
* Send session messages (within 24h window)
* Receive messages
* Send rich media (images, documents)

**Configuration:**

```json theme={null}
{
  "type": "whatsapp",
  "connection": "whatsapp_business",
  "settings": {
    "businessAccountId": "your_account_id",
    "phoneNumberId": "your_phone_number_id"
  }
}
```

<Note>
  WhatsApp requires pre-approved message templates for initiating conversations. Session messages can be sent freely within 24 hours of customer contact.
</Note>

## Web Widget

Embed a chat widget on your website for real-time conversations.

**Capabilities:**

* Live chat interface
* Visitor identification
* File uploads
* Typing indicators
* Read receipts

**Configuration:**

```json theme={null}
{
  "type": "web_widget",
  "widgetId": "widget_abc123",
  "settings": {
    "position": "bottom-right",
    "primaryColor": "#3B82F6",
    "greeting": "Hi! How can I help you today?"
  }
}
```

**Installation:**
Add the widget script to your website:

```html theme={null}
<script src="https://embed.cogniagent.ai/loader.js"
        data-widget-id="widget_abc123"></script>
```

## Multi-channel conversations

CogniAgent tracks conversations across channels. Users can:

1. Start a conversation via web widget
2. Continue via email when they leave your site
3. Complete via Slack if they're in a shared workspace

The conversation context follows the user — no information is lost.

### Channel switching

In a [Conversation Flow](/conversation-flows/overview), a single flow can be wired to multiple channels (Widget + Gmail + Slack, for example). The conversation context follows the participant regardless of which channel they reply on.

<Tip>
  Include a conversation reference number in messages so users can reference it when switching channels.
</Tip>

## Using channels in workflows

### Triggers

Start workflows when messages arrive:

<AccordionGroup>
  <Accordion title="App Trigger (Email)" icon="envelope">
    Triggers when an email arrives at a connected inbox.

    **Available data:**

    * `from` — Sender email address
    * `subject` — Email subject line
    * `body` — Email content
    * `attachments` — List of attached files
  </Accordion>

  <Accordion title="App Trigger (Slack)" icon="slack">
    Triggers when a message is posted to a channel or DM.

    **Available data:**

    * `user` — Who sent the message
    * `channel` — Where it was posted
    * `text` — Message content
    * `thread_ts` — Thread timestamp (if in a thread)
  </Accordion>

  <Accordion title="Webhook" icon="webhook">
    Triggers from web widget messages or custom integrations.

    **Available data:**

    * Custom payload from the sender
  </Accordion>
</AccordionGroup>

### Actions

Send messages from workflows:

<AccordionGroup>
  <Accordion title="App Action" icon="paper-plane">
    Send a one-off message to any channel using the channel's app integration (Gmail → send-email, Slack → send-message, etc.).

    **Use for:**

    * Notifications
    * Confirmations
    * Status updates
  </Accordion>

  <Accordion title="Conversation Flow" icon="comments">
    Start a multi-turn AI conversation managed by a [Conversation Flow](/conversation-flows/overview).

    **Use for:**

    * Multi-agent conversational AI
    * Customer support across email, chat, voice
    * Outbound campaigns and proactive outreach
  </Accordion>

  <Accordion title="App Action" icon="bolt">
    Perform channel-specific actions (add reaction, update message, etc.).

    **Use for:**

    * Complex channel operations
    * Updating previous messages
    * Channel-specific features
  </Accordion>
</AccordionGroup>

## Best practices

<Tip>
  **Match channel to urgency.** Use SMS for time-sensitive alerts, email for detailed information, and Slack for team collaboration.
</Tip>

<Tip>
  **Respect user preferences.** If a user always responds via email, don't force them to use the web widget.
</Tip>

<Warning>
  **Mind the costs.** SMS and WhatsApp have per-message costs. Batch notifications when possible and set rate limits.
</Warning>

<Tip>
  **Test thoroughly.** Each channel has quirks (character limits, formatting differences). Test messages on each channel before going live.
</Tip>

## Channel comparison

| Feature          | Email   | Slack  | SMS    | WhatsApp | Teams   | Widget |
| ---------------- | ------- | ------ | ------ | -------- | ------- | ------ |
| Rich formatting  | Yes     | Yes    | No     | Limited  | Yes     | Yes    |
| File attachments | Yes     | Yes    | MMS    | Yes      | Yes     | Yes    |
| Real-time        | No      | Yes    | Yes    | Yes      | Yes     | Yes    |
| Read receipts    | Limited | Yes    | No     | Yes      | Limited | Yes    |
| Cost per message | Free    | Free   | Paid   | Paid     | Free    | Free   |
| Setup complexity | Low     | Medium | Medium | High     | Medium  | Low    |

## Next steps

<CardGroup cols={2}>
  <Card title="Conversation Flows" icon="diagram-project" href="/conversation-flows/overview">
    Build multi-agent AI conversations across channels.
  </Card>

  <Card title="App Action" icon="bolt" href="/nodes/actions/app-action">
    Send one-off channel messages from a workflow.
  </Card>

  <Card title="App Trigger" icon="bolt" href="/nodes/triggers/app-trigger">
    Trigger workflows from incoming messages.
  </Card>

  <Card title="Channels overview (Conversation Flows)" icon="share-nodes" href="/conversation-flows/channels/overview">
    Wire a flow to Widget, Email, Slack, Teams, or Phone.
  </Card>
</CardGroup>
