Channels SDK

Je agent behoudt zijn tools, model en bedrijfslogica. Channels biedt de agent simpelweg een native omgeving om met mensen samen te werken.

Waar je agent thuishoort

Channels verbindt een AG-UI-compatibele agent met de communicatieplatforms die jouw team al gebruikt. De agent kan gesprekken begrijpen, antwoorden streamen, tools aanroepen, met bestanden werken, interactieve UI's renderen en pauzeren voor menselijke goedkeuring.

  • Breng je agent: Gebruik de ingebouwde agent van CopilotKit of maak verbinding met LangGraph, CrewAI, Mastra, Pydantic AI, Google ADK en andere AG-UI agents.
  • Render native UI: Beschrijf een bericht één keer en render het als native Slack Block Kit, Teams Adaptive Cards en platformspecifieke UI.
  • Houd mensen in controle: Plaats knoppen, keuzes en goedkeuringspoorten direct in het gesprek voordat een agent actie onderneemt.

Eén interactie, native voor elk kanaal

Channels is gebouwd voor een wereld waarin dezelfde agent gebruikers op elk communicatieoppervlak kan ontmoeten. Beheerde verbindingen voor Slack en Microsoft Teams zijn beschikbaar via CopilotKit Intelligence; meer kanalen zijn in ontwikkeling.

Probeer het voordat je bouwt

Ervaar een echte Channels-agent in Slack of Microsoft Teams zonder een app, runtime of provider-credentials te configureren. [Try Channels →]

Kies een platform, neem deel aan de ervaring en zie hoe een agent omgaat met context, toolgebruik en native channel UI.

Bouw je eerste Channel

Je agent en applicatielogica draaien in jouw eigen infrastructuur. CopilotKit Intelligence beheert de platformverbinding en stuurt elke beurt door naar jouw long-running Channels-proces.

De snelste route: laat je coding agent het werk doen

Het bouwen van een Channels-agent omvat een project, een agent, een beheerd Channel, een provider-app en een runtime. Eén gids begeleidt je agent door dit hele proces:

npx copilotkit@latest channels setup

Dit installeert de channels-setup skill, print een prompt en kopieert deze naar je klembord. Plak dit in je coding agent.

De skill fungeert als een pointer; hij haalt de workflow op van copilotkit.ai/channels-guide.md wanneer je agent deze nodig heeft, zodat de stappen actueel blijven. De gids vraagt welk platform je wilt (Slack of Microsoft Teams) en welk agent-framework.

Je agent bestuurt vervolgens zelf de Slack- en Intelligence-consoles in je eigen ingelogde sessie. Als de agent nog geen browser- of computer-use tool heeft, zal hij vragen om deze eerst toe te voegen. Jij voert de secrets in; de agent doet het klikken.

Alternatief: installeer de Slack setup skill lokaal

Sla de gehoste gids over en plaats de Slack-workflow direct in de coding agent die je al draait:

npx copilotkit@latest skills install --skill setup-slack-channel -y

De vlag -y installeert deze specifieke skill zonder een selectiemenu te openen. Deze skill is beperkt tot Slack; voor Microsoft Teams kun je de bovenstaande gids gebruiken.

De CLI regelt de Intelligence-zijde: copilotkit channels add --adapter slack declareert het Channel en koppelt de adapter, terwijl copilotkit channels status je configuratie, code en server vergelijkt. Wat in de browser blijft, is de provider-zijde (het maken van de Slack-app en het installeren ervan in een workspace) en het genereren van de project API-key. Geen enkele CLI-vlag accepteert credential-waarden; de bot token en signing secret blijven dus veilig in je .env-bestand.

Let op: Krijg je de fout Unknown option '--skill'? Dan wordt waarschijnlijk een oudere versie van copilotkit (globaal geïnstalleerd of in de npx-cache) gebruikt. Gebruik altijd @latest om npx te dwingen de huidige versie op te halen.

---

Handmatige installatie (Stap-voor-stap)

De onderstaande stappen zijn hetzelfde pad, maar dan handmatig uitgevoerd.

1. Configureer de verbinding

Maak een Channel aan in CopilotKit Intelligence en verbind dit met Slack. Bewaar de Channel Code en de project-specifieke Intelligence API key voor de volgende stappen.

Vereisten: Node.js 22 of later en een long-running Node-proces of container.

2. Installeer de SDK

npm install @copilotkit/channels @copilotkit/runtime
npm install --save-dev tsx typescript @types/node
npm pkg set type=module

Channels en Runtime worden geleverd als een getest paar. Upgrade beide pakketten altijd tegelijk.

3. Maak de listener

Het onderstaande voorbeeld maakt gebruik van de ingebouwde agent van CopilotKit. Je kunt makeAgent vervangen door elke AG-UI-compatibele agent factory zonder de Channel-lifecycle aan te passen.

