Platforms

Supported chat platforms, and the platform work Intelligence handles for you.


A channel can run on any of these platforms. The same agent, tools, commands, and cards work on all of them.

PlatformDirect adapterConnect directly
Slack@copilotkit/channels/slackSlack
Microsoft Teams@copilotkit/channels/teamsTeams
WhatsApp@copilotkit/channels/whatsappWhatsApp
Telegram@copilotkit/channels/telegramTelegram
Discord@copilotkit/channels/discordDiscord

What Intelligence handles for you#

Each platform has its own login, its own way of delivering events, and its own message format. With a managed channel, Intelligence takes care of the platform-side work, so your process just runs the agent. Connect a platform with its own adapter and that work becomes yours (though the runtime still drives the channel).

ConcernWith a managed channelWith a direct adapter
CredentialsHeld by Intelligence. No platform tokens in your app.You hold and rotate every token.
IngressIntelligence receives the platform event and delivers the turn to your bot over HTTP.You run the webhook or socket connection.
EgressIntelligence does the credentialed send back to the platform.You send with your own credentials.
Files and mediaFetched, size-checked, and handed to your agent as content parts.You fetch and cap them on the adapter.
DeliveryRetries, de-duplication, and per-thread ordering are managed.You handle duplicates and retries.
Adding a platformAttach it in the dashboard, no code change.Add another adapter and its setup.

Two things are the same either way, because they live in the SDK: components render to each platform's native format (Slack Block Kit, Teams Adaptive Cards, and so on), and reactions arrive under one canonical name on every platform.

Per-platform notes#

Some behavior is set by the platform itself and holds no matter how you connect:

  • Slack runs over Socket Mode, and a /command must be declared in your Slack app manifest.
  • Teams accepts image attachments only for outbound files, and reactions arrive as tokens like 1f504_refresh (normalized for you).
  • WhatsApp and Telegram deliver slash commands as plain text.
  • Discord has native slash commands with typed arguments.

Connect a platform directly#

Start with the Quickstart on a managed channel. Reach for a direct adapter when you want to own one platform's credentials end to end (the runtime still runs the channel, so an Intelligence key is required):