Documentation Index
Fetch the complete documentation index at: https://grantmaster.dev/llms.txt
Use this file to discover all available pages before exploring further.
Integration Guide: Notifications & Email (Novu + Postmark)
Overview
GrantMaster uses two services for communication: Novu for in-app notifications and multi-channel orchestration, and Postmark for transactional email delivery. Together they ensure users are informed of approvals, deadlines, compliance alerts, and system events.
Novu: In-App Notifications
What It Does
| Feature | Description |
|---|
| In-app notification center | Bell icon in the header showing unread notifications |
| Real-time delivery | Notifications appear instantly without page refresh |
| Read/unread tracking | Mark individual or all notifications as read |
| Notification categories | Approvals, deadlines, compliance, system alerts |
| Preference management | Users control which notifications they receive |
Notification Types
| Category | Examples |
|---|
| Approvals | Expense submitted for your approval, Journal approved, Document review requested |
| Deadlines | Milestone approaching, Report due in 7 days, Grant reporting deadline |
| Compliance | Policy violation detected, Compliance score dropped below threshold |
| System | AI agent completed, Scheduled report generated, Sync completed |
| Team | New team member joined, Role changed, Access granted |
Managing Your Preferences
- Go to Settings > Notifications
- For each notification category, choose your delivery channels:
- In-app — appears in the notification center (always on)
- Email — sent to your registered email address
- Both — delivered via in-app and email
- Click Save Preferences
Reading Notifications
- Click the bell icon in the header
- Unread notifications are highlighted
- Click a notification to navigate to the relevant item (e.g., clicking an expense approval notification takes you to the expense)
- Click Mark All Read to clear the unread count
Postmark: Transactional Email
What It Does
| Feature | Description |
|---|
| Transactional email | Delivers system-generated emails reliably |
| Invitation emails | Team member invitations with secure links |
| Approval notifications | Email alerts for pending approvals |
| Scheduled report delivery | Sends generated reports to configured recipients |
| Auditor invitations | Sends time-boxed access links to external auditors |
| Password reset | Authentication-related emails |
Email Types
| Email | Trigger | Recipients |
|---|
| Team invitation | Admin invites a new member | Invited user |
| Expense approval request | Employee submits an expense | Assigned approver (Manager/Admin) |
| Journal submission | Employee submits monthly journal | Assigned Manager |
| Scheduled report | Recurring report generates | Configured recipient list |
| Compliance alert | Critical violation detected | Organization Admins |
| Auditor access | Admin grants auditor access | External auditor |
| Budget alert | Project budget exceeds threshold | Project Manager and Admins |
| Deadline reminder | Milestone or report due soon | Assigned team members |
Configuration (Admins)
Notification Settings
- Go to Settings > Notifications
- Configure organization-wide defaults:
- Approval notifications — always on (cannot be disabled)
- Deadline reminders — configurable lead time (1, 3, 7, 14 days before)
- Compliance alerts — threshold at which alerts trigger
- Report delivery — email addresses for scheduled reports
Email Settings
- Go to Settings > Email
- Configure:
- Sender name — the “From” name on outgoing emails (default: “GrantMaster”)
- Reply-to address — where replies should go
- Notification digest — aggregate low-priority notifications into a daily/weekly digest
Troubleshooting
Not Receiving In-App Notifications
| Symptom | Possible Cause | Solution |
|---|
| Bell icon shows no notifications | Preferences set to email-only | Check Settings > Notifications |
| Notifications delayed | Browser tab inactive for extended period | Refresh the page to reconnect |
| Missing specific notifications | Category disabled in preferences | Re-enable the category |
Not Receiving Emails
| Symptom | Possible Cause | Solution |
|---|
| No emails arriving | Email in spam/junk folder | Check spam and add the sender to your safe senders list |
| Emails stopped suddenly | Address on Postmark suppression list | Contact your Admin to check suppression status |
| Invitation email not received | Typo in email address | Admin should re-send the invitation with the correct email |
| Scheduled reports not arriving | Recipient email bounced | Verify the email address in report schedule settings |
Postmark Suppression List
If a recipient’s email address previously bounced (hard bounce), Postmark adds it to a suppression list. To resolve:
- Admin goes to Settings > Email > Delivery Status
- Check if the recipient is on the suppression list
- If the issue was temporary (e.g., full mailbox), request removal from suppression
- Re-send the notification or invitation
Best Practices
- Keep notification preferences updated — disable categories you don’t need to reduce noise
- Use email + in-app for critical items — approval requests and compliance alerts should reach you via both channels
- Configure deadline reminders with enough lead time — 7 days for reports, 14 days for major milestones
- Check the notification center daily — it is the fastest way to see what needs your attention
- Set up a dedicated email for report delivery if your team uses a shared inbox for grant administration
- Monitor email delivery status (Admins) — catch suppression issues before they block critical communications
Limitations
- Push notifications (mobile/desktop) are not currently supported — only in-app and email delivery
- Notification digest is limited to daily or weekly frequency — custom schedules are not available
- Email delivery depends on Postmark’s infrastructure — GrantMaster does not retry failed deliveries beyond Postmark’s built-in retry logic
- Notification history is retained for 90 days — older notifications are automatically purged
- Bulk notification management (e.g., muting all notifications for a project) is not supported — preferences are category-based, not entity-based
- Emails are sent from a shared GrantMaster domain — custom sending domains require enterprise plan configuration