> AI agents: this is one page from Mammoth Analytics documentation. The index of all pages as Markdown is https://mammoth.io/docs/llms.txt. Append `.md` to any docs URL, or send `Accept: text/markdown`, to get Markdown.

# Send a Checkpoint to Slack or Teams by webhook

> Call a webhook when a Mammoth Checkpoint triggers to post to Slack, Teams or PagerDuty: the fixed JSON payload, the 10-second timeout and how to test the URL.
>
> Applies to: Where: View › Describe your transformation › Controls › Checkpoint Alert › Add webhook

A [Checkpoint](https://mammoth.io/docs/learn/clean-and-shape/checkpoints/) can call a webhook as well as, or instead of, sending email. In the **Checkpoint Alert** panel, click **Add webhook** and enter a URL that starts with `https://`. Mammoth calls it when the Checkpoint triggers, for example to post to Slack, Teams, PagerDuty or your own endpoint. The request times out after 10 seconds.

## What the Checkpoint webhook sends

The payload is fixed: you can't change it. Every Checkpoint webhook sends this JSON body in a POST request:

```json
{
  "checkpoint_id": 123,
  "checkpoint_name": "Finance team approval before final report",
  "checkpoint_type": "approval",
  "task_sequence": 4,
  "dataview_id": 654,
  "dataview_name": "View 1",
  "workspace_id": 22
}
```

`checkpoint_type` is `"alert"` or `"approval"`.

## Test that the webhook URL is reachable

1. Click **Payload** under the webhook URL to open the payload editor.
2. Write a test payload. **Test** turns on once the payload has content.
3. Click **Test**. Your browser sends the draft to the URL.
4. Read the result: *Delivered · 200* or *Endpoint returned an error*.

The editor accepts these tokens: `{{pipeline_name}}`, `{{pipeline_id}}`, `{{checkpoint_type}}`, `{{step_number}}`, `{{step_name}}`, `{{timestamp}}`, `{{status}}`, `{{project_name}}` and `{{triggered_by}}`. Unknown tokens are sent as they are. The payload can be up to 10KB with up to 5 levels of nesting.

The test payload is never saved and doesn't change what is sent. A real trigger always sends the fixed payload above.

## Troubleshooting Checkpoint webhooks

| Symptom | Cause | Fix |
| --- | --- | --- |
| The webhook test shows *Endpoint returned an error* | The URL refused or failed the request | Check the URL and your endpoint, then test again |

## Related

- [Pause a pipeline for approval with a Checkpoint](https://mammoth.io/docs/learn/clean-and-shape/checkpoints/): add the Checkpoint the webhook belongs to.
- [How the pipeline works](https://mammoth.io/docs/learn/clean-and-shape/how-the-pipeline-works/): reruns, task order and previews.
- [Fix a failing step](https://mammoth.io/docs/learn/clean-and-shape/fix-a-failing-step/): when a task errors instead of pausing.

---
Source: https://mammoth.io/docs/learn/clean-and-shape/checkpoint-webhook.md · Updated: 2026-11-08
