How to Add Human Approval Steps to AI Automations

Coding Liquids tutorial cover featuring Sagnik Bhattacharya for How to Add Human Approval Steps to AI Automations.
Coding Liquids tutorial cover featuring Sagnik Bhattacharya for How to Add Human Approval Steps to AI Automations.

Put the approval immediately before the step that can't be undone: sending, paying, publishing or deleting. Pause the run, show the reviewer the AI's output with its source and clear Approve, Edit or Reject options, and decide what happens if nobody answers. Zapier's Human in the Loop and Power Automate's approvals do this natively; in Make you build it.

The usual failure isn't a missing approval; it's approvals everywhere. When every run needs a click, reviewers stop reading and approve by habit, which is worse than no check because it looks like control. Put people only where a mistake is costly, and measure whether they're genuinely reviewing. For the broader question of how much human checking any AI work needs, see setting up human review without slowing down; this tutorial is about wiring the checkpoint into an automation.

Follow me on Instagram@sagnikteaches

Decide where a human is worth the delay

Every approval adds minutes or hours to a process. Score each automated action with three questions: Will someone outside the business see it? Is it hard or impossible to undo? Would a mistake cost money, a customer or your reputation? Two or more yeses means an approval step. One yes usually means sampling after the fact instead.

Connect on LinkedInSagnik Bhattacharya
Action at the end of the automationOutside eyes?Hard to undo?Costly if wrong?Approach
Post a summary to an internal Slack channelNoNoNoNo approval
Update a CRM field from an emailNoNoSometimesWeekly sample
Save a reply as an email draftNoNoNoNone needed; the person sending is the check
Send an AI-written email to a customerYesYesSometimesApproval
Send a quote containing a priceYesYesYesApproval
Issue a refund or schedule a paymentYesYesYesApproval, with a value limit
Publish a social postYesPartlyYesApproval
Delete or merge recordsNoYesYesApproval

Two refinements help. Use thresholds: refunds under $50 might go through with a daily sample, while anything larger waits for approval. And use confidence: if your AI step returns a confidence field, route only low-confidence results to a person. An IT support firm that drafts ticket replies with AI, for example, might auto-send password-reset instructions (a fixed, well-tested template) and hold everything else for approval.

Subscribe on YouTube@codingliquids

What the reviewer needs to see

An approval is only as good as the information in front of the reviewer. A bare "Approve this?" with the AI output pasted in forces them to go and find the context, so they don't. A good approval request contains five things: what the AI produced, the source it worked from, anything the automation flagged, what will happen on approval, and the deadline.

Here's a poor request from an illustrative translation agency's quote automation:

New quote ready. [Approve] [Decline]

And the version it switched to:

Quote for approval: legal contract translation
Client: returning client, 4 previous jobs
Word count: 8,420 (from the file analysis, not the AI)
Price: $1,431.40 (from the rate card formula)
Proposed delivery: 4 working days
Flags: client asked for certified translation; rate card has no certification line
On approval: this email is sent to the client from the projects inbox
[Email text below, editable]
Please decide by 15:00 today. [Approve and send] [Decline]

Notice what the AI didn't do: it didn't calculate the word count or the price. Those came from the file analysis and a spreadsheet formula, and the AI only wrote the email around them. Keeping numbers out of the model's hands removes a whole class of errors before the reviewer ever sees them. The flag line is the other key feature; it points the reviewer at the one thing that needs thought, so a 20-second review is a proper review.

Building it in Zapier with Human in the Loop

Zapier's built-in Human in the Loop tool pauses a Zap until someone responds. It's available on Professional, Team and Enterprise plans, with one important limit: on a Professional plan, requests can only be sent to yourself. If other people need to approve, you need Team or above.

  1. After your AI step, add an action, choose Human in the Loop and pick Request Approval for a yes-or-no decision. (Choose Collect Data instead if the reviewer needs to supply information, such as a corrected price.)
  2. Write the Approval request message: the heading and flags from the template above.
  3. Under Content to review, add name and value pairs: client, word count, price, delivery, and the email text mapped from the AI step.
  4. Set Let Reviewer edit content? to Yes for email text, so small fixes don't require a decline and rerun. Set it to No for anything that must match a source system exactly.
  5. Rename the buttons. Approve button label and Decline button label each take up to 75 characters; "Approve and send" is clearer than "Approve".
  6. Choose reviewers (specific members of your account, or anyone, via notifications) and how they're notified: email, Slack, or a separate Zap.
  7. Set the timeout and optional reminder (covered below), and use Send a preview to see the email the reviewer will receive. Testing the step doesn't send notifications, so the preview is the only way to check the layout.
  8. After the approval step, the Zap continues only on approval. Map the possibly edited content, not the original AI output, into the send step.

