What it does
Routes high-value AI-suggested actions (auto-email to high-ARR accounts, mass account updates, large segment sends, AI-classified routing decisions) to a Slack-based approval step before execution.
You get
a human-in-the-loop approval queue for high-stakes AI actions
How it works
Build the HITL Approval Workflow
Create WorkflowCreate a workflow 'AI action approval queue' that intercepts high-stakes AI-generated actions and requires human approval before execution. Goal: capture AI's speed while keeping human judgment on the consequential decisions. Configurable threshold for what triggers approval (ARR cutoff, segment size, action type, AI confidence).
Webhook Receives Pending AI Action
configure_webhook_stepConfigure webhook trigger that other workflows call when they want to queue an action for approval. Payload schema: action_type (send_email / update_records / route_lead / make_decision), action_summary (one-line description), full_payload (the actual action data), requesting_workflow (originator), threshold_reason (why this needs approval — high-ARR / large-segment / low-confidence).
Branch by Action Type
configure_workflow_multi_split_stepMulti-split by action_type: send_email → marketing lead approval; update_records → RevOps approval; route_lead → sales manager approval; make_decision → varies by decision type. Each routes to the right approver Slack channel. The approver matters — wrong approver leads to bottlenecks.
Slack Approval Prompt
configure_slack_stepConfigure Slack step that posts an interactive approval message to the right channel/user. Message includes: action summary, originator workflow, threshold reason, action preview (e.g. for email: subject + first 200 chars), and Approve/Reject buttons (or Slack thread-reply 'approve'/'reject'). Tag the specific approver.
Wait Until Approval
configure_workflow_wait_until_stepConfigure wait-until step that pauses workflow execution until approval response received. Timeout: 4 hours (configurable — high-ARR sends might warrant 1hr, routine updates might allow 24hrs). On timeout: default-reject (safer than default-approve) + post 'auto-rejected after timeout' notification.
Branch on Decision
configure_workflow_branch_stepBranch step on the approval decision: APPROVED → execute action (webhook back to originator workflow with 'go ahead'); REJECTED → archive with rejection reason + notify originator workflow to abort + post reasoning to #ai-governance for learning; TIMEOUT → same as rejected, with timeout reason logged.
Approved Path: Execute and Log
configure_webhook_stepConfigure webhook call back to the originator workflow to proceed with the queued action. Include approval metadata (approver name, timestamp, any approver comments). Log to audit trail — every AI action that went through approval is fully traceable for compliance + later review.
Rejected Path: Log Learning
configure_update_attribute_stepOn rejected branch: write the rejection to a structured learning log — which AI suggestions are humans rejecting, what's the rejection reason. Over time this reveals which AI behaviors need prompt tuning or guardrails. The reject log is the feedback loop that improves the underlying AI workflows.
Validate and Publish
publish_workflowValidate and publish. Monitor: approval volume per week, approval-rate (target: 80%+; below 60% suggests upstream AI workflows need tuning), median time-to-decision (target: under 30min during business hours), timeout rate (high = wrong approvers or low-engagement channel). The dashboard for responsible AI governance.
Ready to run this recipe?
Tell Blu what you need. It builds the segment, content, journey, and dashboard in minutes.
Sign up free