Skip to main content

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

FeatureDescription
In-app notification centerBell icon in the header showing unread notifications
Real-time deliveryNotifications appear instantly without page refresh
Read/unread trackingMark individual or all notifications as read
Notification categoriesApprovals, deadlines, compliance, system alerts
Preference managementUsers control which notifications they receive

Notification Types

CategoryExamples
ApprovalsExpense submitted for your approval, Journal approved, Document review requested
DeadlinesMilestone approaching, Report due in 7 days, Grant reporting deadline
CompliancePolicy violation detected, Compliance score dropped below threshold
SystemAI agent completed, Scheduled report generated, Sync completed
TeamNew team member joined, Role changed, Access granted

Managing Your Preferences

  1. Go to Settings > Notifications
  2. 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
  3. Click Save Preferences

Reading Notifications

  1. Click the bell icon in the header
  2. Unread notifications are highlighted
  3. Click a notification to navigate to the relevant item (e.g., clicking an expense approval notification takes you to the expense)
  4. Click Mark All Read to clear the unread count

Postmark: Transactional Email

What It Does

FeatureDescription
Transactional emailDelivers system-generated emails reliably
Invitation emailsTeam member invitations with secure links
Approval notificationsEmail alerts for pending approvals
Scheduled report deliverySends generated reports to configured recipients
Auditor invitationsSends time-boxed access links to external auditors
Password resetAuthentication-related emails

Email Types

EmailTriggerRecipients
Team invitationAdmin invites a new memberInvited user
Expense approval requestEmployee submits an expenseAssigned approver (Manager/Admin)
Journal submissionEmployee submits monthly journalAssigned Manager
Scheduled reportRecurring report generatesConfigured recipient list
Compliance alertCritical violation detectedOrganization Admins
Auditor accessAdmin grants auditor accessExternal auditor
Budget alertProject budget exceeds thresholdProject Manager and Admins
Deadline reminderMilestone or report due soonAssigned team members

Configuration (Admins)

Notification Settings

  1. Go to Settings > Notifications
  2. 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

  1. Go to Settings > Email
  2. 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

SymptomPossible CauseSolution
Bell icon shows no notificationsPreferences set to email-onlyCheck Settings > Notifications
Notifications delayedBrowser tab inactive for extended periodRefresh the page to reconnect
Missing specific notificationsCategory disabled in preferencesRe-enable the category

Not Receiving Emails

SymptomPossible CauseSolution
No emails arrivingEmail in spam/junk folderCheck spam and add the sender to your safe senders list
Emails stopped suddenlyAddress on Postmark suppression listContact your Admin to check suppression status
Invitation email not receivedTypo in email addressAdmin should re-send the invitation with the correct email
Scheduled reports not arrivingRecipient email bouncedVerify 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:
  1. Admin goes to Settings > Email > Delivery Status
  2. Check if the recipient is on the suppression list
  3. If the issue was temporary (e.g., full mailbox), request removal from suppression
  4. 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