All integrations

Zapier

Trigger Cheqpoint approval requests from thousands of apps - no code required. Use the Zapier action to pause a workflow until a human approves.

Step 1 - Add the Cheqpoint action to your Zap

Configuration
Action app: Cheqpoint
Action event: Submit Approval Request

Fields:
  Action:   process_refund
  Summary:  Refund £{{amount}} for order {{order_id}}
  Details:  {"orderId": "{{order_id}}", "amount": {{amount}}}
  Risk Level: high
  Webhook URL: (optional - your own endpoint to receive the decision)
Action app: Cheqpoint
Action event: Submit Approval Request

Fields:
  Action:   process_refund
  Summary:  Refund £{{amount}} for order {{order_id}}
  Details:  {"orderId": "{{order_id}}", "amount": {{amount}}}
  Risk Level: high
  Webhook URL: (optional - your own endpoint to receive the decision)

Step 2 - Wait for the decision (Filter step)

Configuration
Add a Filter step after the Cheqpoint action:

Only continue if:
  Cheqpoint Status  |  (Text) Exactly matches  |  APPROVED

This pauses the Zap until a human approves the request.
If rejected, the Zap stops - your agent never executes.
Add a Filter step after the Cheqpoint action:

Only continue if:
  Cheqpoint Status  |  (Text) Exactly matches  |  APPROVED

This pauses the Zap until a human approves the request.
If rejected, the Zap stops - your agent never executes.

Step 3 - Receive outbound webhooks (optional)

Configuration
In Settings → Integrations → Zapier outbound:
  Webhook URL: https://hooks.zapier.com/hooks/catch/YOUR_ZAP_ID/
  Events:
    ✓ request.approved
    ✓ request.rejected

Zapier will receive the decision payload:
{
  "event": "request.approved",
  "requestId": "req_abc123",
  "status": "APPROVED",
  "summary": "Refund £500 for order #12345",
  "decisionNote": "Verified and authorised",
  "decidedAt": "2025-03-18T14:32:00.000Z"
}
In Settings → Integrations → Zapier outbound:
  Webhook URL: https://hooks.zapier.com/hooks/catch/YOUR_ZAP_ID/
  Events:
    ✓ request.approved
    ✓ request.rejected

Zapier will receive the decision payload:
{
  "event": "request.approved",
  "requestId": "req_abc123",
  "status": "APPROVED",
  "summary": "Refund £500 for order #12345",
  "decisionNote": "Verified and authorised",
  "decidedAt": "2025-03-18T14:32:00.000Z"
}

Inbound webhook (alternative - no Zapier action needed)

cURL
# Zapier's Webhooks by Zapier can POST to Cheqpoint directly:
curl -X POST https://app.cheqpoint.io/api/webhooks/inbound \
  -H "Content-Type: application/json" \
  -H "x-api-key: YOUR_API_KEY" \
  -d '{
    "action": "send_email",
    "summary": "Send campaign email to 5,000 subscribers",
    "details": { "campaignId": "camp_123", "listSize": 5000 },
    "riskLevel": "high"
  }'

# Response:
# { "id": "req_abc123", "status": "PENDING" }
# Zapier's Webhooks by Zapier can POST to Cheqpoint directly:
curl -X POST https://app.cheqpoint.io/api/webhooks/inbound \
  -H "Content-Type: application/json" \
  -H "x-api-key: YOUR_API_KEY" \
  -d '{
    "action": "send_email",
    "summary": "Send campaign email to 5,000 subscribers",
    "details": { "campaignId": "camp_123", "listSize": 5000 },
    "riskLevel": "high"
  }'

# Response:
# { "id": "req_abc123", "status": "PENDING" }