---
title: "Digest events"
description: "The summary an hourly, daily or weekly rule sends each period, field by field."
canonical: https://docs.rumoro.dev/webhooks/digest-events
markdown: https://docs.rumoro.dev/webhooks/digest-events.mdx
---

# Digest events

The summary an hourly, daily or weekly rule sends each period, field by field.

| Mode | Sent | Covers |
| --- | --- | --- |
| `hourly` | 5 minutes past each UTC hour | The previous hour |
| `daily` | `schedule.hour` and `schedule.minute` in `schedule.timezone` | Since the last digest |
| `weekly` | The same, on `schedule.weekday` | Since the last digest |

Daily and weekly rules skip a period without a relevant mention (`schedule.skipEmpty`, on by default). Hourly rules skip an hour with nothing at or above their minimum. `POST /v1/alerts/{id}/run` sends the last period now and keeps the schedule. A mention counts in the period it was scored. A rule can rename `event`, which defaults to `digest`.

```json
{
  "id": "dlv_e93f0c6d9c07478faaba938b561e5246",
  "event": "digest",
  "createdAt": "2026-10-03T10:35:50.309Z",
  "alert": { "id": "feed_eaa52968cbfb4f359a147d700418d7ea", "name": "Morning digest" },
  "data": {
    "window": { "from": "2026-10-02T10:35:50.175Z", "to": "2026-10-03T10:35:50.175Z" },
    "matched": 24,
    "relevant": 20,
    "previousMatched": 20,
    "byPlatform": [
      { "platform": "bluesky", "count": 12 },
      { "platform": "devto", "count": 11 },
      { "platform": "hackernews", "count": 1 }
    ],
    "sentiment": { "positive": 4, "neutral": 16, "negative": 0 },
    "top": [ { "id": "mm_b84bdf7f7ddf4fc29b3786f9013e89e8", "status": "open", "relevant": true, "...": "..." } ],
    "negative": [],
    "buyIntent": [ { "...": "..." } ],
    "questions": [ { "...": "..." } ]
  }
}
```

## Fields

| Field | Meaning |
| --- | --- |
| `window` | The period, in UTC |
| `matched` | Open, scored matches the rule accepts, relevant or not |
| `relevant` | Those with relevance 40 or higher |
| `previousMatched` | `matched` for the previous period |
| `byPlatform` | Matches per platform, largest first |
| `sentiment` | Relevant mentions per sentiment |
| `top` | Up to 10 open mentions, by `priority` |
| `negative` | Up to 5 negative mentions |
| `buyIntent` | Up to 5 with `buy_intent` |
| `questions` | Up to 5 with `question` |

Lists hold full [mentions](/api/mentions/get-mention) at or above the rule's minimum. A mention can be in several lists.

## Delivery

A digest is sent as built, even if you triage its mentions meanwhile. Editing the rule cancels a digest not yet sent.

Each channel retries every 5 minutes for up to 6 hours, hourly digests until 45 minutes past the next hour. The delivery log lists scheduled daily digests as `feed_…:2026-10-04` and hourly ones as `feed_…:h:2026-10-04T09`. See [Webhooks](/webhooks) for signatures.