Decisions and collected data are logged in the Zap's history, which gives you a record of who approved what and when. The step counts as one task when it runs successfully.

Building it in Power Automate with Start and wait for an approval

If you're on Microsoft 365, the Approvals connector is a standard connector, so it's covered by your existing licence. Add the Start and wait for an approval action after your AI step and choose an approval type:

Approval typeHow it completesGood for
Approve/Reject - First to respondAny one approver decidesA pool of reviewers, fastest turnaround
Approve/Reject - Everyone must approveAll must approve; one rejection ends itHigh-value sign-offs
Custom Responses - Wait for one responseAny one approver picks from your options"Send", "Send with edits", "Hold"
Custom Responses - Wait for all responsesEveryone picks from your optionsCollecting views from several people

Put the context template into the Details field, assign approvers, then add a Condition that checks the outcome and branches to "send" or "notify and stop". For step-by-step sign-offs, such as an operations manager and then the owner for refunds over a limit, use sequential approvals. Reviewers can respond in Outlook, Teams or the Power Automate mobile app.

One limit shapes the design: a flow run can last at most 30 days, and pending approvals time out at that point. Don't rely on that ceiling as your timeout. Set a shorter one yourself in the action's settings, and handle the timeout path explicitly. For Microsoft businesses, this built-in approval is one of Power Automate's strongest features, a point covered in when Power Automate beats Zapier.

Building it in Make, where most plans have no approval module

Make does have a Human in the Loop app, but its documentation lists it as Enterprise-plan only and in closed beta for invited customers. On other plans you build the pause yourself. Two patterns work.

Pattern A: a status column. The first scenario writes the AI output to a row in Google Sheets or Airtable with Status set to "Awaiting approval" and posts a Slack message linking to the row. The reviewer edits the text if needed and changes Status to "Approved" or "Rejected". A second scenario, scheduled every few minutes during working hours, searches for rows marked Approved and not yet Sent, performs the action, and marks them Sent. It's simple, visible and easy to audit, since the sheet is the log.

Pattern B: approve and reject links. The first scenario sends the reviewer a message with two links to a second scenario's custom webhook, one carrying "approve" and the other "reject" plus the record ID. It's faster for reviewers, but has a trap: some email security systems open links in incoming emails to scan them, which can register as a click on "approve". If you use this pattern, send the links in Slack or Teams rather than email, or make the link open a confirmation page rather than act immediately.

Pattern A is the better default for a first build. If you're new to Make, building your first AI automation in Make covers the modules and routers both patterns rely on.

Timeouts, reminders and what happens when nobody answers

Every approval step needs an answer to "what if nobody responds?" Zapier's Human in the Loop lets you set a timeout (minimum 1, in minutes, hours, days or weeks) with two outcomes: Skip and continue or End run, plus an optional reminder before the timeout.

A rule that avoids most trouble: for customer-facing or money-moving actions, the timeout outcome is always "end run and tell someone", never "carry on anyway". "Skip and continue" suits only optional enrichment, such as a reviewer adding tags that the automation can live without.

Illustrative settings from the translation agency:

  • Quote emails: reminder after 1 hour, timeout after 4 hours, end run, and a Slack alert to the operations lead, who phones the client if needed. A quote that sits unapproved all day loses jobs to faster agencies.
  • Delivery emails with the finished translation: reminder after 30 minutes, timeout after 2 hours, end run and alert. Deadlines are contractual.
  • Monthly client usage reports: timeout after 2 days, end run; the account manager sends manually.

Also decide who covers holidays. An approval routed to one named person stalls the moment they're away. Use a pool with "first to respond", or name a deputy.

Stopping approvals becoming rubber stamps

