<!-- mobian-agent-page publisher="dailydev" canonical="https://daily.dev/posts/channels-sdk---bring-any-agent-into-any-chat-platform-with-one-codebase-whtglla5d" -->

---
title: Channels SDK - bring any agent into any chat platform...
description: CopilotKit has open-sourced Channels SDK, a tool that lets developers build an AI agent once and deploy it across Slack, Teams, Discord, Telegram, WhatsApp,...
canonical: https://daily.dev/posts/channels-sdk---bring-any-agent-into-any-chat-platform-with-one-codebase-whtglla5d
twitter:card: summary_large_image
twitter:site: @dailydotdev
og:type: website
og:site_name: daily.dev
og:title: Channels SDK - bring any agent into any chat platform with one codebase | daily.dev
og:description: CopilotKit has open-sourced Channels SDK, a tool that lets developers build an AI agent once and deploy it across Slack, Teams, Discord, Telegram, WhatsApp,...
og:url: https://daily.dev/posts/channels-sdk---bring-any-agent-into-any-chat-platform-with-one-codebase-whtglla5d
og:image: https://api.daily.dev/og/posts/WhTGLLa5d.png
og:image:alt: Channels SDK - bring any agent into any chat platform with one codebase
og:image:width: 1200
og:image:height: 630
og:locale: en
---

> ## Documentation Index
> Fetch the complete documentation index at: https://daily.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# Channels SDK - bring any agent into any chat platform with one codebase

