Every comm needs an audience. BandBrain offers four shapes:
Everyone
Targets all roster members in your tenant. The catch-all option. Useful for true band-wide info: "load-in is at 3pm today".
By role
Pick from the roster role list (artist, tour_manager, production_crew, merch, finance, etc.). Anyone whose role matches gets the broadcast.
Example: "production_crew only — green room is locked, find Jordan for keys".
You can pick multiple roles. Each picked role is OR'd.
By category
Pick from the knowledge categories (production, finance, hospitality, etc.). Anyone whose allowed_categories overlap with the picked set gets the broadcast — OR anyone with Full Access (they see everything by definition).
Example: "anyone with finance access — settlement is delayed, expect tomorrow".
Specific people
Pick individual roster members from a checkbox list. Use for very narrow comms or test sends.
The roster picker shows tenant_members only — external contacts are NOT in the list (they're CRM-only and don't receive comms).
Self (agent-only)
There's a special self audience the agent uses when you text "send a test to just me". The tool resolves it to your specific roster row. Not exposed in the dashboard composer — you'd just use "Specific people → check yourself" there.
How resolution works
Audience filters resolve at send time, not at preview time. So if you add a roster member between preview and confirm, they're included in the actual send.
Skipped recipients (no phone, opt-in pending, opted out) get counted separately per channel. You see the breakdown in the preview modal.
When to use which
| Goal | Audience |
|---|---|
| Universal tour info | Everyone |
| Crew-only logistics | By role → production_crew, merch, finance, security |
| Finance-relevant updates | By category → finance |
| Anyone-on-tour-can-text-me-back | Specific people → just yourself |
| Quick test | Specific people → just yourself |