Visual workflow, real handoff, real feedback loops, real inter-agent communication. Built so you can ship a feature in one Slack ping instead of fifty.
Visual workflow canvas
Infinite zoomable canvas powered by React Flow, the same engine behind n8n, Retool, Pipedream and Make. Drop nodes, connect them, save the team. No code, no YAML.
14 built-in agent roles
Fullstack, Frontend, Backend, DevOps, QA, Security, PM, Architect, Mobile, Marketing, Git Expert, SEO, i18n, Brainstormer. Plus any custom role you have already saved on your project.
Model and prompt per node
Each node picks its provider, its model and its step instructions. Use Opus for Architect, Haiku for QA, Codex for the heavy backend, Antigravity for the cheap frontend. Mix and match.
Automatic handoff
When an agent calls team_complete_step, AgentsRoom builds the handoff payload (feature summary, changed files, risks, test hints, flags) and spawns the next node with that payload as its starting context.
Manual handoff option
Prefer to validate every step? Switch the node to manual mode. The agent waits, you click 'Hand off' when you are happy with the result. Best of both worlds.
Conditional edges
Each edge can carry one flag check or several, combined with AND or OR. If QA passes go to PM, if the review fails loop back to Dev, if the review AND the analysis fail stop for a human. When two edges match at once, the one with the most conditions wins.
Feedback loops
Dev to QA to Dev to QA. When QA sends the ticket back, the original Dev agent is reused with full memory of the previous cycle, so it actually fixes the regression instead of starting over.
Machine-verified quality gates
Pin a check command on any node (npm test, a lint, a build). The runner executes it when the agent signals done: exit code 0 sets the routing flag to true, anything else to false. The measured result overrides the agent's self-report, always.
Parallel review branches
Draw two unconditional edges out of a node and both targets run at the same time: QA and Security review the same diff side by side, then a join node merges their reports. One red branch keeps the gate closed.
Ask the human, then carry on
An Await node is a pause, not an ending: the run stops, asks you the question you wrote on the node, and the moment you answer it starts again on its own with your answer handed to the next step. An agent that gets stuck routes to it instead of finishing the run, and the notification reaches your phone.
Skills pinned per step
Attach entries from your Skills Library to a node. The agent loads them before starting the step, so your review checklist or deploy runbook is applied on every run, not just when the agent remembers it.
Max-cycles guard
Configurable cap (default 3). Avoids infinite QA-rejects-Dev loops. When the cap is reached, the run pauses on awaiting-finalization and you decide what to do.
Runs survive restarts
Close the app mid-run, reopen it, the run re-enters the step it was on. State, notes and timeline live on disk; the orchestrator picks the work back up instead of leaving a zombie behind.
Team library on your account
Global teams are synced to your account and follow you across machines; project teams travel with the room. Both keep an offline cache, and edits made offline replay when you reconnect.
Shared NOTES.md scratchpad
Every agent in the run reads and writes a markdown file in the workspace. Survives compaction, crash, restart. The single source of truth for the team's reasoning.
Role-to-role inbox
Need the QA to ask a question to the Architect mid-run? team_ask posts a message to the role's inbox. The next agent on that role reads it and replies. Real chat between agents, for the length of the run: the permanent inbox that outlives it is agent messaging.
MCP-based inter-agent comm
All team tools are exposed via an MCP server. Tools survive Claude context compaction (Anthropic re-sends them every turn). Resilient to /clear, /compact and long loops.
Haiku-powered handoff summary
If an agent does not write its own feature summary, a small Haiku call generates one from the git diff. Cheap, fast, and the next agent always lands with context.
Browser MCP propagation
A team node with verifyInBrowser switches its agent to browser-access mode automatically. The QA node lands with full browser tools (navigate, click, type, screenshot, get logs).
Ephemeral agents per run
Every team run spawns fresh agents and destroys them on dismiss. Your project agent list stays clean. The team is the workflow, the agents are the runtime.
Global and project teams
Save reusable teams in your global library (~/.agentsroom/teams) or pin them to a specific project (committed with the room). Same editor, different scope.
Four team templates included
Build then verify, Spec build verify, Bug hunt (reproduce, fix, prove), and Release shield with parallel QA and Security. Duplicate, edit, run. Start in 30 seconds.
Run timeline UI
Each handoff appears as a card in the run timeline: which role just finished, what the summary says, which files changed, which flags were set. Auditable, replayable.
Run on any backlog ticket
Drop a ticket on a team and the chain starts on that ticket. The first agent reads the ticket title and body, the rest of the team picks it up from there.