Notifications
Stay on top of everything important. GoRefer sends timely, role-based notifications so preparers, clients, and admins never miss a beat — across 60+ event types.
In-App Notifications
The notification bell in the top navigation shows all recent activity relevant to you. Click any notification to jump directly to the related record. Each notification is scoped to the user's role and firm — preparers see preparer events, clients see client events, and admins get oversight of everything.
- Real-time notifications for referrals, intakes, cases, payments, and more
- Unread count badge on the notification icon
- Mark all as read with a single click
- Role-based filtering — each user only sees notifications relevant to them
- Click any notification to navigate directly to the related record
- Notification history with infinite scroll
All Notification Events
GoRefer fires notifications for 60+ distinct business events. Each event is routed to the right roles through the appropriate channels (in-app, email, or SMS).
| Category | Event | Who Gets Notified | Channels |
|---|---|---|---|
| Referrals | New referral submitted | Preparer, admin | In-app, email |
| Client funded | Client, preparer, referrer | In-app, email | |
| Lead assigned / converted | Preparer, admin | In-app, email | |
| Commissions | Commission earned | Preparer | In-app, email |
| Payout generated / approved / processed | Preparer, admin | In-app, email | |
| Batch payout created / processed | Admin | In-app, email | |
| Intake & Cases | Intake assigned (created) | Preparer, client, admin | In-app, email |
| Intake submitted | Preparer, admin | In-app, email | |
| Intake reviewed (accepted/rejected) | Client | In-app, email | |
| GIO case created | Preparer, client, admin | In-app | |
| Appointments | Appointment scheduled | Preparer, client | In-app, email, SMS |
| Appointment rescheduled / cancelled | Preparer, client | In-app, email, SMS | |
| Appointment reminder | Preparer, client | In-app, email, SMS | |
| Documents | Document uploaded | Preparer | In-app, email |
| Document requested | Client | In-app, email | |
| Intake documents requested | Client | In-app, email | |
| Recruiting | New recruiting lead | Preparer, admin | In-app, email |
| Candidate status changed | Referrer | In-app, email | |
| Candidate hired / recruiting bonus | Preparer | In-app, email, SMS | |
| Gamification | Competition started / ended / winner | Preparers, admin | In-app, email, SMS |
| Challenge started / progress / completed | Preparer, admin | In-app, email | |
| Bonus available / ending soon / earned | Preparer | In-app, email, SMS | |
| Leaderboard rank change / top 10 | Preparer | In-app | |
| Billing | Subscription upgraded / downgraded / cancelled | Admin | In-app, email |
| Payment failed | Admin | In-app, email, SMS | |
| User Mgmt | Role changed / deactivated / reactivated | User, admin | In-app, email |
| Welcome notification | New user | In-app, email |
Intake & Case Notifications
When a tax intake is created, all three roles are notified following RBAC rules:
- Preparer — receives a confirmation that the intake was created and assigned
- Client — notified with a link to the client portal to complete the intake form
- Admin — oversight notification that a new intake was created (no email to reduce noise)
When a GIO case is created, the same RBAC pattern applies — the preparer gets a confirmation, the linked client (if any) gets an email, and all tenant admins receive an in-app alert.
Every notification respects role-based access — preparers don't see client-only events and vice versa. Admin notifications use in-app only (no email) to avoid inbox overload.
Financial Notifications
Commission and payout events are tracked with SMS eligibility for high-value alerts.
- Commission earned — sent to the preparer when a referral generates a commission
- Payout generated / approved / processed — preparer and admin notified at each stage
- Batch payout created / processed — admin-only alerts for bulk operations
- Bonus earned — SMS-eligible notification when a preparer hits a bonus target
- Recruiting bonus earned — SMS-eligible for successful candidate referrals
- Payment failed — critical SMS-eligible alert to tenant admin
Appointment & SMS Notifications
Appointment events support all three channels — in-app, email, and SMS — ensuring nobody misses a scheduled meeting.
- Scheduled, rescheduled, and cancelled events sent to both preparer and client
- Automatic reminders before appointment time
- SMS delivery for time-sensitive appointment alerts
- Competition winner and bonus earned events are also SMS-eligible
Gamification Notifications
Competitions, challenges, bonuses, and leaderboard events keep preparers engaged and motivated in real time.
- Competition started / ended — notifies all eligible preparers
- Competition winner — SMS-eligible congratulations to the winner
- Rank changed / dropped from top 10 — real-time leaderboard position updates
- New bonus available / ending soon — proactive alerts for bonus opportunities
- Challenge progress / completed — milestone tracking notifications
- Sweepstakes winner / prize selected / approved / fulfilled — full lifecycle tracking
Notification Preferences
Each user can customize which notifications they receive and through which channels (in-app, email, or both). Preferences are stored per notification type.
- Toggle individual notification types on or off
- Choose in-app only, email only, or both for each type
- Per-type email opt-out (e.g. disable email for leaderboard changes but keep in-app)
- Daily digest option for lower-urgency notifications
Admin Notification Controls
Admins can configure platform-wide notification settings. Tenant-level email branding enables white-label delivery via AWS SES with your firm's sender slug.
- Set required notifications that users cannot turn off (e.g., security alerts)
- Configure firm-scoped sender slugs for white-label email delivery via AWS SES
- Custom email templates with firm branding
- Notification delivery log for troubleshooting
- Fallback to platform-default email when no tenant config is set