{% extends "base.html" %} {% load common_extras %} {% comment %} The broadcast list (SPEC §13). Everything below the toolbar is _rows.html, so the table has exactly one renderer: the filters fetch it, and every mutation answers with a `broadcastsChanged` event that makes it re-fetch itself. The "New broadcast" form offers only connections the policy table says permit broadcasts — apps/broadcasts/composer.py::broadcastable_connections. Every shipped platform permits them; what narrows an Instagram broadcast is its messaging window, not the selector (SPEC §13.2). There is no platform name in this file. {% endcomment %} {% block title %}Broadcasts · DemandTrail Messaging{% endblock %} {% block page_header %}
One message to many contacts, filtered for compliance before it goes out.