HubSpot AI
Gate AI-generated HubSpot actions — email campaigns, deal stage changes, contact updates — behind a human approval step using HubSpot Workflows.
Prerequisites
- HubSpot Marketing Hub Pro or higher (for Workflows with HTTP actions).
- Cheqpoint Connection Key.
Steps
- In HubSpot, open Automations → Workflows and create or edit the workflow that precedes your AI-driven action.
- Add a Send HTTP request action as a workflow step.
- Set Method to POST and URL to
https://cheqpoint.co/api/webhooks/inbound. - Add the
x-api-keyheader and construct the JSON body from HubSpot contact or deal properties. - Add an If/then branch after the HTTP request to check the response
statusproperty. - Connect the
approvedbranch to the AI action; connect the other branch to an internal notification or task creation step.
Sample request payload
json
{
"action": "send_email_campaign",
"summary": "AI requesting to send re-engagement campaign to 3,200 contacts",
"details": {
"campaign_id": "camp_9921",
"segment": "churned_last_90_days",
"recipient_count": 3200,
"subject": "We miss you — here's 20% off"
},
"justification": "AI identified high churn risk segment based on engagement drop signals."
}Sample Cheqpoint response
json
{
"status": "approved",
"modifiedDetails": {
"subject": "Come back — exclusive offer inside"
},
"decisionNote": "Approved with subject line tweak per brand guidelines."
}Async behaviour
json
// If Cheqpoint returns status "pending", the approval is queued
// for a human reviewer. Branch on all three outcomes in your workflow:
//
// status == "approved" → send the campaign
// status == "rejected" → create an internal task for manual review
// status == "pending" → either:
// a) poll GET /api/approvals/{approvalId} in a later workflow step, or
// b) pass callbackUrl so Cheqpoint POSTs the decision to your backend.
{
"action": "send_email_campaign",
"summary": "AI requesting to send re-engagement campaign to 3,200 contacts",
"details": { "campaign_id": "camp_9921", "recipient_count": 3200 },
"callbackUrl": "https://your-backend.example.com/cheqpoint/callback"
}Notes
You have full control over what data is passed into the details object to provide human reviewers with sufficient context. Reviewers can modify campaign parameters via modifiedDetails.
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.