@@ -161,17 +161,20 @@ Control how agents process messages:
|
161 | 161 | <Step title="Incoming message arrives"> |
162 | 162 | A WhatsApp group or DM message arrives. |
163 | 163 | </Step> |
| 164 | + <Step title="Route and admission"> |
| 165 | +OpenClaw applies channel allowlists, group activation rules, and configured ACP binding ownership. |
| 166 | + </Step> |
164 | 167 | <Step title="Broadcast check"> |
165 | | -System checks if peer ID is in `broadcast`. |
| 168 | +If no configured ACP binding owns the route, OpenClaw checks whether the peer ID is in `broadcast`. |
166 | 169 | </Step> |
167 | | - <Step title="If in broadcast list"> |
| 170 | + <Step title="If broadcast applies"> |
168 | 171 | - All listed agents process the message. |
169 | 172 | - Each agent has its own session key and isolated context. |
170 | 173 | - Agents process in parallel (default) or sequentially. |
171 | 174 | |
172 | 175 | </Step> |
173 | | - <Step title="If not in broadcast list"> |
174 | | -Normal routing applies (first matching binding). |
| 176 | + <Step title="If broadcast does not apply"> |
| 177 | +OpenClaw dispatches the ordinary route or the configured ACP session route selected during routing. |
175 | 178 | </Step> |
176 | 179 | </Steps> |
177 | 180 | |
@@ -322,7 +325,7 @@ Broadcast groups work alongside existing routing:
|
322 | 325 | - `GROUP_B`: agent1 AND agent2 respond (broadcast). |
323 | 326 | |
324 | 327 | <Note> |
325 | | -**Precedence:** `broadcast` takes priority over `bindings`. |
| 328 | +**Precedence:** `broadcast` takes priority over ordinary route bindings. Configured ACP bindings (`bindings[].type="acp"`) are exclusive: when one matches, OpenClaw dispatches to the configured ACP session instead of fan-out broadcast. |
326 | 329 | </Note> |
327 | 330 | |
328 | 331 | ## Troubleshooting |
@@ -343,9 +346,9 @@ Broadcast groups work alongside existing routing:
|
343 | 346 | |
344 | 347 | </Accordion> |
345 | 348 | <Accordion title="Only one agent responding"> |
346 | | -**Cause:** Peer ID might be in `bindings` but not `broadcast`. |
| 349 | +**Cause:** Peer ID might be in ordinary route bindings but not `broadcast`, or it might match an exclusive configured ACP binding. |
347 | 350 | |
348 | | -**Fix:** Add to broadcast config or remove from bindings. |
| 351 | +**Fix:** Add ordinary route-bound peers to broadcast config, or remove/change the configured ACP binding if fan-out broadcast is desired. |
349 | 352 | |
350 | 353 | </Accordion> |
351 | 354 | <Accordion title="Performance issues"> |
|