Salesforce Einstein
Gate Einstein AI-driven CRM actions — opportunity updates, contact changes, deal closures — behind a human approval step using Salesforce Flow Builder.
Prerequisites
- Salesforce org with Einstein AI features enabled.
- Admin access to Flow Builder.
- Cheqpoint Connection Key.
Steps
- In Salesforce Setup, open Flow Builder and create or edit the Flow that precedes an Einstein-initiated action.
- Add an HTTP Callout action element (or use an Apex action) to call
https://cheqpoint.co/api/webhooks/inbound. - Set the POST method and add the
x-api-keyheader with your Cheqpoint Connection Key. - Map Flow record variables to the Cheqpoint
action,summary, anddetailsfields. - Add a Decision element that checks the
statusfield from the HTTP response. - Route to the original Einstein action on
approved; route to an escalation notification or Chatter post onrejected.
Sample request payload
json
{
"action": "close_opportunity",
"summary": "Einstein AI recommending opportunity closure for Acme Corp — $240,000 deal",
"details": {
"opportunity_id": "0065g00000XmYzABC",
"account_name": "Acme Corp",
"amount_usd": 240000,
"stage": "Closed Won",
"close_reason": "Einstein probability > 0.9 for 14 consecutive days"
},
"justification": "High-confidence signal from Einstein forecasting model."
}Sample Cheqpoint response
json
{
"status": "approved",
"modifiedDetails": null,
"decisionNote": "Confirmed with account executive. Mark as Closed Won."
}Async behaviour
json
// If Cheqpoint returns status "pending", the approval is queued
// for a human reviewer. Handle all three outcomes in your Decision element:
//
// status == "approved" → execute the CRM action
// status == "rejected" → escalate via Chatter or Task
// status == "pending" → either:
// a) poll GET /api/approvals/{approvalId} in a scheduled Flow, or
// b) pass callbackUrl to receive a POST when the reviewer decides.
{
"action": "close_opportunity",
"summary": "Einstein AI recommending closure for Acme Corp",
"details": { "opportunity_id": "0065g00000XmYzABC", "amount_usd": 240000 },
"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.
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.