---
title: Digest
description: Accumulate items across runs and release them together
---

Collect items over many runs and hand them all over at once, on a schedule, on demand or once you have enough.

## What it does

A [Data Store](/nodes/builtin/core/datastore/) remembers single values; a Digest remembers a growing list. Each run can add to a named **Bucket**, and a later run releases everything that gathered. Several buckets can live in one workflow.

**Mode** picks what the node does:

* **Add to digest** appends the incoming item (or every item of an incoming list) to the bucket, then stops the branch: nothing after it runs. If **Release at (count)** is above 0 and the bucket reaches that many items, it releases instead.
* **Peek** sends everything in the bucket out of **Released** and leaves the bucket as it is.
* **Release** sends everything in the bucket out of **Released** and empties it.

Buckets are stored in this workflow's Data Store, in this browser profile, and are private to this workflow. Editing the workflow keeps them; deleting the workflow deletes them.

## When to use it

* A daily summary: collect links or alerts all day, send one message at 6pm.
* A batcher: act once twenty items have piled up, with **Release at (count)** `20`.
* Hold items until you press a button, with a manual trigger on a Release branch.

To combine items from a single run, use [Aggregate](/nodes/builtin/datatransformation/aggregate/) instead.

## Inputs and settings

The items to collect come from the node's incoming connection. Use the same **Bucket** name on the Add node and on the Release node that should empty it. A bucket does not clash with a Data Store key of the same name.

## Outputs

**Released** only receives items when the node releases (a Release, a Peek, or an Add that reached its count). The items come out as they went in, one per collected item, so you can follow with [Aggregate](/nodes/builtin/datatransformation/aggregate/) to build one summary.

## Dependencies and credentials

None. This node needs no connection and has no slots for other nodes.

## Example workflow

A reading list you get once a day. One workflow, two branches using the bucket `reading-list`:

1. [Context Menu](/nodes/builtin/trigger/contextmenu/) trigger, **Menu Contexts** `Link`, into Digest, **Mode** Add to digest, **Bucket** `reading-list`. Each right-click adds one link.
2. [Schedule](/nodes/builtin/trigger/schedule/) trigger at 18:00 into Digest, **Mode** Release, **Bucket** `reading-list`.
3. From **Released**: [Aggregate](/nodes/builtin/datatransformation/aggregate/), **Mode** Individual fields, field `linkUrl`.
4. [Slack](/nodes/builtin/integration/slack/), post a message with `{{ $input.linkUrl }}`.

## Common issues

* **Nothing runs after an Add.** That is by design: Add collects and stops the branch. Connect the next steps after a Release or Peek node, or set **Release at (count)**.
* **The Release branch gets old or unrelated items.** Two Digest nodes share the same **Bucket** name. Give each digest its own name.
* **Items keep coming back on every run.** You used **Peek**, which does not empty the bucket. Use **Release**.
* **A storage limit error.** A bucket is one stored value, capped at 128 KB, within the Data Store limits (500 keys, 5 MB per workflow). Release more often or store less per item.
* **An imported copy of the workflow starts with empty buckets.** Buckets belong to the original workflow.

## Related nodes

* [Data Store](/nodes/builtin/core/datastore/): remember single values between runs.
* [Schedule](/nodes/builtin/trigger/schedule/): fire a Release at a set time.
* [Aggregate](/nodes/builtin/datatransformation/aggregate/): turn the released items into one summary item.
* [Split in Batches](/nodes/builtin/flow/splitinbatches/): process a list in chunks within one run.