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
- Add an HTTP Request node to your n8n workflow before any sensitive “Action” node.
- Set the Method to POST and URL to
https://cheqpoint.co/api/webhooks/inbound. - Add a Header:
x-api-keywith your Cheqpoint key. - In the Body parameters, map previous node data to the
action,summary, anddetailsfields. - Add an IF node after the HTTP Request node to check the value of the
statusexpression. - 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.