n8n

Gate any n8n workflow behind a human approval step. Use the HTTP Request node to submit a request and branch on the decision.

Prerequisites

  • n8n instance (Cloud or Self-hosted).
  • Cheqpoint Connection Key.

Steps

  1. Add an HTTP Request node to your n8n workflow before any sensitive “Action” node.
  2. Set the Method to POST and URL to https://cheqpoint.co/api/webhooks/inbound.
  3. Add a Header: x-api-key with your Cheqpoint key.
  4. In the Body parameters, map previous node data to the action, summary, and details fields.
  5. Add an IF node after the HTTP Request node to check the value of the status expression.
  6. Connect the “true” branch (status equals approved) to your final action node. Connect the “false” branch to an error log or notification node.

Sample request payload

json
{
  "action": "transfer_funds",
  "summary": "n8n workflow moving £1,000 between accounts",
  "details": {
    "from_account": "ACC_772",
    "to_account": "ACC_119",
    "amount": 1000
  },
  "justification": "Automated monthly rebalancing task."
}

Sample Cheqpoint response

json
{
  "status": "approved",
  "modifiedDetails": null,
  "decisionNote": "Standard monthly movement verified."
}

Async behaviour

json
// If Cheqpoint returns status "pending", the approval is queued
// for a human reviewer. Handle this case in your IF node:
//
//   status == "approved"  → execute the action
//   status == "rejected"  → stop / notify
//   status == "pending"   → either:
//     a) poll GET /api/approvals/{approvalId} in a separate step, or
//     b) pass callbackUrl in the request body to receive a POST
//        when the reviewer decides.

{
  "action": "transfer_funds",
  "summary": "n8n workflow moving £1,000 between accounts",
  "details": { "from_account": "ACC_772", "to_account": "ACC_119", "amount": 1000 },
  "callbackUrl": "https://your-n8n-instance.com/webhook/cheqpoint-callback"
}

Notes

You have full control over what data is passed into the details object to provide human reviewers with sufficient context.

Depending on how long your approvals take and how your tool handles webhook timeouts, you may need to start with low-latency test flows and later move to an async pattern (e.g. callback URL or separate resumer) for production.

Tips

Start by routing only high-risk or high-value actions to minimize friction while maintaining oversight.

Get your Connection Key at cheqpoint.co/signup.