Notification Delivery Log
The Delivery Log gives administrators full visibility into every notification sent by GrantFlow — whether it was delivered successfully, was skipped, or failed. Use it to verify that critical alerts reach the right people and to diagnose delivery issues before they affect operations.
Overview
Every time GrantFlow dispatches a notification — approval requests, activation confirmations, expiration warnings, system alerts — the outcome is recorded in the Delivery Log. Each entry captures who triggered the notification, what event caused it, which channel was used, and whether delivery succeeded.
Admin Access Required
The Delivery Log is accessible only to users with administrative privileges. All queries are tenant-scoped, so you'll only see notifications related to your organization.
Log Table
The main table shows a chronological list of all notification deliveries with the details needed to assess each one at a glance.
Columns
| Column | Description |
|---|---|
| Status | Delivery outcome — sent, failed, or skipped. Color-coded badges make it easy to spot failures. |
| Channel | The delivery channel used: email, msteams, or webhook. |
| Event | The event type that triggered the notification (e.g. Role Activated, Approval Required, Activation Expired). |
| Recipient | Who was supposed to receive the notification. For email this is the address; for Teams it may be a channel or user. |
| Subject | The subject line or title of the notification as rendered from the template. |
| Date | When the notification was dispatched, shown in your local timezone. |
Status Meanings
- Sent — The notification was accepted by the delivery channel (email server, Teams webhook, etc.).
- Failed — Delivery was attempted but the channel returned an error. Open the detail view to see the error message.
- Skipped — The notification was intentionally not sent, typically because no channel is configured for the event type or the recipient could not be resolved.
Filtering
All filtering is performed server-side. The Delivery Log supports several filter dimensions that can be combined freely.
Text Search
Use the search bar to find entries by recipient address, subject line, actor name, or target resource. The search is case-insensitive and limited to 200 characters.
Status Filter
Filter by delivery outcome: Sent, Failed, or Skipped. This is the fastest way to find notifications that need attention.
Channel Filter
Show only notifications sent through a specific channel — useful when troubleshooting a particular integration (e.g. verifying that Teams webhooks are working).
Event Type Filter
Narrow results to a specific event type such as Role Activated, Approval Required, or Account Checked Out. Helpful for verifying that a particular workflow triggers the expected notifications.
Date Range
Use the date pickers to focus on a specific time window. Enter start and end dates in the calendar controls to investigate incidents or generate reports for a defined period.
Detail View
Click any row to open the full delivery record in a detail modal.
Delivery Information
The detail view shows:
- Status with a color-coded badge
- Channel through which delivery was attempted
- Event type that triggered the notification
- Recipient address or identifier
- Subject line as rendered
- Delivery duration in milliseconds (how long the channel took to respond)
- Timestamp of the delivery attempt
- Error message (for failed deliveries) displayed in a prominent alert box
Actor & Target
Every notification ties back to a privileged action. The detail view shows:
- Actor — the user who performed the action that triggered the notification, with their user ID
- Target — the resource affected (e.g. account, role, or group), with its type and ID
Identifiers
For advanced troubleshooting and correlation with other systems:
- Delivery ID — unique identifier for this specific delivery record
- Correlation ID — ties this notification back to the original API request or activation workflow, matching the correlation ID in Audit Events
Pagination
Results are returned in pages of 25 entries. Use the page controls at the bottom of the table to navigate through older records. The current page position and total result count are displayed alongside the controls.
Security
- All delivery log queries are tenant-scoped — you only see notifications for your own organization
- Filter values are validated against strict allowlists (status, channel type, event type)
- Date parameters must be valid RFC 3339 timestamps
- Search input is length-capped at 200 characters to prevent abuse
- All API requests are authenticated and authorized internally
Troubleshooting
Notifications Showing as Failed
- Open the detail view and check the error message
- For email failures: verify your SMTP or Microsoft Graph mail configuration in the notification channel settings
- For Teams failures: confirm the incoming webhook URL is valid and the target channel still exists
- Check the delivery duration — very long durations may indicate network timeouts
Notifications Showing as Skipped
- Verify that a notification channel is configured for the event type
- Check that the recipient has a valid email address or is resolvable in the target channel
- Review your notification templates to ensure they exist for the event type and channel
Missing Notifications
If an expected notification doesn't appear in the log at all:
- Confirm the triggering event actually occurred (check Audit Events)
- Verify the event type is enabled in your notification configuration
See Also
- Notifications (User Guide) — what end users receive
- Audit Events — correlate notifications with the actions that triggered them