Illustration of what channels-sdk does: TypeScript SDK that puts AG-UI agents into Slack and Teams with native interactive UI

CopilotKit /

channels-sdk

TypeScript SDK that puts AG-UI agents into Slack and Teams with native interactive UI

  • 945 stars
  • 24 stars since 3 Oct
  • Updated 2 months ago
  • Some experience
  • AI agents

Most agents live behind a custom web page or API, but teams often want them in Slack or Microsoft Teams. Each platform has its own message format, credentials and event rules, so wiring an agent into each one is a lot of work.

Channels sits between your agent and the chat platform. A person sends a message, and CopilotKit Intelligence receives the platform event and passes it to a long-running Node process that you host. That process runs your agent over the AG-UI protocol, runs its tools, and returns a reply that Intelligence delivers as native UI, such as Slack Block Kit or Teams Adaptive Cards.

Your agent, model keys, tools and logic stay on your infrastructure. CopilotKit Intelligence handles platform credentials, incoming events, delivery and reconnects. It can be hosted by CopilotKit or self-hosted for enterprise use. The repo description also names Discord and Telegram, but the README says managed connections cover Slack and Teams, with more channels coming.

What it does

  • Bring your own agent

    Use CopilotKit's built-in agent, or connect AG-UI agents from LangGraph, CrewAI, Mastra, Pydantic AI, Google ADK and others. The Channel lifecycle code stays the same.

  • Native interactive UI

    You describe a message once and it renders as Slack Block Kit or Teams Adaptive Cards instead of plain text.

  • Human approval in the chat

    Buttons, choices and approval gates can appear in the conversation so a person confirms before the agent acts.

  • Conversation, tools and files

    The agent can read the conversation, stream a response, call tools and work with files.

  • Coding-agent setup

    A CLI command installs a skill and prints a prompt so your coding agent can walk through the project, Channel and Slack or Teams setup.

What you could build

  • Build a Slack bot that runs a LangGraph agent and replies in threads.
  • Add an approval button so an agent asks a person before writing to Linear or Notion.
  • Offer one agent in both Slack and Microsoft Teams from a single codebase.
  • Study OpenTag, a self-hosted on-call triage assistant built with Channels.
  • Return charts or spreadsheet metrics from an agent as native chat messages.

Get started

Create a Channel in CopilotKit Intelligence and connect Slack, and keep the Channel code and project API key. Then install the packages, write the listener from the README, set your .env values and start it. Or run the setup command and let your coding agent do the steps.

npx copilotkit@latest channels setup
npm install @copilotkit/channels @copilotkit/runtime
node --env-file=.env --import tsx channel.ts

Commands are copied from the project's README. Read it on GitHub for the full setup.

More in AI agents

    ↑↓ to move, Enter to open, Esc to close