> ## Documentation Index
> Fetch the complete documentation index at: https://koreai-content-gov.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Channels

Channels connect your deployed agents to the surfaces where users interact. Use the UI when you want to register a provider's credentials and bind the connection to a deployment without writing scripts.

Each channel opens a **New \<Channel> Connection** dialog. Provider-side setup, creating the app and copying credentials, happens in the provider's console first. You then paste those values into the dialog, and the platform returns a webhook URL to register back with the provider.

## Before you Begin

Confirm the following before you add a connection:

* You have an active deployment in the target environment, or you bind the connection to the working copy. A connection without an active deployment still saves; it routes traffic once a deployment exists.
* You have a provider account and the credentials the channel requires.
* You have access to the **Deployments** workspace for the project.

**Navigation**: **Project** -> **Deployments** -> **Channels** -> **Add Connection**, then select the channel.

<Note> Read the on-screen Setup instructions for the channel you want to add. Each channel has its own required credentials and setup steps.</Note>

## Common Connection Settings

Every **New Connection** dialog ends with the same three settings. The channel-specific fields differ; these don't.

| Setting                            | Description                                                                                                                                                                                                                                                                               |
| ---------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Display Name**                   | A label for the connection, such as `Slack Production`. Up to 255 characters. Use it to tell environments and workspaces apart in the Channels list.                                                                                                                                      |
| **Environment**                    | The deployment the connection binds to. Select an environment to follow its active deployment automatically, or leave the default to use the working copy. When no environment has an active deployment yet, create a deployment first to bind the connection to a published environment. |
| **Provider Verification Strength** | Controls how strictly the platform trusts the provider's identity assertions for session continuity and linking. **Weak** is the default. Choose **Strong** only for channels or providers whose identity assertions you trust.                                                           |
| **Initial Status**                 | **Active** connections are usable immediately. **Inactive** connections stay saved but disabled until you activate them.                                                                                                                                                                  |

Select **Create** to save the connection, or **Cancel** to discard it.

## Set up Slack

Deploy your agent as a Slack bot for team collaboration in channels and direct messages.

### Get Slack Credentials

