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.