{"schemaVersion":"1.0","source":"The Workflow Finder","sourceUrl":"https://www.theworkflowfinder.com","license":"Free to use with attribution and a link to the cited page","generated":"2026-08-28","workflow":{"title":"Add Human-Approval Gates to an Outbound AI Agent","slug":"add-human-approval-gates-to-an-outbound-ai-agent","url":"https://www.theworkflowfinder.com/workflows/add-human-approval-gates-to-an-outbound-ai-agent","description":"Put a checkpoint in front of every action your agent takes that leaves your system, an email sent, a record updated, a payment triggered, so a person signs off before anything outbound actually happens.","difficulty":"Advanced","timeEstimate":"2-3 hours, one-time setup","schemaDuration":"PT3H","expectedResult":"An agent that drafts and proposes outbound actions but pauses at each one for explicit human approval before it sends, updates, or triggers anything outside your system.","tags":["Agents","Automation","Oversight"]},"steps":[{"position":1,"title":"List Every Outbound Action the Agent Can Take","instructions":"Inventory every action that leaves your system: sending an email, posting to a channel, updating a CRM record, issuing a refund. Anything on this list is a candidate for a gate: anything read-only or internal-only usually isn't.","input":"Workflow inputs: the topic, goal, or raw materials the user is starting from.","output":"Handoff artifact consumed by Step 2 (\"Build the Agent's Decision Logic in LangGraph\").","ioProvenance":{"input":"structural","output":"structural"},"toolSlots":[]},{"position":2,"title":"Build the Agent's Decision Logic in LangGraph","instructions":"Use LangGraph to model the agent as a graph with explicit interrupt nodes before each outbound action, rather than a single linear chain. LangGraph's human-in-the-loop interrupts are built for exactly this: the graph pauses execution and waits for an external signal before continuing past the gate.","input":"Output of Step 1 (\"List Every Outbound Action the Agent Can Take\").","output":"Handoff artifact consumed by Step 3 (\"Route Pending Approvals to Where People Actually Look\").","ioProvenance":{"input":"structural","output":"structural"},"toolSlots":[{"slug":"langgraph","name":"LangGraph","url":"https://www.theworkflowfinder.com/tools/langgraph","category":"Agents","pricing":"free","capabilities":["Multi-step agent orchestration","API integration"]}]},{"position":3,"title":"Route Pending Approvals to Where People Actually Look","instructions":"Send each paused action as a Slack message with the proposed action, its full content, and Approve/Reject buttons, using Zapier to wire the interrupt to the notification without writing a Slack integration by hand.","input":"Output of Step 2 (\"Build the Agent's Decision Logic in LangGraph\").","output":"Handoff artifact consumed by Step 4 (\"Log Every Decision, Approved or Rejected\").","ioProvenance":{"input":"structural","output":"structural"},"toolSlots":[{"slug":"zapier","name":"Zapier","url":"https://www.theworkflowfinder.com/tools/zapier","category":"Automation","pricing":"freemium","capabilities":["Workflow automation","API integration"],"hasApi":true}]},{"position":4,"title":"Log Every Decision, Approved or Rejected","instructions":"Record every gate: what the agent proposed, who approved or rejected it, and when. This is what lets you audit the agent's judgment over time and tighten its instructions where it keeps proposing actions that get rejected.","input":"Output of Step 3 (\"Route Pending Approvals to Where People Actually Look\").","output":"Handoff artifact consumed by Step 5 (\"Resist the Urge to Widen the Gate Later\").","ioProvenance":{"input":"structural","output":"structural"},"toolSlots":[]},{"position":5,"title":"Resist the Urge to Widen the Gate Later","instructions":"The pressure to remove a gate always shows up after the agent has been right for a while. Widen it deliberately and narrowly, for example auto-approve replies under a certain word count, rather than removing oversight on the whole action category at once.","input":"Output of Step 4 (\"Log Every Decision, Approved or Rejected\").","output":"Final workflow output: An agent that drafts and proposes outbound actions but pauses at each one for explicit human approval before it sends, updates, or triggers anything outside your system.","ioProvenance":{"input":"structural","output":"structural"},"toolSlots":[]}]}