NotifyOnce checks for an existing row carrying the same dedupe key for this org and event inside a window (24 hours by default) before dispatching, then stamps the key into the notification's structured data. Used by estimate opened, GHL lead re-merge, broken QuickBooks connections, failed customer sends and invoice-overdue escalation steps.
Also called: duplicate alerts · same notification over and over · spam from a cron
- 1The check queries notifications for a matching data->>'dedupe_key' newer than the cutoff.
- 2A failed check never blocks the send — 'fail-open, like everything else in this file'.
- 3The check-then-insert race is accepted: 'worst case is one duplicate, never a flood.'
- 4Bulk arrivals also collapse: more than ten new leads in one pass becomes a single summary row with email suppressed.
Crons and re-detection are exactly the shape that turns a useful alert into noise. The registry's lead_new entry documents the batch collapse as guard (b): a summary row rather than one notification per lead.
- Sweep-detected facts re-announced on every pass
- Bulk imports fanning out one email per row
See it on your own jobs
Twenty minutes, your numbers, no slide deck. We’ll build one of your real buildings in front of you and send you the estimate link at the end — yours to keep either way.
or keep browsing features →