Stepthrough Start free

n8n Send and Wait for Approval: A Human Yes in Gmail

Quick answer

n8n's Gmail action Send message and wait for response emails someone and pauses the workflow until they answer. With Response Type set to Approval, the email has approve (and optionally decline) buttons, and the workflow continues with their decision. The free Invoices from Your Inbox to Google Sheets, with Approval lesson uses it so invoices over $1,000 wait for the owner's yes.

Last updated

Take the free module →Module 13 of the free AI for Accounting & Bookkeeping Firms course, about 14 minutes. No account needed.

n8nGmailHuman in the loopApprovals

When should a workflow wait for a person?

When the next step spends money, sends something important or can't be undone. That's human-in-the-loop automation: the machine does the gathering and typing, a person makes the call.

In the lesson, Cobalt Street Architects (a made-up firm) logs every vendor invoice automatically, and only the big ones need Lena, the owner, to approve them. Small invoices never bother her.

How is the workflow built?

StepNodeSetting
1Gmail TriggerCatches invoice emails with a PDF
2Extract from FileTurns the PDF into text
3Information Extractorvendor, invoice_number, invoice_date, due_date, total
4Google Sheets: Append row in sheetLogs Vendor, Invoice #, Total in Invoices 2026
5Iftotal is greater than 1000 (Number)
6Gmail: Send message and wait for responseOn the true branch only

How do you set up the approval email?

  1. Click the + on the true output of the If node, click Gmail, then Send message and wait for response.
  2. In To, put the approver's email.
  3. Paste the Subject: Approve invoice {{ $('Information Extractor').item.json.output.invoice_number }} from {{ $('Information Extractor').item.json.output.vendor }}?
  4. Response Type is already Approval. Paste the Message, which lists vendor, invoice number, total and due date, and says it's already logged.

The message pulls every value from the Information Extractor by name, because the node just before it is the If. See n8n Reference a Previous Node.

What does the approver see?

An email with the details and a button to approve. You can set the approval type to approve only, or approve and disapprove, so a "no" can take its own path. Their click goes back to n8n, which resumes the workflow with the answer.

What happens while it waits?

The execution pauses at the Gmail node. Nothing after it runs until the person answers. You can add a limit on the wait time so a forgotten approval doesn't wait forever, then decide what a timeout means: remind someone, or treat it as not approved.

Try it free, step by step

Invoices from Your Inbox to Google Sheets, with Approval. Build an n8n workflow that reads each vendor invoice PDF from Gmail with AI, logs the vendor, invoice number and total in Google Sheets, and emails the owner an Approve button for anything over… You do every step yourself in a practice copy of n8n, it checks your work as you go, and “Do it for me” finishes any step you get stuck on. Free, and nothing touches your real accounts.

Start the free lesson

Or read the full step-by-step guide

How do I test it?

Pin a test invoice to the trigger and Extract from File (the lesson does this) and click Execute workflow. Use an invoice over $1,000 so the true branch runs, and send the approval to your own address while testing. Approve it and watch the execution finish.

What could you add next?

  • After approval, write "Approved" and the date into the sheet row.
  • On a decline, email the bookkeeper with the reason.
  • Route by amount with a Switch: under $1,000 log only, $1,000 to $5,000 to the manager, above that to the owner. That's an approval threshold.

Key takeaways

  • Send message and wait for response pauses the workflow until a person answers.
  • Response Type: Approval adds approve (and optionally decline) buttons.
  • Put the approval on the If node's true branch so only big items wait.
  • Set a wait-time limit and decide what a timeout means.

Frequently asked questions

Can n8n wait for an email approval?

Yes. Gmail's Send message and wait for response action pauses the workflow and resumes when the recipient responds.

Does the workflow keep running while it waits?

No. That execution pauses at the waiting node. New executions for other invoices still start as normal.

What if nobody responds?

Add a wait-time limit in the node's options and handle the timeout, for example with a reminder email.

Which course is this from?

AI for Finance Teams, AI Back Office for Small Business and AI Governance for Small Business. The glossary entry on approval workflows gives the background.

Free lessons in this post

Plain-English definitions, each with an example from a free lesson.

The full AI glossary

All free prompt templates

Keep reading

All blog posts · All free tutorials