Notifications
BillHive sends automated notifications at key points in the subscription lifecycle. Notifications are triggered by business events, processed through a Redis stream, and delivered via email through your configured SMTP provider.
Notification Architecture
Camunda Workflow → Handler → Redis NOTIFICATION_STREAM → Notification Service → Email- A Camunda workflow executes a service task at a lifecycle milestone.
- The handler fetches subscription and account details, builds template variables.
- The notification event is pushed to the Redis
NOTIFICATION_STREAM. - The notification service consumes the event and sends the email using the configured template.
Subscription Lifecycle Notifications
| Event | Business Event | When Sent | Recipient |
|---|---|---|---|
| Trial Started | SUBSCRIPTION_TRIAL_STARTED | When a trial subscription begins | Customer |
| Trial Activation | TRIAL_SUBSCRIPTION_ACTIVATED | When payment is confirmed and trial converts to active | Customer |
| Trial Ending Soon | SUBSCRIPTION_TRIAL_ENDING_SOON | Before the trial expiration date | Customer |
| Subscription Created | ACTIVE_SUBSCRIPTION_CREATED | When a new paid subscription is created | Customer |
| Subscription Renewed | SUBSCRIPTION_RENEWED | When a subscription is renewed for a new term | Customer |
| Expiring Soon | SUBSCRIPTION_EXPIRING_SOON | Before the subscription term end (configurable days) | Customer |
| Subscription Expired | SUBSCRIPTION_EXPIRED | When the subscription term ends without renewal | Customer |
| Subscription Paused | SUBSCRIPTION_PAUSED | When the subscription is paused (includes resume date) | Customer |
| Subscription Resumed | SUBSCRIPTION_RESUMED | When the subscription is reactivated from pause | Customer |
| Subscription Cancelled | SUBSCRIPTION_CANCELLED | When the subscription is cancelled | Customer |
| Cancellation Scheduled | SUBSCRIPTION_SCHEDULED_FOR_CANCELLATION | When a deferred cancellation is set (end of term / specific date) | Customer |
Amendment Notifications
| Event | Business Event | When Sent |
|---|---|---|
| Plan Upgraded | SUBSCRIPTION_UPGRADE | When the customer moves to a higher-tier plan |
| Plan Downgraded | SUBSCRIPTION_DOWNGRADE | When the customer moves to a lower-tier plan |
| Plan Changed | SUBSCRIPTION_CHANGED | When the plan is updated |
| Change Scheduled | SUBSCRIPTION_CHANGE_SCHEDULED | When a plan change is scheduled for a future date |
| Frequency Changed | SUBSCRIPTION_FREQUENCY_CHANGED | When billing frequency is updated |
| Frequency Change Scheduled | SUBSCRIPTION_FREQUENCY_CHANGE_SCHEDULED | When a frequency change is scheduled |
| Addon Added | ADD_ADDON | When an addon is added to the subscription |
| Addon Scheduled | ADD_ADDON_SCHEDULED | When an addon addition is scheduled |
Billing & Payment Notifications
| Event | Business Event | When Sent |
|---|---|---|
| Invoice Created | INVOICE_CREATED | When a new invoice is generated |
| Invoice Paid | INVOICE_PAID | When an invoice is fully paid |
| Invoice Due Soon | INVOICE_DUE_SOON | Reminder before invoice due date |
| Invoice Overdue | INVOICE_OVERDUE | When an invoice passes its due date |
| Payment Successful | PAYMENT_SUCCESSFUL | When a payment is processed |
| Payment Failed | PAYMENT_FAILED | When a payment attempt fails |
| Refund Issued | REFUND_ISSUED | When a refund is processed |
| Credit Note Issued | CREDIT_NOTE_ISSUED | When a credit memo is created |
Dunning Notifications
| Event | Business Event | When Sent |
|---|---|---|
| Payment Reminder | DUNNING_PAYMENT_REMINDER | First notification after payment failure |
| Urgent Notice | DUNNING_URGENT_NOTICE | Escalated payment warning |
| Account Restricted | DUNNING_ACCOUNT_RESTRICTED | Access has been limited |
| Account Suspended | DUNNING_ACCOUNT_SUSPENDED | Access fully suspended |
| Final Notice | DUNNING_FINAL_NOTICE | Last warning before cancellation |
| Cancelled (Non-Payment) | DUNNING_SUBSCRIPTION_CANCELLED | Subscription cancelled due to failed recovery |
| Win-Back | DUNNING_WIN_BACK | Post-cancellation re-engagement offer |
Proactive Warnings
| Event | Business Event | When Sent |
|---|---|---|
| Card Expiry Approaching | CARD_EXPIRY_APPROACHING | Before the payment card expires |
| Payment Method Invalid | PAYMENT_METHOD_EXPIRED_OR_INVALID | Payment method is no longer valid |
| Post-Cancellation | POST_CANCELLATION | Configurable days after cancellation (win-back opportunity) |
Configuration
Notifications are configured in Settings > Notifications:
- Enable/disable individual notification types
- Customize email templates with dynamic variables (customer name, product, amount, dates, etc.)
- SMTP provider configuration (Settings > SMTP)