**[Anmol Baranwal](https://daily.dev/sources/iwzfqwgzjuz3tmf4zw9az)** · [@anmolbaranwal](https://daily.dev/anmolbaranwal) · 2 min read · 13 upvotes · 3 comments

## Summary

CopilotKit has open-sourced Channels SDK, a tool that lets developers build an AI agent once and deploy it across Slack, Teams, Discord, Telegram, WhatsApp, and other messaging platforms from a single codebase. Built on the AG-UI protocol, it decouples application and agent code, allowing easy swapping of agent frameworks (LangChain, CrewAI, Claude Agent SDK, etc.) or using a built-in agent without any framework. The SDK supports persistence (Redis, Postgres), MCP servers, generative UI, human-in-the-loop, multimodality, cross-platform memory, slash commands, and per-user learning.

## Content

Hey guys, CopilotKit just open-sourced [Channels SDK](https://github.com/CopilotKit/channels-sdk).

You can now build an agent once and run it across Slack, Teams, Discord, Telegram, WhatsApp and other messaging platforms.. with one codebase.

It's all built on the [AG-UI protocol](https://github.com/ag-ui-protocol/ag-ui) so both sides (application code and agent code) stay decoupled.

![bring your agent to any channel](https://dev-to-uploads.s3.us-east-2.amazonaws.com/uploads/articles/yncomvrtwz0i52337ij8.png)

Which means you can swap the agent framework anytime - LangChain, Claude Agent SDK, Mastra, ADK, Pydantic AI, Microsoft Agent Framework, CrewAI, AG2, Agno, AWS Strands and more!

Or you can use BuiltInAgent (without any agent framework) that runs on any model, hosted or local (via Ollama, LM Studio, vLLM).

Then you can add these to make the agent useful:

- Persistence layer (Redis, Postgres)
- MCP servers to connect third party tools
- Generative UI - so it can render components in thread like charts
- Human-in-the-loop
- Files and multimodality (images, docs...)
- Cross-platform memory using transcripts
- Slash commands and reactions (like /book-meeting)
- Tools you define yourself (like web search)
- Per-user automatic learning

![Screenshot 2026-08-04 at 1.15.07 PM.png](https://media.daily.dev/image/upload/s--Yn4GTI8M--/f_auto/v1786375933/ugc/content_d9622461-a863-4018-87b2-44af141183ab?_a=BAMAMicg0)

![flowchart](https://dev-to-uploads.s3.us-east-2.amazonaws.com/uploads/articles/36acqho6cglplqqtf1to.png)

Here is the step-by-step [tutorial on how to bring your agent to slack](https://dev.to/copilotkit/channels-sdk-how-to-bring-your-agent-to-any-channel-slack-microsoft-teams-1bof) which goes into all of these with complete code.

- Repo: [github.com/CopilotKit/channels-sdk](https://github.com/CopilotKit/channels-sdk) (demo video + minimal channel example)
- Slack Docs: [docs.copilotkit.ai/slack](https://docs.copilotkit.ai/slack)
- Microsoft Teams Docs: [docs.copilotkit.ai/teams](https://docs.copilotkit.ai/teams)
- Announcement blog: [copilotkit.ai/blog/channels-sdk](https://www.copilotkit.ai/blog/channels-sdk)

There's also a [live playground page](https://www.copilotkit.ai/try-channels) where you can drop your email and join the workspace to try the agent live.

## Community discussion

Top comments from developers on daily.dev.

**@eliberman** · 0 upvotes

> Hell yeah

**@pdfopsdev** · 0 upvotes

> the redis/postgres split for persistence is the smart call. imo the runtime-native kv stores (workers kv, deno kv) are exactly where 'one codebase, any platform' claims tend to crack, they each have different consistency guarantees under the hood.

**@agustinbarrientos** · 0 upvotes

> DM history needs to stay out of shared channels even when both adapters use the same identity.

## Similar posts on daily.dev

- [Building AI agents with the GitHub Copilot SDK](https://daily.dev/posts/building-ai-agents-with-the-github-copilot-sdk-tauv44gc4) · InfoWorld · 1 upvotes · 0 comments
- [Microsoft Agent Framework Channels: connect to Telegram, A2A, MCP and more](https://daily.dev/posts/microsoft-agent-framework-channels-connect-to-telegram-a2a-mcp-and-more-quhzh8ur1) · DevBlogs · 0 upvotes · 0 comments
- [Chat SDK brings agents to your users](https://daily.dev/posts/chat-sdk-brings-agents-to-your-users-vikosbqz8) · Vercel · 25 upvotes · 0 comments
- [Build an agent into any app with the GitHub Copilot SDK](https://daily.dev/posts/build-an-agent-into-any-app-with-the-github-copilot-sdk-xmlnll6ld) · GitHub Blog · 57 upvotes · 0 comments

---

Tags: [#ai-agents](https://daily.dev/tags/ai-agents), [#bots](https://daily.dev/tags/bots), [#mcp](https://daily.dev/tags/mcp)

[View this post on daily.dev](https://daily.dev/posts/channels-sdk---bring-any-agent-into-any-chat-platform-with-one-codebase-whtglla5d)

```json
{"@context":"https://schema.org","@graph":[{"@type":"Organization","@id":"https://daily.dev/#organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180},"sameAs":["https://twitter.com/dailydotdev","https://github.com/dailydotdev","https://www.linkedin.com/company/daily-dev-ltd"]},{"@type":"WebSite","@id":"https://daily.dev/#website","url":"https://daily.dev","name":"daily.dev","publisher":{"@id":"https://daily.dev/#organization"},"potentialAction":{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https://daily.dev/search?q={search_term_string}"},"query-input":"required name=search_term_string"}}]}
{"@context":"https://schema.org","@type":"DiscussionForumPosting","mainEntityOfPage":"https://daily.dev/posts/channels-sdk---bring-any-agent-into-any-chat-platform-with-one-codebase-whtglla5d","headline":"Channels SDK - bring any agent into any chat platform with one codebase","text":"CopilotKit has open-sourced Channels SDK, a tool that lets developers build an AI agent once and deploy it across Slack, Teams, Discord, Telegram, WhatsApp, and other messaging platforms from a single codebase. Built on the AG-UI protocol, it decouples application and agent code, allowing easy swapping of agent frameworks (LangChain, CrewAI, Claude Agent SDK, etc.) or using a built-in agent without any framework. The SDK supports persistence (Redis, Postgres), MCP servers, generative UI, human-in-the-loop, multimodality, cross-platform memory, slash commands, and per-user learning.","url":"https://daily.dev/posts/channels-sdk---bring-any-agent-into-any-chat-platform-with-one-codebase-whtglla5d","datePublished":"2026-08-05T09:12:46.447Z","dateModified":"2026-09-13T21:32:51.714Z","author":{"@type":"Person","name":"Anmol Baranwal","url":"https://daily.dev/anmolbaranwal","image":"https://avatars.githubusercontent.com/u/74038190?v=4","description":"Just a tech guy who loves writing and building cool stuff","interactionStatistic":{"@type":"InteractionCounter","interactionType":{"@type":"EndorseAction"},"userInteractionCount":21440}},"image":"https://media.daily.dev/image/upload/s--EpYbyocY--/f_auto/v1785921166/posts/WhTGLLa5d?_a=BAMAMicg0","interactionStatistic":[{"@type":"InteractionCounter","interactionType":{"@type":"LikeAction"},"userInteractionCount":13},{"@type":"InteractionCounter","interactionType":{"@type":"CommentAction"},"userInteractionCount":3}],"comment":[{"@type":"Comment","text":"Hell yeah","datePublished":"2026-08-07T14:27:29.785Z","url":"https://daily.dev/posts/WhTGLLa5d#c-VoWTude5T","author":{"@type":"Person","name":"Eli Berman","url":"https://daily.dev/eliberman","image":"https://lh3.googleusercontent.com/a/ACg8ocK3R_edobUdNWqrie66ikPBIZN8OlUpS5lqXKsB-wAu5sulAw=s96-c"}},{"@type":"Comment","text":"the redis/postgres split for persistence is the smart call. imo the runtime-native kv stores (workers kv, deno kv) are exactly where ‘one codebase, any platform’ claims tend to crack, they each have different consistency guarantees under the hood.","datePublished":"2026-08-06T18:04:43.430Z","url":"https://daily.dev/posts/WhTGLLa5d#c-bJowZulR0","author":{"@type":"Person","name":"PDFops","url":"https://daily.dev/pdfopsdev","image":"https://media.daily.dev/image/upload/s---8isRBKc--/f_auto/v1782922291/avatars/avatar_orjMeK8QKaaVZwGq7ScPz?_a=BAMAMicg0"}},{"@type":"Comment","text":"DM history needs to stay out of shared channels even when both adapters use the same identity.","datePublished":"2026-08-15T21:49:27.993Z","url":"https://daily.dev/posts/WhTGLLa5d#c-yB2Bly38H","author":{"@type":"Person","name":"Agustin Barrientos","url":"https://daily.dev/agustinbarrientos","image":"https://media.daily.dev/image/upload/s--5ayxQnqn--/f_auto/v1788281802/avatars/avatar_wQYYVe5Tbj0NJ7C7qPoa8?_a=BAMAMicg0"}}],"isPartOf":{"@type":"WebPage","url":"https://daily.dev/sources/iwzfqwgzjuz3tmf4zw9az","name":"Anmol Baranwal"}}
{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://daily.dev"},{"@type":"ListItem","position":2,"name":"Anmol Baranwal","item":"https://daily.dev/sources/iwzfqwgzjuz3tmf4zw9az"},{"@type":"ListItem","position":3,"name":"Channels SDK - bring any agent into any chat platform with one codebase"}]}
```

