The companion app turns an absolute https `clickAction` into a bare ACTION_VIEW intent, which Android 12+ hands to the default browser — a Chrome-minted WebAPK never has verified links for its host, so every notify/ask tap opened a browser tab next to the installed app. New optional `pwa_package` / `pwa_origin` config: a notification URL on the PWA's origin is sent as an `intent:` URI pinned to the WebAPK's package (path + query kept), which the app launches by package. Other hosts stay plain links; empty package = previous behaviour. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
ai-agent integrations
Out-of-container companions that connect the ai-agent notification hub to the
outside world. The backend itself only knows about generic webhooks
(Settings → Webhooks, GET/PUT /api/webhooks); each integration here is the
receiving end of one of those webhooks.
home-assistant/— a Home Assistant custom component (ai_agent) that renders the hub'snotify/askevents as mobile notifications (asks get their own channel + ". .. .._" vibration and their tapped answer is POSTed back to the backend).
How notifications flow
notify-done skill (notify.sh / ask.sh)
│ POST /api/notify | /api/ask
▼
ai-agent backend ──record──▶ /data/notifications.json (source of truth)
│ POST {event: notify|ask, …}
▼
configured webhooks (e.g. HA /api/webhook/ai_agent)
│ notify.mobile_app_pixel_9
▼
phone ──tap──▶ HA integration ──POST /api/ask/{id}/answer──▶ backend