# Overview

It's common to want people to reach your agent from the apps they already use. For instance, Anya texts DentalCo's number "Can I move my cleaning to Friday?", and the agent answers her by SMS from the same number.

A channel does this. A connector gives the agent tools to call. A channel works the other way round: people reach the agent through it.

```mermaid
flowchart LR
    person[A person] --> slack[Slack]
    person --> whatsapp[WhatsApp]
    person --> imessage[iMessage]
    person --> sms[SMS]
    slack --> agent[Your agent]
    whatsapp --> agent
    imessage --> agent
    sms --> agent
```

## Pick a channel

Each channel answers on an account of your own at the provider: your Slack app, your Meta app, your Linq line or your Telnyx number.

| Channel  | Connector in `agent.yaml` | What you need at the provider                                         | Learn more                                    |
| -------- | ------------------------- | --------------------------------------------------------------------- | --------------------------------------------- |
| Slack    | `slack_bot`               | A Slack app in your workspace                                         | [Slack](https://getstream.io/agents/docs/connectors/slack/)       |
| WhatsApp | `whatsapp`                | A Meta app, a WhatsApp number and an access token that doesn't expire | [WhatsApp](https://getstream.io/agents/docs/connectors/whatsapp/) |
| iMessage | `linq`                    | A Linq line, its API token and a webhook subscription                 | [iMessage](https://getstream.io/agents/docs/connectors/imessage/) |
| SMS      | `telnyx`                  | A Telnyx number with messaging, the account's API key and public key  | [SMS](https://getstream.io/agents/docs/connectors/sms/)           |

`slack_bot` answers people in Slack, and gives the agent no tools. The `slack` connector is the other way round: it gives the agent Slack tools, such as searching the workspace.

We recommend starting with Slack: you need only a Slack app in a workspace you already use, and you can test the agent there with your team. For customers, pick the app they already text you on. A reply by SMS to a US phone needs your number in an approved [10DLC](https://getstream.io/agents/docs/telephony/10dlc/) campaign.

## Set one up

Every channel takes the same two things on Stream's side:

- Your provider app, saved once per app with `getstream agents connectors client set`.
- An app connection for your line or workspace, named in the agent with `connection`.

```yaml title="agents/dentalco-support/agent.yaml"
name: dentalco-support
mode: text
llm: llm-fast
connectors:
  - name: telnyx
    connection: dentalco-sms # the label of your Telnyx connection
```

One agent answers per connection. Each channel's page has the steps at the provider and at Stream.

## Remember across channels

Anya can chat in your app on Monday and text on Tuesday. To make the agent remember the app chat in her texts, see [Omni-channel](https://getstream.io/agents/docs/omni-channel/).

## Going further

- [Slack](https://getstream.io/agents/docs/connectors/slack/): Answer in Slack threads as your workspace's bot.
- [WhatsApp](https://getstream.io/agents/docs/connectors/whatsapp/): Answer on WhatsApp with your own Meta app.
- [iMessage](https://getstream.io/agents/docs/connectors/imessage/): Answer over iMessage on your own Linq line.
- [SMS](https://getstream.io/agents/docs/connectors/sms/): Answer over SMS on your own Telnyx number.
- [Omni-channel](https://getstream.io/agents/docs/omni-channel/): One memory of a person across the app chat and their texts.
- [Connectors](https://getstream.io/agents/docs/connectors/): Give the agent tools: GitHub, Linear, Slack and more.

---

For the most recent version of this documentation, visit [https://getstream.io/agents/docs/connectors/channels/](https://getstream.io/agents/docs/connectors/channels/).