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

# Channels Overview

> Bring the BOW analyst to messaging tools and connect your own applications with OAuth

Channels connect the BOW analyst to the messaging tools your team already uses. Once a channel is integrated, users can ask data questions in plain language — from a Slack DM, a Teams channel, a Google Chat space, a WhatsApp message, or an email — and get answers with real data, without opening the BOW app.

> [card] [Slack](https://docs.bow.ai/channels/slack.md)
>
> Socket Mode by default — no public URL needed. Includes the Slack Agent experience.

> [card] [Microsoft Teams](https://docs.bow.ai/channels/teams.md)
>
> Azure Bot–based integration for 1:1 chats and channel @mentions.

> [card] [Google Chat](https://docs.bow.ai/channels/google-chat.md)
>
> Pub/Sub-based — outbound-only, enterprise-friendly, no public URL needed.

> [card] [WhatsApp](https://docs.bow.ai/channels/whatsapp.md)
>
> Meta WhatsApp Business Cloud API integration.

> [card] [Email](https://docs.bow.ai/channels/email.md)
>
> Give the analyst its own mailbox — send answers and (optionally) receive questions.

> [card] [MCP](https://docs.bow.ai/using-bow/mcp.md)
>
> Connect Claude, Cursor, or any MCP client with a personal token or an admin-registered OAuth app.

> [card] [OAuth Apps](https://docs.bow.ai/channels/oauth-apps.md)
>
> Let your own applications sign users in to BOW and call the BOW API on their behalf.

## How channels work

All chat channels share the same core model:

* **Account linking** — every platform user maps to a BOW account, so all queries run with that user's permissions. On platforms that vouch for the user's email (Slack, Teams, Google Chat), accounts are **auto-linked by email** when it matches an existing BOW user (this can be disabled per integration). Otherwise, the bot sends a one-time verification link on first contact.
* **Thread = conversation** — each thread maps to a single BOW report. Replies in a thread continue the same conversation and context; a new message starts a new one. Every conversation is saved as a report in BOW, with a link posted back into the chat.
* **Permission-aware data access** — in public channels, only public agents (data sources) are queried, since answers are visible to everyone. In DMs, the user's private agents are available too.
* **Status feedback** — the bot signals progress while it works (for example 👀 → ✅ reactions on Slack, or a "Working on it…" message on Google Chat).
* **Per-agent channel availability** — each agent (data source) can be enabled or disabled per channel from its settings, so you control which data is reachable from which surface.

## Connectivity at a glance

Channels differ in how events reach your BOW server — which matters if your deployment sits behind a firewall with no public URL.

| Channel | How events arrive | Public URL required? |
| - | - | - |
| Slack (Socket Mode, default) | Outbound WebSocket to Slack | No |
| Slack (HTTP webhook) | Slack posts to your webhook | Yes |
| Google Chat | Outbound Pub/Sub pull from Google Cloud | No |
| Microsoft Teams | Azure Bot posts to your webhook | Yes |
| WhatsApp | Meta posts to your webhook | Yes |
| Email | Outbound SMTP/IMAP to your mail provider | No |

> [!NOTE]
>
> All channels and OAuth apps are configured by an admin under **Settings → Channels** in BOW.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.