# channels-sdk

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

- Repository: https://github.com/CopilotKit/channels-sdk
- Category: AI agents
- Stars: 945 · Forks: 63 · Language: n/a · License: MIT
- Experience: Some experience
- Page: https://ir.adyog.com/repos/copilotkit/channels-sdk/

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.

## Who it's for

Suits TypeScript or Node developers who already have an agent and want it in Slack or Teams. You need Node.js 22 or later, a CopilotKit Intelligence account and a place to run a long-lived process.

## 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
```

Tags: agents, slack, microsoft-teams, ag-ui, typescript