<Steps>
  <Step title="Create the app">
    Go to [api.slack.com/apps](https://api.slack.com/apps) and select **Create New App** -> **From scratch**. Name the app and select your workspace.
  </Step>

  <Step title="Subscribe to events">
    Go to **Event Subscriptions**, enable events, and add the bot events `message.im` and `app_mention`. Set the **Request URL** to the webhook URL the platform shows after you create the connection.
  </Step>

  <Step title="Add scopes">
    Under **OAuth & Permissions**, add the scopes `chat:write`, `im:history`, and `app_mentions:read`.
  </Step>

  <Step title="Install and copy credentials">
    Select **Install to Workspace** and copy the **Bot User OAuth Token**. Under **Basic Information**, copy the **Signing Secret**, **App ID**, and your workspace **Team ID**.
  </Step>
</Steps>

### Create the Connection

In the **New Slack Connection** dialog, you can connect two ways:

* Select **Add to Slack** to authorize through Slack's OAuth flow.
* Select **Enter credentials manually instead** to paste the values yourself.

| Field                    | What to enter                                           |
| ------------------------ | ------------------------------------------------------- |
| **Display Name**         | A label for the connection.                             |
| **Slack Team ID:App ID** | Your workspace Team ID and App ID, joined with a colon. |

Complete the [common connection settings](#common-connection-settings) and select **Create**.

For Slack slash commands, point the command's **Request URL** to `/api/v1/channels/slack/slash/<Team ID:App ID>`.

## Set up Microsoft Teams

Integrate your agent into Teams channels and chats through an Azure Bot registration.

### Get Microsoft Teams Credentials

<Steps>
  <Step title="Create the Azure Bot">
    Go to the [Azure Portal](https://portal.azure.com/), navigate to **Azure Bot** -> **Create**, and set the **Messaging endpoint** to the webhook URL the platform shows after you create the connection.
  </Step>

  <Step title="Copy the App ID and secret">
    Copy the **Microsoft App ID** from the bot's **Configuration** page. Go to **App Registrations** -> your bot -> **Certificates & secrets**, create a **New client secret**, and copy the value.
  </Step>

  <Step title="Copy the tenant ID">
    Copy the **Directory (tenant) ID** from the **Overview** page.
  </Step>

  <Step title="Add the Teams channel">
    Go to **Channels** and add the **Microsoft Teams** channel. In the Teams app manifest, set `bots[0].supportsFiles` to `true` to enable attachments.
  </Step>
</Steps>

### Create the Connection

| Field               | What to enter                                           |
| ------------------- | ------------------------------------------------------- |
| **Display Name**    | A label for the connection.                             |
| **Bot App ID**      | The Microsoft App ID of your bot registration.          |
| **App ID**          | Your Microsoft App ID.                                  |
| **Client Secret**   | The client secret value you created in Azure.           |
| **Azure Tenant ID** | The Directory (tenant) ID from the Azure Overview page. |

Complete the [common connection settings](#common-connection-settings) and select **Create**.

## Set up WhatsApp

Connect your agent to WhatsApp Business for customer messaging through Meta's Cloud API.

### Get WhatsApp Credentials

<Steps>
  <Step title="Create the WhatsApp Business app">
    Go to [Meta for Developers](https://developers.facebook.com/) and create a WhatsApp Business app.
  </Step>

  <Step title="Copy the API credentials">
    Under **WhatsApp** -> **API Setup**, copy your **Access Token** and **Phone Number ID**. Under **Settings** -> **Basic**, copy the **App Secret**.
  </Step>

  <Step title="Choose a verify token">
    Choose any secret string as your **Verify Token**. You use the same string in the dialog and when you configure the webhook in Meta's dashboard.
  </Step>
</Steps>

### Create the Connection

| Field               | What to enter                                                  |
| ------------------- | -------------------------------------------------------------- |
| **Display Name**    | A label for the connection.                                    |
| **Provider**        | The WhatsApp provider. Defaults to **Meta Cloud API**.         |
| **Phone Number ID** | The numeric Phone Number ID from Meta.                         |
| **Access Token**    | The access token from your WhatsApp Business app.              |
| **App Secret**      | The Meta App Secret used to verify inbound webhook signatures. |
| **Verify Token**    | The secret string you chose for webhook verification.          |

Complete the [common connection settings](#common-connection-settings) and select **Create**. Then open your Meta app settings and set the **Webhook URL** to the URL the platform shows, using the same verify token.

## Set up Telegram

Connect your agent to a Telegram bot for direct and group conversations.

### Get Telegram Credentials

<Steps>
  <Step title="Create the bot">
    Open Telegram and message [@BotFather](https://t.me/BotFather). Send `/newbot` and follow the prompts.
  </Step>

  <Step title="Copy the bot token">
    Copy the bot token, in the format `123456:ABC-DEF1234ghIkl-zyx57W2v1u123ew11`.
  </Step>
</Steps>

### Create the Connection

| Field            | What to enter                                        |
| ---------------- | ---------------------------------------------------- |
| **Display Name** | A label for the connection.                          |
| **Bot Username** | The bot's username, used as the external identifier. |
| **Bot Token**    | The token you copied from BotFather.                 |

Complete the [common connection settings](#common-connection-settings) and select **Create**. The platform registers the webhook URL with Telegram automatically on connect.

## Set up Email

Process inbound emails and send agent responses by email.

### Create the Connection

| Field            | What to enter               |
| ---------------- | --------------------------- |
| **Display Name** | A label for the connection. |

Complete the [common connection settings](#common-connection-settings) and select **Create**. The platform generates an inbound email address for the connection.

Configure your email provider to forward or route messages to that address. The platform's SMTP server listens on **port 2525**, and incoming emails route to the selected agent version.

## Set up Genesys

Connect your agent to Genesys Cloud as a Bot Connector for contact-center automation.

### Get Genesys Credentials

<Steps>
  <Step title="Create the Bot Connector">
    In Genesys Cloud Admin, go to **Integrations** -> **Bot Connector** and create a new integration. Note the **Stream ID**.
  </Step>

  <Step title="Set the connector URL and secret">
    Set the **Bot Connector URL** to the webhook URL the platform shows, and configure a **Client Secret** (bearer token) in the Bot Connector settings.
  </Step>

  <Step title="Wire the Architect flow">
    In the Architect flow, add a **Call Bot Connector** action that points to this integration.
  </Step>
</Steps>

### Create the Connection

| Field             | What to enter                                                  |
| ----------------- | -------------------------------------------------------------- |
| **Display Name**  | A label for the connection.                                    |
| **Stream ID**     | The Stream ID from your Genesys Bot Connector integration.     |
| **Client Secret** | The bearer token you configured in the Bot Connector settings. |

Complete the [common connection settings](#common-connection-settings) and select **Create**.

## Set up AIforWork

Connect your agent to Kore.ai's Employee Experience (EX) platform for bidirectional messaging.

### Create the Connection

| Field            | What to enter               |
| ---------------- | --------------------------- |
| **Display Name** | A label for the connection. |

Complete the [common connection settings](#common-connection-settings) and select **Create**. On creation, the platform auto-generates the endpoint URL and a connection secret.

<Steps>
  <Step title="Copy the endpoint and secret">
    Copy the **Endpoint URL** and **Connection Secret** shown immediately after creation. The secret is revealed only once.
  </Step>

  <Step title="Register the ABL Agent">
    In AIforWork, register a new ABL Agent and paste the endpoint URL and connection secret into its configuration.
  </Step>

  <Step title="Set the response mode">
    Set the response mode — **sync**, **stream**, or **async** — to match your AI4W agent setup.
  </Step>

  <Step title="Test end to end">
    Send a test message from AIforWork to confirm the integration works end to end. AIforWork signs requests with HMAC-SHA256 and includes a JWT bearer token, and the platform verifies both automatically.
  </Step>
</Steps>

## Set up Web SDK

Embed a chat widget in your website with a single script tag.

### Create the Connection

| Field              | What to enter                                                                                                           |
| ------------------ | ----------------------------------------------------------------------------------------------------------------------- |
| **Display Name**   | A label for the connection.                                                                                             |
| **Environment**    | The deployment the widget serves. See [common connection settings](#common-connection-settings).                        |
| **Authentication** | How customer browsers bootstrap SDK sessions. Select **Anonymous / Public-key bootstrap** or **Hosted token exchange**. |

Choose the authentication mode that fits your setup:

| Mode                                 | When to use                                                                                                                                                                                                         |
| ------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Anonymous / Public-key bootstrap** | Browser or client app. Store the public `pk_*` key, runtime endpoint, and channel selection in client-side configuration. No ABL secret is required, so there is nothing extra to provision on the customer server. |
| **Hosted token exchange**            | Customer backend. The backend adds a secret and issues one-time bootstrap tokens.                                                                                                                                   |

<Note>
  Public-key bootstrap has security implications:

  * The public `pk_*` key is publishable and may ship in browser code.
  * It authenticates SDK bootstrap for the app or channel, not the end user.
  * Restrict allowed origins and use separate public keys for dev, staging, and production.
</Note>

Create a public SDK key before you publish the channel. If the dialog reports **No active public SDK keys found**, create one in **Deploy** -> **Public Keys**. Then copy the embed snippet and add it to your website's `<head>` or before the closing `</body>` tag. For the embed component, SDK reference, and origin restrictions, see [Channels](/agent-platform/channels#deploy-on-web).
