Digest Defaults
Defaults for thedigest step in any workflow. Applies to both Dashboard digest and Framework step.digest.
Default Configuration
| Field | Default |
|---|---|
| Type | regular |
| Look-back window | 5 minutes |
| Digest time | 1 hour |
| Digest key | subscriberId |
regular digest collects events that arrive within the look-back window after the first trigger, then waits the digest time before sending the aggregated notification. With the defaults, the first trigger waits up to 1 hour, scooping up any matching trigger that lands within 5 minutes of one another.
Skip the Digest When
severity: HIGH, orcritical: true
Digest Key Composition
The digest key controls what counts as the same digest. Default issubscriberId so each user gets their own digest. Add more parts to the key for finer grouping:
| Pattern | Use case |
|---|---|
subscriberId | One digest per recipient (default) |
subscriberId + threadId | Conversational flows — one digest per thread/post (comments, replies, mentions) |
subscriberId + projectId | Per-project activity feeds |
subscriberId + organizationId | Multi-tenant per-org digests |
Without +threadId, a comment on Post A and a comment on Post B end up in the same digest. The user sees “5 new comments” instead of “2 new comments on Post A, 3 on Post B”.
Conversational Digest Example
For a “comment on your post” workflow:When NOT to Add a Digest
- Single-event flows (order confirmation for one order, password reset for one request).
critical: trueworkflows (digest is bypassed anyway).- High-severity alerts (
severity > HIGH). - User-specified channel-only flows where the user didn’t ask for batching.
When TO Add a Digest
- High-frequency conversational events (comments, mentions, reactions, follows).
- Activity feeds (“5 new updates in your project”).
- Lifecycle nudges that may fire many times in a short window.
Cron-Based Digests
Use a cron expression instead oflook-back + digest time for fixed-schedule digests (e.g. “every weekday at 9 AM”):
- Dashboard: switch the digest type to
cronand provide a cron string. - Framework: pass
cron: "0 9 * * 1-5"tostep.digestinstead ofunit/amount.
framework-integration/references/workflow-and-steps.md for the Framework signature.
Common Pitfalls
- Forgetting
+threadIdfor conversational flows — comments on different posts collapse into one digest. - Adding a digest to a
criticalworkflow — it’s auto-skipped, but it’s a code smell that hides intent. - Two digest steps in one workflow — not supported. Chain workflows with a custom step (Framework) or a second workflow trigger.
- Very long look-back windows — digest delivery feels delayed. Keep look-back ≤ digest time.
See Also
severity-and-critical.md— when digest is auto-skippedworkflow-templates.md— templates 1 and 2 illustrate the standard digest patternframework-integration/references/workflow-and-steps.md— Frameworkstep.digestreference