Skip to content
Learn › Clean and shape data: open the docs menu

Pause a pipeline for approval with a Checkpoint

A Checkpoint is a pipeline task that tells people when the data reaches a point, and can hold the pipeline until someone approves it. Add one from the Transform menu under Controls > Checkpoint Alert. A Project Admin, or a member whose custom role includes Approve/reject Checkpoint gates, can approve a paused pipeline.

Got an approval email? Go to Approve a Checkpoint that is waiting for you.

To test data automatically instead of asking a person, use a Data Check. See Remove duplicate rows and add data quality checks.

Choose an Alert or an Approval Gate

AlertApproval Gate
What it doesSends notifications and the pipeline carries onSends notifications and pauses the pipeline until someone approves
Needs actionNoYes: someone must click Approve and Continue
Use it whenYou want people to know, with no manual stepA person must review before data moves on
Status after it triggersSentPending (the status window shows Pending Approval)

Add a Checkpoint to a pipeline

Checkpoint Alert panel with the Notify only and Pause for approval choices, a Notify by email field, and Add a message and Add webhook links
  1. Open the Transform menu and choose the Controls category.
  2. Select Checkpoint Alert.
  3. Under When the pipeline reaches this checkpoint, choose Notify only (an Alert) or Pause for approval (an Approval Gate).
  4. Choose email recipients from the project's members. Optional: click Add webhook and enter a URL.
  5. Optional: click Add a message to add context to the email. For an Approval Gate, the approver also sees it in the status window.
  6. Click Apply.

The Checkpoint appears in the Pipeline panel with its type and number of recipients, for example Approval Gate - 2 recipients.

A Checkpoint needs email, a webhook or both. If you turn on email, choose at least one recipient.

What the Checkpoint email contains

Recipients get an email as soon as an Alert triggers, or when an Approval Gate needs approval. It includes:

  • the View name, the project name and a link to the View;
  • where the Checkpoint sits, for example task 4 of 8, and when it triggered;
  • whether it is an Alert (Checkpoint reached) or an Approval Gate (Approval required);
  • your message, if you added one.

Send a Checkpoint to Slack, Teams or another system by webhook

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.

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

{
  "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.

What happens when a pipeline reaches an Approval Gate

  1. The pipeline pauses. It stops at the Checkpoint. Later tasks don't run.
  2. Notifications go out. Email recipients get the message and any webhook fires.
  3. The status changes to pending. The Checkpoint shows a Pending chip, and its status window is titled Checkpoint Alert - Pending Approval.
  4. A reviewer opens it. They sign in, open the View and open the Checkpoint status window.
  5. The reviewer checks the data. The output up to this point is available while the pipeline is paused.
  6. The reviewer approves. They click Approve and Continue, then Yes, Approve in the Approve this checkpoint? confirmation.
  7. The pipeline resumes from the task after the Checkpoint.
  8. The status changes to Approved.
Checkpoint - Pending Approval dialog with run details, people notified, and Cancel and Approve and Continue buttons

Approve a Checkpoint that is waiting for you

You got an email because a pipeline paused at an Approval Gate and is waiting for review.

  1. Click the link in the email. It opens the View in Mammoth.
  2. Sign in if asked. You need a Mammoth account with access to the project.
  3. In the Pipeline panel, click the Pending chip on the Checkpoint task.
  4. Read the Message from pipeline owner and check the data if you need to.
  5. Click Approve and Continue.
  6. In Approve this checkpoint?, click Yes, Approve.

The Checkpoint shows Approved and the pipeline continues on its own.

Who can approve

Approving needs the project permission Approve/reject Checkpoint gates. Of the standard roles, only Project Admin has it. A custom role can include it. For anyone else, Approve and Continue is turned off and its tooltip reads "Your role doesn't have permission to perform this action". See Projects and Members, roles and custom roles.

Find Checkpoints waiting for approval in Monitor

A waiting Approval Gate appears in Monitor, on the Needs Attention tab, in the Governance section. It reads Checkpoint: approval required, with the View and a line such as Task 4 of 8 is waiting for approval. Click Approve on the row to open the View, check the data and approve.

Pending Items dialog, Pending Checkpoints tab, listing one checkpoint waiting with a Review & Approve button

Checkpoint statuses

StatusMeaning
SentAn Alert triggered. Notifications went out and the pipeline carried on.
Pending (Pending Approval in the status window)An Approval Gate triggered. The pipeline is paused until someone approves.
ApprovedA reviewer approved. The pipeline has resumed or finished.
BypassedThe Checkpoint was skipped in a partial rerun

Why a Checkpoint shows Bypassed after a partial rerun

When you rerun a pipeline from a task partway down, Checkpoints before that task are marked Bypassed. A Checkpoint that is already waiting for approval, or already approved, keeps that status.

A Bypassed Checkpoint doesn't trigger again in that rerun, so no notification goes out and no approval is asked for. The pipeline moves past it. To test the Checkpoint again from scratch, run the full pipeline from the start.

Troubleshooting

SymptomCauseFix
The Checkpoint won't saveIt has no notification method, or email is on with no recipientAdd a webhook, or choose at least one email recipient
Approve and Continue is greyed out with "Your role doesn't have permission to perform this action"Your role lacks Approve/reject Checkpoint gatesAsk a Project Admin to approve, or to change your role
The webhook test shows Endpoint returned an errorThe URL refused or failed the requestCheck the URL and your endpoint, then test again
No email arrived after a rerunThe rerun started after the Checkpoint, so it was BypassedRun the full pipeline
The pipeline is still pausedThe Approval Gate is waiting for approvalApprove it from the Pending chip or from Monitor
Was this page helpful?

Something wrong? support@mammoth.io