This document describes every notification trigger point in the Creative and Production workflows, including who receives each notification, when it is sent, and through which channels.
Radio Workflow delivers notifications through up to four channels depending on the event:
| Channel | Description |
|---|
| Email | Sent via SendGrid to the user's registered email address |
| Push Notification | Sent via OneSignal to the user's mobile device and browser |
| In-App Notification | Stored in the notification bell inside Radio Workflow |
| Activity Feed | Logged to the project timeline and user activity feed |
Important: A user never receives a notification for their own actions. If you assign yourself as the writer, you will not receive an assignment email.
When a new project is submitted and the "Notify Team" option is enabled:
| Detail | Value |
|---|
| Trigger | A new project is created with a writer already assigned |
| Who is notified | The assigned writer |
| Email subject | "You have been assigned to work on a project" |
| Email body | Greeting, role confirmation, traffic order details, and a link to the project |
| Push notification | "You have been assigned as the writer on a project." |
| In-app notification | Yes |
| Activity feed | Logged as a writer assignment |
| Detail | Value |
|---|
| Trigger | A new project is sent to a Creative work queue with no writer assigned |
| Who is notified | All active writers in the same market (including secondary markets) |
| Email subject | "No writer has been assigned to work on a project" |
| Email body | Greeting with notice that a creative order exists but no writer is assigned yet, traffic order details, and project link |
| Push notification | None |
| Activity feed | None |
| Detail | Value |
|---|
| Trigger | A new digital platform project is sent to a Creative work queue with no digital producer assigned |
| Who is notified | All active digital producers in the same market (including secondary markets) |
| Email subject | "No digital producer has been assigned to work on a project" |
| Email body | Greeting with notice that a creative order exists but no digital producer is assigned yet, traffic order details, and project link |
| Push notification | None |
| Activity feed | None |
| Detail | Value |
|---|
| Trigger | A new project is sent to a Production work queue with no producer assigned |
| Who is notified | All active producers in the same market (including secondary markets) |
| Email subject | "A new project may require your attention" |
| Email body | Greeting with notice that a project in a production queue may need attention, traffic order details, and project link |
| Push notification | None |
| Activity feed | None |
| Detail | Value |
|---|
| Trigger | A new project with a traffic order is created but no scheduler has been assigned |
| Who is notified | All active administrators/schedulers in the same market (including secondary markets), excluding anyone who already received a notification for this project |
| Email subject | "No scheduler has been assigned to work on a project" |
| Email body | Greeting with notice that a project with a traffic order has been added but no scheduler is assigned, traffic order details, and project link |
| Push notification | None |
| Activity feed | None |
| Detail | Value |
|---|
| Trigger | Any new project is created (with Notify Team enabled) |
| Who is notified | All active administrators/traffic managers in the same market |
| Email subject | "A new traffic order may need your attention" |
| Email body | Greeting with notice that a new traffic order was submitted, traffic order details, and project link |
| Push notification | None |
| Activity feed | None |
When a team member is assigned or reassigned on an existing project (via the project's Team panel):
| Detail | Value |
|---|
| Trigger | A different writer is assigned to a project |
| Who is notified | The newly assigned writer |
| Email subject | "You have been assigned to work on a project" |
| Email body | "You have been assigned as the creative writer on a project!", traffic order details, and project link |
| Push notification | "You have been assigned as the writer on a project." |
| In-app notification | Yes |
| Activity feed | Logged as writer:assignment |
| Real-time | Pusher event updates the project page for all viewers |
| Detail | Value |
|---|
| Trigger | A different producer is assigned to a project |
| Who is notified | The newly assigned producer |
| Email subject | "You have been assigned to work on a project" |
| Email body | "You have been assigned as the producer on a project!", traffic order details, and project link |
| Push notification | "You have been assigned as the producer on a project." |
| In-app notification | Yes |
| Activity feed | Logged as producer:assignment |
| Detail | Value |
|---|
| Trigger | A different digital producer is assigned to a project |
| Who is notified | The newly assigned digital producer |
| Email subject | "You have been assigned to work on a project" |
| Email body | "You have been assigned as the digital producer on a project!", traffic order details, and project link |
| Push notification | "You have been assigned as the digital producer on a project." |
| In-app notification | Yes |
| Activity feed | Logged as digital_creative:assignment |
| Detail | Value |
|---|
| Trigger | A different scheduler is assigned to a project |
| Who is notified | The newly assigned scheduler |
| Email subject | "You have been assigned to work on a project" |
| Email body | "You have been assigned as the scheduler on a project!", traffic order details, and project link |
| Push notification | "You have been assigned as the scheduler on a project." |
| In-app notification | Yes |
| Activity feed | Logged as assignment:assignment |
| Detail | Value |
|---|
| Trigger | A different dubber is assigned to a project |
| Who is notified | The newly assigned dubber |
| Email subject | "You have been assigned to work on a project" |
| Email body | "You have been assigned as the dubber on a project!", traffic order details, and project link |
| Push notification | "You have been assigned as the dubber on a project." |
| In-app notification | Yes |
| Activity feed | Logged as dubber:assignment |
| Detail | Value |
|---|
| Trigger | A different webmaster is assigned to a project |
| Who is notified | The newly assigned webmaster |
| Email subject | "You have been assigned to work on a project" |
| Email body | "You have been assigned as the webmaster on a project!", traffic order details, and project link |
| Push notification | "You have been assigned as the webmaster on a project." |
| In-app notification | Yes |
| Activity feed | Logged as webmaster:assignment |
Note: Assignments made from the list view (bulk assignment) follow the same notification pattern as individual project team changes.
When a project is moved from one work queue to another:
| Detail | Value |
|---|
| Trigger | A project's work queue/progression is changed by someone other than the project owner |
| Who is notified | The project owner |
| Email subject | "Your project has been updated" |
| Email body | Greeting, name of the person who made the change, new work queue name, traffic order details, and project link |
| Push notification | "Your project is now in the [Queue Name] work queue." |
| In-app notification | Yes |
| Activity feed | Logged as queue:[progression_id] |
| Real-time | Pusher change_status event updates all open project views |
Note: Individual work queues can have email notifications disabled via their configuration. If disabled, no email or push notification is sent for moves into that queue.
| Detail | Value |
|---|
| Trigger | A project is moved into a work queue that corresponds to a specific role (Creative, Production, Traffic, Dubbing, Web), and that role has someone assigned |
| Who is notified | The assigned team member for that queue type (writer, producer, scheduler, dubber, or webmaster) |
| Email subject | "A project may need your attention" |
| Email body | Greeting, their role, notification that the project is now in their work queue, traffic order details, and project link |
| Push notification | "Your project is now in a [Queue Type] work queue" |
| In-app notification | Yes |
| Detail | Value |
|---|
| Trigger | A project's progression is set to Completed |
| Who is notified | The project owner (if completed by someone else) |
| Email subject | "Your project has been updated" |
| Email body | Greeting, name of person who completed it, confirmation of completion, traffic order details, and project link |
| Push notification | "Your project has been completed." |
| In-app notification | Yes |
| Activity feed | Logged as queue:completed |
| Real-time | Pusher change_status event updates all open project views |
Before a project can be completed, the system validates:
- Traffic status must be set to "Scheduled"
- All elements must have their content status at the approved level
- All elements requiring dubbing/uploading must be confirmed for all stations
- Spec/Demo projects bypass dubbing and status checks
| Detail | Value |
|---|
| Trigger | The creative status is updated on a project (e.g., Script In Progress, Script Approved) |
| Who is notified | No direct email or push notification |
| Activity feed | Logged as creative:[status_id] on the project timeline |
| Real-time | Project page updates in real time via activity feed |
| Required permission | User must have the Creative role enabled |
| Detail | Value |
|---|
| Trigger | The traffic status is updated on a project (e.g., Not Scheduled, Scheduled) |
| Who is notified | No direct email or push notification |
| Activity feed | Logged as traffic:[status_id] on the project timeline |
| Special behavior | If a completed project's traffic status is changed to "Not Scheduled", the project is automatically reopened and placed back into the first work queue |
| Required permission | User must have the Administration, Creative, Production, or Installation role |
When a clarification note is added to a Creative Order:
| Detail | Value |
|---|
| Trigger | A user adds a clarification note within the Creative Order section of a project |
| Activity feed | Logged as clarify:[project_id] with the clarification text |
The following team members receive an email (if they are not the person who posted the clarification):
| Recipient | Email Subject |
|---|
| Assigned Writer | "A project may need your attention" |
| Assigned Producer | "A project may need your attention" |
| Assigned Scheduler | "A project may need your attention" |
| Assigned Dubber | "A project may need your attention" |
| Assigned Webmaster | "A project may need your attention" |
| Project Owner | "A project may need your attention" |
Email body: Greeting, name of person who added the clarification, project name, and a link to view the project.
| Recipient | Email Subject |
|---|
| All active writers in the market | "Clarification added to a project without an active Writer" |
| Assigned Producer | "A project may need your attention" |
| Assigned Scheduler | "A project may need your attention" |
| Assigned Dubber | "A project may need your attention" |
| Assigned Webmaster | "A project may need your attention" |
| Project Owner | "A project may need your attention" |
Note: Each user only receives one email per clarification, even if they occupy multiple roles on the project. The system tracks who has already been notified and prevents duplicate emails.
When a comment is posted on a project:
| Detail | Value |
|---|
| Trigger | A user posts a comment on a project |
| Who is notified | The project owner and all users who have previously commented on the project |
| Email subject | "Comment: [Client Name - Project Description]" |
| Email body | Greeting, who commented, the comment text, and a link to the project |
| Push notification | "[User Name] just made a comment on a project you are working on." |
| In-app notification | Yes |
| Activity feed | Logged as comment:[action_id] |
| Respects preferences | Only sent if the user has email notifications enabled for comments (core_email_barring_3 for owners, core_email_barring_4 for other commenters) |
@Mention support: If a specific user is @mentioned in a comment, they will receive the notification regardless of whether they have previously commented.
| Detail | Value |
|---|
| Trigger | A project is moved to the trash by someone other than the project owner |
| Who is notified | The project owner |
| SMS | Sent if the owner has SMS notifications enabled for trash events (core_txt_barring_2) |
| Email subject | "Your project has been trashed." |
| Email body | Name of person who trashed it and project details |
| Activity feed | Logged as trash_project |
| Real-time | Dashboard statistics update in real time for all users |
| Detail | Value |
|---|
| Trigger | A previously trashed project is restored by someone other than the project owner |
| Who is notified | The project owner |
| SMS | Sent if the owner has SMS notifications enabled for restore events (core_txt_barring_10) |
| Email subject | "Your project has been restored." |
| Email body | Name of person who restored it and project details |
| Activity feed | Logged as restore |
| Real-time | Dashboard statistics update in real time for all users |
| Detail | Value |
|---|
| Trigger | A project is placed on hold or taken off hold |
| Who is notified | No direct email or push notification |
| Activity feed | Logged as hold or unhold |
| Real-time | Pusher change_status event updates all open project views with the hold/unhold status |
When a completed project is edited by a user who does not have the Traffic Manager role, the system automatically notifies Traffic:
| Detail | Value |
|---|
| Trigger | A completed project is modified (e.g., element added/changed) by a non-traffic-manager user, and a scheduler is assigned to the project |
| Who is notified | The assigned scheduler/traffic manager |
| Email subject | "A completed project has been reactivated" |
| Email body | Greeting, notice that a completed project has been edited, traffic order details, and a link to the project |
| Push notification | None |
| Activity feed | Logged as project reactivation |
| Detail | Value |
|---|
| Trigger | A completed project is modified by a non-traffic-manager user, and no scheduler is assigned |
| Who is notified | All active traffic managers/administrators in the same market (including secondary markets) |
| Email subject | "A completed project has been reactivated" |
| Email body | Greeting, notice that a completed project has been edited, traffic order details, and a link to the project |
| Push notification | None |
| Activity feed | Logged as project reactivation |
When a voice talent element is created or modified on a project:
| Detail | Value |
|---|
| Trigger | A voice talent is assigned to an element on a project with a "Pending" status |
| Who is notified | The voice talent (external email) |
| Email subject | "You have a new talent request" |
| Email body | Customer details, company, code, length, voice requirement, due date, agency/union info, and a link to the talent portal to accept or decline |
| Push notification | None |
| Activity feed | None |
| Detail | Value |
|---|
| Trigger | A talent request is created and the requesting user is from a different market than the talent |
| Who is notified | All producers in the talent's market |
| Email subject | "A new talent request has arrived" |
| Email body | Notice that a talent from their market received a request, with request details (company, code, length, voice, agency/union) |
| Push notification | None |
| Activity feed | None |
| Detail | Value |
|---|
| Trigger | A script or assignment is modified for a talent who is already assigned |
| Who is notified | The voice talent (external email) |
| Email subject | "A request assigned to you was modified" |
| Email body | Updated script/request details with all talent request information |
| Push notification | None |
| Activity feed | None |
| Detail | Value |
|---|
| Trigger | A talent request is modified and the requesting user is from a different market than the talent |
| Who is notified | All producers in the talent's market |
| Email subject | "A talent request has been modified" |
| Email body | Notice that an assigned talent from their market had their request modified |
| Push notification | None |
| Activity feed | None |
These events do not send email or push notifications but update all connected users viewing the project in real time:
| Event | Trigger | Real-Time Channel |
|---|
| New Script Added | A writer submits a new script revision for an element | new_script on the project status channel |
| Script Processed | A script file is uploaded and converted to the system format | new_script_processed on the project status channel |
| Script File Bulk Assigned | A script attachment is assigned to multiple elements at once | new_script_file on the project status channel |
| Audio Uploaded | An audio file is uploaded to the media box | media_box_add broadcast to all users |
| Audio Recorded | An audio recording is made via the in-app recorder | media_box_add broadcast to all users |
| Auto-Mix Promoted | An auto-mix is promoted to the media box | media_box_add broadcast to all users |
| File Uploaded to Project | A file is uploaded directly to a project element | new_file_spotty on the project status channel |
| Dubbing Queue Updated | A project enters or completes in a dubbing queue | changed broadcast to the dubbing view |
Users can control which notifications they receive through their profile settings:
| Setting | Controls |
|---|
| Email: Project Trashed | Whether to receive email when your project is trashed |
| SMS: Project Trashed | Whether to receive SMS when your project is trashed |
| Email: Project Restored | Whether to receive email when your project is restored |
| SMS: Project Restored | Whether to receive SMS when your project is restored |
| Email: Project Comments (Owner) | Whether to receive email for comments on projects you own |
| Email: Project Comments (Participant) | Whether to receive email for comments on projects you've commented on |
Note: Team assignment notifications (writer, producer, etc.) and work queue change notifications do not have individual opt-out settings. These are always sent when the triggering conditions are met.
Administrators can configure these global notification behaviors:
| Setting | Controls |
|---|
Disable "No Writer" Emails (core_no_writer_email) | When enabled, suppresses the "No writer has been assigned" email that would normally go to all writers when a creative project is created without an assigned writer |
| Disable Queue Emails (per work queue) | Each work queue can individually disable email notifications for projects moving into that queue via the core_send_email flag |
| Event | Email | Push | In-App | Activity Feed | Real-Time |
|---|
| Writer assigned | Yes (to writer) | Yes | Yes | Yes | Yes |
| Producer assigned | Yes (to producer) | Yes | Yes | Yes | Yes |
| Digital producer assigned | Yes (to digital producer) | Yes | Yes | Yes | Yes |
| Scheduler assigned | Yes (to scheduler) | Yes | Yes | Yes | Yes |
| Dubber assigned | Yes (to dubber) | Yes | Yes | Yes | Yes |
| Webmaster assigned | Yes (to webmaster) | Yes | Yes | Yes | Yes |
| No writer on creative project | Yes (all writers) | - | - | - | - |
| No digital producer (digital project) | Yes (all digital producers) | - | - | - | - |
| No producer on production project | Yes (all producers) | - | - | - | - |
| No scheduler on traffic order | Yes (all admins) | - | - | - | - |
| New traffic order | Yes (all admins) | - | - | - | - |
| Queue changed | Yes (owner) | Yes (owner) | Yes | Yes | Yes |
| Queue changed (assigned role) | Yes (assigned) | Yes (assigned) | Yes | - | - |
| Project completed | Yes (owner) | Yes (owner) | Yes | Yes | Yes |
| Creative status changed | - | - | - | Yes | - |
| Traffic status changed | - | - | - | Yes | - |
| Clarification added | Yes (team) | - | - | Yes | - |
| Comment posted | Yes (owner + participants) | Yes | Yes | Yes | - |
| Project trashed | Conditional | - | - | Yes | Yes |
| Project restored | Conditional | - | - | Yes | Yes |
| Project on hold / off hold | - | - | - | Yes | Yes |
| Completed project reactivated | Yes (scheduler/admins) | - | - | Yes | - |
| Voice talent request (new) | Yes (to talent) | - | - | - | - |
| Voice talent request (modified) | Yes (to talent) | - | - | - | - |
| Cross-market talent request | Yes (market producers) | - | - | - | - |
| Script added/modified | - | - | - | - | Yes |
| Audio uploaded/recorded | - | - | - | - | Yes |
| File uploaded to project | - | - | - | - | Yes |
| Dubbing queue updated | - | - | - | - | Yes |