Skip to main content

Messages

Messages is Resgrid's internal mail: send a message to individuals, groups, roles or the whole department with optional responses (Yes / No / Maybe or custom), delivered by push, SMS and email according to each recipient's preferences. Use it for announcements, polls (Can you cover Saturday?) and anything that needs a record — real-time back-and-forth belongs in Chat.

Profile dropdown → Mailbox or the envelope icon in the top bar. Compose, Inbox and Outbox are tabs on the page.

Inbox

Inbox

Authorization: Messages_View policy

Displays incoming messages with:

  • Sender name
  • Subject line
  • Read/unread status
  • Timestamp

Unread Messages

The GetTopUnreadMessages endpoint powers the top navigation unread message indicator.

Outbox

Authorization: Messages_View policy

Displays sent messages.

Composing Messages

Authorization: Messages_Create policy

Compose a message

Send Modes

Messages support three sending modes:

1. Send to All

Sends the message to every member of the department.

2. Send to Match Only

Sends to users who are in both specified roles AND specified groups (intersection). This is useful for targeting specific combinations like "All EMTs at Station 1."

3. Specific Recipients

Send to a combination of:

  • Individual users
  • Groups (all members of selected groups)
  • Roles (all users with selected roles)

Shift Exclusion

When composing, you can exclude personnel on specific shifts from receiving the message. This prevents disturbing off-duty personnel.

Message Content

FieldDescription
SubjectMessage subject line
BodyHTML-decoded message body
RecipientsTarget selection (mode-dependent)
Message TypeCategorization type

Viewing Messages

Authorization: Messages_View policy + CanUserViewMessage runtime check

When viewing a message:

  • The message is automatically marked as read
  • Full message content is displayed
  • Response options are available

Message Responses

Recipients can respond to messages with:

  • A coded response (e.g., Yes, No, Maybe)
  • An optional note with the response

Message Management

Single Operations

ActionAuthorizationDescription
Delete Inbox MessageMessages_DeleteMarks message as deleted in inbox
Delete Outbox MessageMessages_DeleteMarks message as deleted in outbox

Batch Operations

ActionHTTP MethodDescription
Delete Multiple InboxDELETEComma-separated message IDs
Delete Multiple OutboxDELETEComma-separated message IDs
Mark Messages as ReadPUTComma-separated message IDs

Setup examples

Department typeHow to set it up
Volunteer fireWeekly training this Tuesday message with Yes/No responses to headcount attendance; send to the Firefighter role.
EMSShift-coverage requests with responses; department-wide policy notices with read tracking.
SAR / CERTDeployment availability polls (Available for a 48 h deployment starting tomorrow?) to the whole department.
Emergency managementActivation notices to ESF leads with acknowledgement responses.
Security / businessPost orders changes to a site group; use distribution lists for client contacts.

Technical reference

MessagesController; routes /User/Messages/{Inbox,Outbox,Compose,ViewMessage,MessageResponse}; permission CreateMessage; event MessageSentEvent; module switch MessagingDisabled; delivery honours contact verification and ADP generic-content rules.

Data Endpoints

EndpointPurpose
GetInboxMessageListInbox messages with read status and sender name
GetOutboxMessageListSent messages
GetTopUnreadMessagesUnread messages for top navigation widget

Interactions with Other Modules

ModuleInteraction
GroupsMessages can target entire groups
Personnel RolesMessages can target role holders
ShiftsShift personnel can be excluded from messages
DashboardUnread count displayed in top icons
DepartmentModule can be enabled/disabled
Contact VerificationSMS message delivery is gated by mobile number verification status. Users with Pending mobile verification will not receive SMS messages.