Conversational Channels Cheat Sheet

This content was generated with the assistance of AI and should be verified against the official documentation of each tool and framework before being relied on in production.

This section’s bibliography lists the reference material consulted while preparing these pages.

A single-page index of quick back-links to every page in this sub-section, grouped the same way as the navigation. It was written on 2026-10-01 against LangChain 1.4.3 with FastAPI 0.142.2, Spring AI 2.0.1 on Spring Boot 4.1.1, the AI SDK UI Message Stream (ai 7.x), AG-UI 1.0, Teams SDK 2.1.x, Slack Bolt for Python 1.30.0 and python-telegram-bot 22.8; the full list is the version baseline on the landing page.

The downloadable PDF is a separate, single A4 page meant for printing. It states the version baseline and covers:

  • the channel-agnostic core, the ask(conversationId, userId, text) contract and the responsibilities of an adapter;

  • the channel matrix: streaming support and the gate (approval, window or policy) of each channel;

  • SSE, WebSocket and NDJSON compared, with the FastAPI, Spring WebFlux and Node/Express streaming snippets;

  • the AI SDK UI Message Stream parts and the AG-UI event groups;

  • the ready-made UIs and the rules for an embeddable widget;

  • the WebRTC data channel signalling steps;

  • the XMPP XEPs table;

  • the Teams routes decision table;

  • the WhatsApp 24-hour window, template and AI-policy rules;

  • the Apple Messages for Business flow;

  • the Slack, Telegram and Google Chat streaming models, and RCS Business Messaging;

  • the operations checklist.

Overview — Conversational Channels.

Architecture — Channel-Agnostic Architecture.

Operations — Operating Chat Channels.

The one idiom the whole sheet builds on — the channel adapter acknowledges quickly and hands the core a stable identity and conversation id — as the core contract (explained on Channel-Agnostic Architecture):

The channel-agnostic core contract
ask(conversationId, userId, text) -> stream of { token | citation | done }