Broadcast groups
Broadcast groups let one inbound message trigger multiple agents instead of exactly one. Current scope:- WhatsApp only
What it is good for
- specialist agent teams
- quality-review pairs
- logging plus response combinations
- multilingual group replies
Basic config
Keys are peer ids:- WhatsApp groups: group JID like
[email protected] - WhatsApp DMs: E.164 like
+15555550123
- when that chat would normally receive a reply, all listed agents run
Strategy
Parallel
Default and usually preferred:Sequential
Runs in listed order:Example
How it works
- inbound message arrives
- normal channel gating decides whether the message is eligible
- if the peer is in
broadcast, all listed agents run - each agent uses its own workspace, session key, and tool policy
- one agent failure does not block the others
Isolation model
Each broadcast agent keeps separate:- session history
- workspace
- tools and policy
- model defaults
- local memory
- the recent group-context buffer for that peer
Best practices
- keep each agent narrow in responsibility
- prefer
parallelunless ordering is important - keep the group small; 5 to 10 agents is already a lot
- give each agent only the tools it actually needs
- use lighter models for narrow helpers when possible
Compatibility
Implemented:- Telegram
- Discord
- Slack
Routing precedence
broadcast takes priority over normal bindings for the matching peer.
Example:
GROUP_A- normal single-agent routing
GROUP_B- broadcast routing
Troubleshooting
Agents do not respond
Check:- the peer id is correct
- the agent ids exist in
agents.list - the message was actually eligible after group gating
Only one agent responds
Likely causes:- the peer is not actually in
broadcast - the message was handled by normal routing
- one or more broadcast agents errored
Performance is poor
Reduce:- number of agents
- model weight
- sandbox startup cost
Limits
- no hard coded agent limit, but large groups get slow
- agents do not see each other’s replies
- parallel replies can arrive in any order
- all outbound replies still count toward channel rate limits