> ## Documentation Index
> Fetch the complete documentation index at: https://docs.mapping.travel/llms.txt
> Use this file to discover all available pages before exploring further.

# Recipe: Daily coverage report to Slack

> Get a one-line coverage update in Slack every morning at 9am.

This recipe wires a cron-triggered agent that computes coverage statistics and posts a one-line digest to a Slack channel every morning.

## What you'll build

An agent that runs daily at 09:00 UTC, calls `get_coverage_statistics`, and posts:

> *Booking.com coverage: 96.4% (+0.3% vs yesterday). 142 unmatched rows. 8 open mismatches.*

## Prerequisites

* Pro Max workspace.
* A Slack incoming webhook URL — see [Notifications → Slack webhook](/agents/notifications#slack-webhook).

## Steps

<Steps>
  <Step title="Create the agent">
    **Agents → New Agent.** Name it *"Daily coverage report"*.
  </Step>

  <Step title="Goal">
    > Every morning, compute mapping coverage for the workspace and post a 1-line digest to Slack. Include the delta vs yesterday and counts of unmatched rows and open mismatches.
  </Step>

  <Step title="Schedule">
    Cron: `0 9 * * *` (daily 09:00 UTC). Leave triggers off in the rule set.
  </Step>

  <Step title="Add Slack channel">
    **Channels → Add → Slack.** Paste the webhook URL. Subscribe to `on_action`.
  </Step>

  <Step title="Rules">
    ```json theme={null}
    {
      "mapping_jobs": { "trigger_on_cron": true },
      "coverage": {
        "alert_below_pct": 0,
        "weekly_digest": false
      },
      "notifications": { "on_action": true }
    }
    ```

    `alert_below_pct: 0` disables the threshold alert — we only want the daily digest from this agent.
  </Step>

  <Step title="Activate">
    Activate and wait for the next 09:00.
  </Step>
</Steps>

## Verification

`POST /api/v1/agents/{id}/channels/{cid}/test` immediately to confirm the webhook delivers. Then `POST /api/v1/agents/{id}/run-now` to fire one cycle on demand and verify the Slack message lands.

## Sample Slack payload

```json theme={null}
{
  "blocks": [
    {
      "type": "section",
      "text": {
        "type": "mrkdwn",
        "text": ":bar_chart: *Coverage report — 2026-05-25*\nOverall: *96.4%* (+0.3% vs yesterday)\n• Booking.com: 98.2% (1,204 unmatched)\n• Expedia: 94.1% (3,422 unmatched)\n• 8 open mismatch reports"
      }
    }
  ]
}
```

## Related

* [Agents overview](/agents/overview) — broader context.
* [Notifications](/agents/notifications) — channel setup details.
* [Cost and limits](/agents/cost-and-limits) — the fast model is plenty for this cycle.
