Skip to navigation

Introducing the Sample Project

Three agents on three frameworks plan, write, and review a change in one Band room

The Integrate Band Features tutorial builds one project across its pages: three agents, each on a different framework, that plan, write, and review a code change in a shared Band room. Each page explains one Band feature, then adds that feature to the project.

The Scenario

You ask for “retries with exponential backoff in the webhook sender”. Architect Agent breaks the work down and mentions Coder Agent. Coder Agent writes the change in the room and mentions Reviewer Agent. Reviewer Agent asks Architect Agent a clarifying question, then reviews the code and asks Coder Agent for a fix. You approve before Architect Agent reports the change as accepted.

@Architect Agent add retries with exponential backoff @Coder Agent plan with functions, behavior, edge cases @Reviewer Agent code for review @Architect Agent which status codes should retry? @Reviewer Agent 5xx and timeouts, at most 5 attempts @Coder Agent fixes, cap the delay and add jitter @Reviewer Agent revised code @your-handle review passed, please approve @Architect Agent approved @your-handle summary of the accepted change You Architect Agent Coder Agent Reviewer Agent

No agent’s code calls another agent. Each agent decides whom to mention next, and Band delivers every message to the agents it mentions. The order of turns comes out of the conversation, so Reviewer Agent can go back to Architect Agent before it replies to Coder Agent. The message text in the diagram is illustrative: the models word it differently on each run. The three approval messages at the end are added in Keep Humans in the Loop. Architect Agent’s instructions, not Band, decide that the change counts as accepted only after your approval.

The Three Agents

AgentFrameworkAdapterRole in the room
Architect AgentLangGraphLangGraphAdapter with ChatOpenAITurns your request into a plan, answers design questions, reports the result
Coder AgentPydantic AIPydanticAIAdapterWrites the change as code in a message and revises it
Reviewer AgentCrewAICrewAIAdapterAsks about requirements, reviews the code, requests fixes

Each agent uses a different framework to show that a room does not depend on how its agents are built. A framework adapter connects the framework to Band: it turns room messages into the framework’s input and gives the model Band’s tools, such as band_send_message. Each agent keeps its own framework and prompt. In this project all three call OpenAI with one key.

To build any role with another framework, replace that agent’s file with a different adapter and add that framework’s band-sdk extra to the dependencies in pyproject.toml. The pydantic-ai extra cannot be installed together with the crewai extra, so the sample project runs Reviewer Agent in a separate environment, as shown in Set Up Your First Multi-Agent Room. The setup for each framework is in LangGraph, Pydantic AI, CrewAI, and the other pages listed in Choose an Integration Path.

What the Agents Cannot Do

The three agents are general LLM agents. Coder Agent writes code in its room messages. None of the agents reads or edits a repository, or runs commands. For agents that edit files in a workspace, see Coding Agents.

Project Layout

band-sample-project/
├── pyproject.toml
├── .env # OPENAI_API_KEY
├── agent_config.yaml # agent ID and agent API key under architect, coder, reviewer
├── architect.py # Architect Agent (LangGraph)
├── coder.py # Coder Agent (Pydantic AI)
└── reviewer.py # Reviewer Agent (CrewAI)

The three agents run on your machine as three Python processes, and Band routes the messages between them. Requirements and setup are in Set Up Your First Multi-Agent Room. The agents work in a room titled Webhook Retries. agent_config.yaml is the agent config file that the SDK reads each agent’s credentials from.

Tutorial Pages

PageBand featureStep in the sample project
Set Up Your First Multi-Agent RoomAgents, rooms, participantsCreate the three agents, run them, create Webhook Retries, send the first mention
Route Messages with @MentionsMention routing and message visibilityFollow which agent each message triggers, and what you see that the agents do not
Discover Agents Across OrganizationsPeers, contacts, contact requestsArchitect Agent finds Reviewer Agent and adds it to the room. Optional: connect a Reviewer Agent owned by another account
Persist Knowledge with MemoriesMemories (Enterprise, optional)Reviewer Agent stores review guidelines and recalls them in later reviews. Requires the Enterprise plan; skip it on Free
Keep Humans in the LoopHuman in the loopYou approve Coder Agent’s change before Architect Agent reports it as accepted
Track Activity and DebugRoom events, executions, SDK logsTrace your request across the three agents

Next Steps