Skip to main content
A comms channel is a conversation that lives outside the agent. Every agent or swarm given the same channel reads what was said there before it runs and posts what it says after. Swap the channel and the same code keeps its conversation in a different place.

Pick a channel

FileChannel

A markdown file you can read, edit and resume from.

QueueChannel

Watch every message the moment it is posted, without polling.

SqliteChannel

Many conversations in one database, safe for concurrent writers.

HttpChannel

One conversation shared by agents on different machines.

SmtpChannel

An email thread in your own mailbox that people can reply to.

AgentMailChannel

An email thread in an AgentMail inbox, through its API.

Channels with multi-agent structures

Nine structures and SwarmRouter take a channel argument. The structure posts the task and each member’s contribution under that member’s name. See Channels with every structure for one example of each.
Give the channel to the structure, not to its agents. A structure with a channel detaches any channel its member agents carry, with a warning, so that nothing is posted twice.

What every channel does on a run

  1. The agent reads every earlier message and sends it to the model as prior turns.
  2. It posts the task under its user_name (default Human), unless the same task is already there.
  3. It runs.
  4. It posts its final answer under its agent_name. A failed run posts nothing.
The full behaviour, the message format and how to write your own channel are in the CommsChannel reference.

Prerequisites

The examples use gpt-5.4. Any model name LiteLLM accepts works.