Notifications
Knock workflows, push delivery, and SMS/voice fallbacks.
Overview
Entry alerts and omnichannel messages flow through Knock workflows. Device tokens are registered via /devices/* (mobile) and stored on Device rows.
Deep runbook: docs/KNOCK_CONTENT_AND_OMNICHANNEL_PLAYBOOK.md.
Delivery chain (entry request)
- Inbound call resolves unit + residents.
- Core triggers Knock workflow (push to registered devices).
- If push fails or user enables fallbacks:
- SMS with approve/deny links (TelephonyProvider)
- Voice call to
User.phoneNumber(fallback call enabled)
- Resident responds via app, portal, SMS link, or phone keypad.
Device registration
| Step | Detail |
|---|---|
| Mobile | POST /devices/register with FCM/APNs token + platform |
| Admin audit | GET /api/admin/devices, push test endpoints |
| Enable flag | Device.isEnabled must be true |
User preference fields
| Field | Purpose |
|---|---|
fallbackCallEnabled | Voice call on entry request |
fallbackSmsEnabled | SMS with action links |
forwardCallToResident | Emergency forwarding path |
phoneNumber | E.164; must be verified for SMS/voice fallbacks |
preferredNotificationSound | Applied to new devices (default, urgent_chime, intry_chime) |
Do Not Disturb
Residents can enable DND in the app or portal. DND blocks notifications silently — a common support issue when "the gate won't open."
Push provider details
Knock delivers to:
- FCM (Android)
- APNs (iOS)
See Intry App — Push notifications and docs/PUSH_NOTIFICATIONS.md.
Admin notifications API
Test and audit endpoints under /api/admin/devices — see Notifications API.
Last verified: 2026-06-21 (commit 293c4a7)