Engine · Available

Notification

Send, inbox, digests — email and push via ports.

@keystone/engine-notification

Purpose

Cross-channel notifications so applications share one send contract. In-app is first-class; email and push use delivery ports (stubs today, real adapters in integrations later). Automation’s notification.send action is wired in the API runtime.

In a product

Phase advanced → in-app alert with a deep link into the workflow instance; email or push when those channels are chosen.

How it works

  1. Producers call send with type, title, message, and optional targets (user id or email).
  2. Channel defaults to in_app; sendEmail / sendPush store the same record and call delivery ports.
  3. Recipients list and mark notifications read; unread counts feed badges.
  4. Digests can enqueue items and flush due buckets (optional timer in the engine).

Capabilities

  • Send (in-app default), sendEmail, sendPush
  • List, mark read, unread count
  • Digest enqueue and flush
  • Publishes notification.sent
  • API under /v1/notifications (list/send, mark read, unread-count)

Related

Automation · Workflow · Trigger · Event