Task Notifications
When a task is created or its state changes in a way that needs operator attention, the platform sends an interactive WhatsApp notification to the assignee. The teammate replies with a button tap — accept, snooze, mark done, reassign — and the task state updates without anyone opening the dashboard.
Where the notifications go
| Audience | Triggered by |
|---|---|
| Host (assigned to the property) | New task created, auto-resolve blocked, guest dispute |
| Cleaner (assigned to the property) | Cleaning scheduled, cleaning overdue, photo requested |
| Admin (you) | High-priority escalations, auto-resolve blocked when no specific role can handle it |
What an interactive notification looks like
A typical task notification (WhatsApp template task_notification_v2):
*New task: Send Check-in*
Reservation: Castle&River Luxe-Vydrica · Johanna
Due: 18/05/2026 19:00
[Send now] [Snooze 1h] [Reassign]
Tapping a button:
- Send now → fires the action, marks the task done.
- Snooze 1h → updates
dueDateTime, sends a re-notification at the new time. - Reassign → opens a follow-up flow that asks who to reassign to.
The 24h WhatsApp window
Meta only lets us send free-text messages to a number that messaged us in the last 24 hours. Outside that window we must use a pre-approved template.
The platform handles this transparently:
- Window open (recent inbound from the assignee) → send the rich, interactive template OR free-text where appropriate.
- Window closed → fall back to the
task_resolved/task_notification_v2approved template.
If neither is possible (no number, opted out, Meta returned an error), the platform logs to app_errors and you'll see the failure in Admin → Activity Log.
Notification flood prevention
A single admin photo on a thread used to trigger 27 "New Task Created" notifications because each photo upload was being counted as a new task. Fixed in #181.
If you ever see a notification flood again:
- Note the trigger event (what did you do that produced N+ messages?).
- Check Admin → Activity Log for the source.
- File a bug with the
notificationsandseverity:highlabels.
Admin chat visibility on /v28/wa-comm
Admin-uploaded photos and admin chat messages were invisible on /v28/wa-comm before #181. They now appear inline in the same thread as guest messages, with an ADMIN tag.
Silent delivery failure on closed WhatsApp window
Until recently, when the system tried to send a message into a closed 24h window, Meta would return HTTP 200 and the message would silently never deliver. This was fixed by always falling back to a template-based send when free-text is rejected — see the cleaning-walkthrough fix referenced in the May 2026 changelog.
If you ever see a task marked done but the guest insists they got no message, check:
- Activity Log for the task ID → was the send recorded with
templateUsed: true? - Webhook Logs for the
/messagessend → did Meta return 200 and amessages[]array?
If both look fine but the guest still has nothing, escalate — the issue is downstream of our integration.
Related issues
- #181 — notification flood + admin chat visibility.
- #218 — WhatsApp bot dead (tenant
whatsappPhoneNumberIdNULL); inbound webhook rejected → no notifications routed. - #180 — silent-skip semantics;
task_resolvedtemplate fallback verified.