Skip to content

Notifications & Emails

Purpose: What the system sends, when, and to whom. There are around fifty emails and a resident push-notification pipeline with some non-obvious behaviour, so this is the map for "why did (or didn't) that message go out?"

Primary users: Support and delivery staff diagnosing missing messages; anyone changing a workflow that notifies people.

Three separate "notification" systems

"Notification" means three different things here. Don't conflate them:

  1. Resident push notifications to the mobile/web app (the main one, below).
  2. Everest dashboard alerts, in-app flags for staff about listing/sync problems (see Everest).
  3. Slack alerts to the team when a unit is updated.

Resident push notifications

When something happens on a tenancy, the system records a notification and pushes it to the resident's registered devices (via Firebase).

Key rules worth knowing:

  • Push is in "dry-run" mode by default. Unless it's turned on for the environment, nothing is sent, and there's no error to show for it, so in most environments pushes don't go out at all. This is the first thing to check when a push "didn't arrive".
  • Residents can opt out per type, so a resident who has disabled a category won't receive it.
  • Categories map to a smaller set of app message types. There are ten internal categories (General, Payment, Document, Building, Support, Renewal, Section 13, Vacating notice, Referral, Inspection) mapped onto seven message types the app understands; anything without its own type shows as a general message.
  • Dead device tokens are cleaned up automatically, and if delivery fails the admins are emailed.

What triggers a resident notification:

TriggerCategory
Renewal reached (scheduled)Renewal
Mid-tenancy or check-out inspection due (scheduled)Inspection
Fixflo repair status changesRepair update
Admin sends a building-wide messageBuilding
Section 13 notice servedSection 13
Support submission status changesSupport
Qube transaction raisedPayment
Referral move-inReferral
Staff send one manually (Portal or the app)Any

Emails

The system sends around fifty emails across the apps. The full copy lives in editable templates (the database-backed templates and the Confluence Email Catalogue); this is the trigger-and-recipient map.

Resident-facing:

EmailSent whenTo
Tenancy inviteA customer is invited to the resident appResident
Section 13 notice (letter and PDF variants)A rent-increase notice is served from the Rent Review trackerEvery tenant on the tenancy
Document uploaded / deleted / download linkDocuments change or a full download is requestedResident
Support reply / reopenedStaff reply to a support requestResident
End of tenancy confirmationA resident gives noticeResident
Direct debit invite / reminder / ending / renewingDirect-debit lifecycleResident
Social account linkA resident links a social loginResident

Staff-facing:

EmailSent whenTo
Deal sheet saved / locked-deal-sheet updatedDeal-sheet activityLease officer
Bulk import completedA deal-sheet CSV import finishesUploading admin
Viewing attendance / action requiredScheduled viewing follow-upsStaff
Reservation link / affordability / fee paidReservation activityCustomer or admin
Reposit created / failedAuto-created deposit-replacement policyAdmin
Move-out completed / date changesMove-out activityStaff
Renewal entered trackerA tenancy enters Rent ReviewStaff
End of tenancy noticeA resident gives noticeStaff
Inventory Hive check-in / interim / check-out remindersScheduled inspection remindersStaff
Submit-to-Qube / referral move-in / payment-match failedQube and payment eventsAdmin
Property archived / decommissioned / restored (Everest)Property lifecycle jobsAdmin
Tableau account / groups / credentials (backend)Tableau provisioning jobsOps

Building notifications

An admin can send a building-wide message, filtered by building, block, floor, apartment, pets or vehicles. Each matched unit gets a push, and optionally an email to the tenants. (Note: despite older plans, there is no feature flag retiring this in the current code; it's live.)

Where the detail lives

Email copy is in the database-backed mail templates (editable per operator in Olympus Frontend) and the Confluence Email Catalogue. The Automation page lists the scheduled jobs that send many of the above.