Repo of the Day
CopilotKit/channels-sdk: The open-source SDK for bringing any agent into any chat platform: Slack, Microsoft Teams, Discord, Telegram - with native, Interactive UI.
Published: Aug 30, 2026
Open repository ↗The open-source SDK for bringing any agent into any chat platform: Slack, Microsoft Teams, Discord, Telegram - with native, Interactive UI. - CopilotKit/channels-sdk
Summary
Channels SDK is an MIT-licensed Node.js library that connects AG-UI-compatible AI agents to team chat platforms — at present Slack and Microsoft Teams — and renders their output as native platform UI (Slack Block Kit, Teams Adaptive Cards). The library splits responsibility cleanly: engineers run the agent, tools, model credentials, and a long-running listener in their own infrastructure, while CopilotKit Intelligence manages platform credentials, ingress, health, and reconnects.
What it is useful for
The SDK is a fit when an engineer wants to expose an existing agent — CopilotKit's BuiltInAgent, LangGraph, CrewAI, Mastra, Pydantic AI, Google ADK, or any other AG-UI-compatible implementation — inside the chat surfaces where teams already work. The README highlights three capabilities: streaming responses into a thread, calling tools and handling files, and pausing for human approval via buttons and choices before the agent acts. The same agent definition can target multiple channels because the UI is described once and rendered per platform.
For studying a complete application, the README points to OpenTag, an open-source self-hosted on-call triage assistant built on Channels that includes a Python LangGraph agent, native Slack and Teams experiences, and approval gates before Linear or Notion writes.
How engineers can use it
The README documents a manual setup path. Prerequisites are Node.js 22 or later and a long-running Node process or container.
- Create a Channel in CopilotKit Intelligence and copy the Channel Code and project API key.
- Install the package and dev tools:
npm install @copilotkit/channels @copilotkit/runtime npm install --save-dev tsx typescript @types/node npm pkg set type=module - Implement a listener using
createChannelfrom@copilotkit/channelsandcreateCopilotNodeListenerfrom@copilotkit/runtime/v2/node. ReplacemakeAgentwith any AG-UI-compatible factory; the Channel lifecycle stays the same. - Set the required environment variables —
OPENAI_API_KEY,INTELLIGENCE_API_KEY,CHANNEL_CODE, and optionallyPORT(defaults to 3000) — then run:node --env-file=.env --import tsx channel.ts - When Intelligence reports "Online", invite the app into Slack or Teams and mention it; the agent receives the conversation and replies in-thread.
An alternative path is npx copilotkit@latest channels setup, which installs a skill for a coding agent to drive the full setup (project, agent, managed Channel, provider app, runtime) interactively.
Documented scope to be aware of: managed platform connections are currently limited to Slack and Microsoft Teams, with additional platforms described as "on the way". Discord appears in demo imagery but is not listed as currently managed. Provider-side secrets (Slack bot token, signing secret) stay in the engineer's own .env.