Reference
Daily AI digest
Cron-driven recap of yesterday's chat activity with AI highlights per opted-in user, delivered via in-app notification, web push, and optional email.
Cron-driven recap of yesterday's chat activity — three AI-generated highlights per opted-in user, delivered via in-app notification, web push, and optional email.
Enable in production
- Apply migration
0051_daily_digest.sql. - Set Worker env —
DAILY_DIGEST_ENABLED=trueAI_BASE_URLandAI_API_KEY(same stack as reply suggestions)- Optional —
AI_DIGEST_MODEL,DIGEST_EMAIL_FROM,RESEND_API_KEY, or Cloudflare Email binding (env.EMAIL.send) PUBLIC_APP_URLfor links in email and push
- Cron
0 8 * * *is registered inwrangler.toml(daily at 08h00 UTC). - Deploy with
wrangler deploy
User opt-in
Users enable digest via —
PATCH /digest/preferenceswith a JSON body (enabled,email, etc.)- Dashboard Notifications → Daily AI digest card
Default when no row exists — disabled (explicit opt-in).
Channels
| Channel | Requirement |
|---|---|
| In-app | in_app_enabled (default on) → in_app_notifications kind digest |
| Web push | web_push_enabled plus active web_push_subscriptions |
email_enabled plus valid email plus RESEND_API_KEY or EMAIL binding |
Deliveries are idempotent per (project, user, digest_date, channel) in digest_deliveries.
Manual run (admin)
POST /admin/digest/run
Authorization: Bearer <admin JWT>
Content-Type: application/json
{ "digestDate": "2026-06-07", "maxUsers": 50 }Bypasses DAILY_DIGEST_ENABLED for staging verification.
Related
Custom domain white-label
Route chat.yourcompany.com to a FluxyChat project on the Worker for embed widgets, guest chat, and branded API endpoints.
Quiet hours and batched notifications
Defer push and in-app alerts during a user-defined local quiet window. Notifications are queued and delivered as a consolidated batch when quiet hours end.