You can't see whether someone read an approval, but you can see signs that they didn't. Track three numbers each month:

  • Time to approve. A median of 8 seconds for a 300-word quote email means it isn't being read.
  • Approve-without-edit rate. If it's 100% for months, either the AI is excellent or nobody is looking. Test which.
  • Decline reasons. Declines that cite a real problem show the check is working; record them.

The test is a deliberately flawed item. Once a month, the automation owner slips a planted mistake into the approval queue, such as a quote email with the wrong language pair or a delivery date in the past, and sees whether it's caught. At the illustrative agency, the first planted error was approved in 11 seconds. The fix was partly design (shorter requests with the flag line at the top) and partly habit: the operations lead talked the team through why the step existed, and the second planted error was caught within minutes.

Rotating reviewers helps too. The same person approving 60 near-identical requests a week will go on autopilot; three people taking a week each stay sharper.

The translation agency's quote approvals, by the numbers

Pulling this together, here's the illustrative agency's setup after two months:

  • Volume: about 260 quote requests a month. Word counts come from the file analysis, prices from a rate-card formula, and an AI step writes the email and the flag line.
  • Tooling: Zapier Human in the Loop with Slack notifications. Three project managers review, so the agency moved from Professional to Team (listed at $103.50 a month, or $69 billed annually, for 2,000 tasks).
  • Speed: median time from request to approval was 6 minutes during working hours; 4% hit the 4-hour timeout and were handled by phone.
  • Edits: reviewers edited 18% of emails, mostly tone and client-specific details; 3% were declined.
  • Catches: the most useful decline was a quote promising 2-day delivery on 12,000 words, which no translator could meet. The AI had copied a standard turnaround line. The fix was a formula-calculated delivery date passed into the prompt, so the AI stopped choosing one.

The design is close to the one in setting up an approval step for AI-written quotes, which goes deeper into quote-specific checks. For content rather than quotes, such as website posts, newsletters and social media, a draft, check and sign-off workflow fits better than a per-item approval.

When to take the human out

Approval steps shouldn't be permanent by default. Set criteria at the start for moving an action from "approve before" to "sample after":

  1. At least 200 consecutive approvals with no substantive edits, only tone tweaks.
  2. No declines for factual errors in the last eight weeks.
  3. Numbers, dates and prices come from systems or formulas, not the AI.
  4. The action's worst realistic mistake is cheap to fix with an apology.

Even then, don't remove the check entirely. Switch to reviewing a random one in ten after sending, and keep the planted-error test running. Actions involving money, legal commitments or deletions should keep a pre-approval indefinitely, with a value threshold if volume becomes a burden. Trying a change in parallel first, where the automation runs but a human still does the real work, is the safest way to test it; piloting AI in shadow mode explains how. And if you're building the AI steps themselves in Zapier, adding AI steps to Zapier covers the classify, summarise and draft steps that usually sit just before an approval.

Approval step questions

Does an approval step cost tasks or credits?

In Zapier, a Human in the Loop step counts as one task when it runs successfully; previews don't count. In Power Automate, the approval action counts towards your daily action allowance like any other action, which rarely matters at small-business volumes. In Make, a do-it-yourself approval uses a few extra credits for the modules that write the request and read the answer.

Can reviewers approve from their phone?

Yes, in all three approaches. Zapier's requests can go by email or Slack, both of which work on a phone. Power Automate approvals can be answered from Outlook, Teams or the Power Automate mobile app. A Make approval built on a shared sheet works from any phone that can edit the sheet. Test the mobile view before launch, because long AI outputs can be awkward to read on a small screen.

Should the person who wrote the prompt approve its outputs?

Not as the only reviewer, if you can avoid it. The author knows what the prompt was meant to do and tends to see that rather than what it actually produced. In a small team, rotate reviewers weekly or have the author review only for the first fortnight, then hand over to someone who deals with the customers or records the outputs affect.

Further reads

Sources: Zapier help articles on Human in the Loop (request approval, collect data); Microsoft Learn pages on Power Automate approvals and flow limits; Make apps documentation for Human in the Loop. Checked September 2026.

Want approval steps that people actually read?

On a 1:1 call we'll go through your automations, decide which steps need a human, design the approval messages and set timeouts and checks that suit your team.

Book a 1:1 call with me