Notify commitment due soon (D-139 P6.B)
Vendor-agnostic Layer-2 visible alert per spec § P6.B. Subscribes to bus events from BOTH connection.api.hubspot.contact AND connection.api.salesforce.contact updates; for each fired contact reads the cross-vendor `commitment_tracker` enrichment via `enrichment-list` filtered to the canonical `system.housekeeping.commitment_tracker` author. Filters commitments where `status equal pending` AND the commitment's `due_at` falls in the next `due_window_hours` (default 24h) per spec § P6.B. Dispatches a notification via `notification-send` rendering the matched commitments' text alongside their D-120 link-graph evidence_links — UI surfaces "Extracted from: [Mail …] [Calendar …] [Attachment: agenda.pdf]" so the user can audit any commitment before acting. The substrate-side AI compute path (full Pass-4 evidence-quality fold on the producer side — authorship_acceptance ['user', 'crm_user', 'unknown'] + lifecycle_state_acceptance ['point_in_time', 'completed'] + body_state_acceptance ['inline_body'] + dedupe_acceptance 'exact_only') lands in `backend/server/src/housekeeping/engagement-aggregates/commitment-tracker.ts` paralleling the P5 sentiment + NBA producers. Trust default `manual` per D-132 — the user must promote at MANUAL_RUN_THRESHOLD before the substrate populates rows. The alert is gated behind the `crm-commitment-tracker` pack's `packs.crm_commitment_tracker.enabled` launch flag at marketplace listing time per spec § P6.B sequencing.
How it works
Inspect the data fetches, transforms, gates, and output this recipe runs.
Settings
Configurable at install. Defaults shown — change them anytime in Recued.
channels
setting
=
in_app
due window hours
setting
=
24
Trust & control
What installing this recipe would let it do. Recued grants these permissions at install — review them there before approving.