// channel.ts
import { createServer } from "node:http";
import { createChannel } from "@copilotkit/channels";
import {
  BuiltInAgent,
  CopilotKitIntelligence,
  CopilotRuntime,
} from "@copilotkit/runtime/v2";
import { createCopilotNodeListener } from "@copilotkit/runtime/v2/node";

function required(name: string): string {
  const value = process.env[name];
  if (!value) throw new Error(`Missing required environment variable: ${name}`);
  return value;
}

function makeAgent(threadId: string) {
  const agent = new BuiltInAgent({ model: "openai:gpt-5.4-mini" });
  agent.threadId = threadId;
  return agent;
}

const channel = createChannel({
  name: required("CHANNEL_CODE"),
  identifyUser: "platform",
  agent: makeAgent,
});

channel.onMessage(async ({ thread, message }) => {
  await thread.runAgent({
    prompt: message.contentParts?.length
      ? [
          ...(message.text
            ? [{ type: "text" as const, text: message.text }]
            : []),
          ...message.contentParts,
        ]
      : message.text,
    context: [{ description: "Originating platform", value: message.platform }],
  });
});

const intelligence = new CopilotKitIntelligence({
  apiKey: required("INTELLIGENCE_API_KEY"),
});

const runtime = new CopilotRuntime({
  agents: {},
  intelligence,
  identifyUser: () => ({
    id: "channels-runtime",
    name: "Channels Runtime",
  }),
  channels: [channel],
});

const listener = createCopilotNodeListener({
  runtime,
  basePath: "/api/copilotkit",
});

const channels = listener.channels;
if (!channels) throw new Error("Channels control surface was not created.");

const server = createServer(listener);

const shutdown = async () => {
  await channels.stop();
  if (server.listening) server.close();
};

process.once("SIGINT", shutdown);
process.once("SIGTERM", shutdown);

await channels.ready({ timeoutMs: 30_000 });

const status = channels.status();
if (status.overall !== "online") {
  throw new Error(`Channel is not online: ${JSON.stringify(status)}`);
}

const port = Number(process.env.PORT ?? 3000);
server.listen(port, () => {
  console.log(`Channel online; lifecycle server listening on :${port}`);
});

4. Start de applicatie

Maak een .env bestand aan:

OPENAI_API_KEY=<openai-api-key>
INTELLIGENCE_API_KEY=<project-api-key>
CHANNEL_CODE=<channel-code-from-intelligence>
PORT=3000

Start de server:

node --env-file=.env --import tsx channel.ts

Zodra Intelligence "Online" rapporteert, kun je de app uitnodigen in een Slack-kanaal en deze noemen (mention). Je agent ontvangt nu het gesprek en reageert in de thread.

---

Hoe het werkt

Elke interactie volgt hetzelfde pad:

  1. Een persoon stuurt een bericht naar je app in Slack of Microsoft Teams.
  2. CopilotKit Intelligence ontvangt het platformevent en stuurt dit door naar jouw Channels-proces.
  3. Channels voert je agent uit via AG-UI, activeert tools en rendert het resultaat.
  4. Intelligence stuurt de native platform UI terug naar het gesprek.

Verdeling van verantwoordelijkheden

Jij beheertCopilotKit Intelligence beheert
Je agent, model credentials, tools en bedrijfslogicaPlatform credentials voor Slack en Microsoft Teams
De long-running Channels listenerPlatform ingress en beveiligde levering
Applicatiestatus, deployment en logsRuntime registratie, health checks en reconnects

De SDK is open source en valt onder de MIT-licentie. CopilotKit Intelligence kan worden gehost door CopilotKit of self-hosted worden voor enterprise-implementaties.

Bekijk een complete Channels-app: OpenTag

OpenTag is een open-source, self-hosted on-call triage assistent gebouwd met Channels. Je kunt dit project gebruiken om een volledige applicatie te bestuderen met:

  • Een Python LangGraph agent verbonden via AG-UI.
  • Native Slack en Microsoft Teams ervaringen.
  • Bestandsbewuste prompts en generatieve UI.
  • Menselijke goedkeuring voordat er schrijfacties plaatsvinden in Linear of Notion.
  • Een productie-waardige Node runtime en agentservice.

[Explore the OpenTag source →]

Ontwikkelaarsbronnen

DoelBron
Channels ervaren zonder setup[Try Channels]
Bouwen met een coding agentnpx copilotkit@latest channels setup
Je eerste Channel bouwen[Channels documentatie]
SDK-implementatie inspecteren[Channels source in CopilotKit]
Package installeren@copilotkit/channels op npm
Een complete applicatie bestuderen[OpenTag]
Een bestaande agent verbinden[AG-UI integraties]
Het protocol begrijpen[AG-UI]