CopilotKit Channels SDK Open-Source Release Enables Any AI Agent on Slack, Teams, Discord, and More

What the Channels SDK does and why it matters

The Channels SDK lets any AG‑UI‑compatible AI agent run inside Slack, Microsoft Teams, Discord, Telegram and future chat platforms, rendering native UI elements (blocks, adaptive cards, etc.) and preserving full control over tool use and approvals. This unifies agent deployment across work‑place communication channels, reducing integration effort and enabling richer, context‑aware interactions.


Core capabilities delivered out‑of‑the‑box

  • Agent‑agnostic connectivity – Connect built‑in CopilotKit agents or external frameworks such as LangGraph, CrewAI, Mastra, Pydantic AI, Google ADK, or any AG‑UI‑compatible agent.
  • Native UI rendering – Describe a message once; the SDK translates it to Slack Block Kit, Teams Adaptive Cards, Discord embeds, or platform‑specific UI automatically.
  • Human‑in‑the‑loop controls – Buttons, choice menus, and approval gates appear directly in the conversation, letting users intervene before the agent takes action.
  • Managed platform credentials – CopilotKit Intelligence handles Slack and Teams OAuth, signing secrets, and token rotation, while the developer retains control of model keys, tools, and business logic.

Quick‑start workflow (fastest path)

  1. Run the setup skill – Execute npx copilotkit@latest channels setup. The skill fetches the latest guide from copilotkit.ai/channels-guide.md, prompts you for platform (Slack or Teams) and agent framework, and drives the browser‑based configuration.
  2. Configure the connection – Create a Channel in CopilotKit Intelligence, note the Channel Code and project‑scoped API key.
  3. Install the SDK – ```bash npm install @copilotkit/channels @copilotkit/runtime npm install --save-dev tsx typescript @types/node npm pkg set type=module
4. **Write the listener** – A minimal Node server creates a `Channel` object, wires it to a `CopilotRuntime`, and forwards incoming messages to an agent via `thread.runAgent`. The repository provides a full example that uses the built‑in `BuiltInAgent` with `model: "openai:gpt-5.4-mini"`.
5. **Start the process** – Populate a `.env` with `OPENAI_API_KEY`, `INTELLIGENCE_API_KEY`, `CHANNEL_CODE`, and `PORT`, then run `node --env-file=.env --import tsx channel.ts`. When Intelligence reports *Online*, invite the bot to a Slack channel and mention it; the agent will respond in‑thread.

> **Note:** If an older global `copilotkit` binary shadows the latest version, the `--skill` flag will fail. Always use the `@latest` suffix to force npx to fetch the current CLI.

---

## Architecture at a glance
1. **User message** – A person posts in Slack or Teams.
2. **Intelligence ingress** – CopilotKit Intelligence receives the platform event and forwards it to the long‑running Channels process.
3. **Agent execution** – The Channels SDK runs the AG‑UI‑compatible agent, which may call tools, access files, or request human approval.
4. **Native response** – Intelligence renders the agent’s output as native UI (blocks, cards, charts) and posts it back to the conversation.

| Responsibility | Managed by CopilotKit Intelligence | Managed by developer |
|---|---|---|
| Platform credentials (Slack, Teams) | ✅ | |
| Agent model, tools, business logic | | ✅ |
| Long‑running listener process | | ✅ |
| Runtime health, reconnection | ✅ | |

The SDK is MIT‑licensed; the client library is open source, while the hosted Intelligence service is proprietary and license‑gated.

---

## Real‑world example: OpenTag
OpenTag is a self‑hosted on‑call triage assistant built with Channels. It demonstrates:
- A Python LangGraph agent connected via AG‑UI.
- Native Slack and Teams experiences with file‑aware prompts.
- Human approval steps before creating Linear tickets or Notion pages.
- Production‑grade Node runtime and agent service.

Explore the source at https://github.com/CopilotKit/OpenTag.

---

## Community feedback from Hacker News
- **Engineers’ perspective** – A CopilotKit engineer highlighted internal dog‑fooding: tiny task‑specific agents (lunch ordering, incident triage, marketing video generation) now live in Slack/Teams via Channels.
- **Design validation** – Commenters praised the unified SDK/data‑structure approach, noting it avoids reinventing low‑level chat client primitives.
- **Open‑source concerns** – One user pointed out that only the client is MIT‑licensed; the backend Intelligence service remains closed and license‑gated.
- **Future channel requests** – Community members asked for additional platforms (Mastodon, more Discord support) and expressed mixed feelings about pervasive chatbot noise in workplace Slack.

---

## Getting started resources
| Goal | Link |
|---|---|
| Try a live demo (no setup) | https://www.copilotkit.ai/try-channels |
| Install the SDK | https://www.npmjs.com/package/@copilotkit/channels |
| Step‑by‑step guide | https://docs.copilotkit.ai/channels |
| Source code | https://github.com/CopilotKit/channels-sdk |
| Study a full app | https://github.com/CopilotKit/OpenTag |
| AG‑UI protocol docs | https://github.com/ag-ui-protocol/ag-ui |

---

## Bottom line
The Channels SDK abstracts away platform‑specific plumbing, letting developers focus on the agent’s intelligence while delivering native, interactive experiences in the chat tools where teams already collaborate. Its open‑source client combined with a managed Intelligence backend provides a low‑friction path from prototype to production for multi‑channel AI agents.

Sources

Related

  • Project
  • Project
  • Project
  • Project
  • Project