Good automation does not mean that every step runs without human intervention. For tasks like sending messages to customers, changing important data, approving expenses, or publishing content, a single approval button is often safer than full automatic execution.
This is where the human-in-the-loop pattern comes in handy. Simply put, the n8n workflow continues to handle repetitive parts but pauses at certain points to request human decisions. Once approved, the process continues. If rejected, the workflow can cancel the action or send it back for revision.
Why is full automation not always ideal?
Machines are very good at following clear rules. For example, extracting data from forms, checking email formats, creating summaries, or moving data to spreadsheets. However, not all contexts can be reduced to simple rules.
For instance, a workflow receives a discount request from a customer. Technically, n8n can immediately calculate the discount percentage and send a response. The problem is, a long-time customer with a good payment history may deserve different treatment than a new customer with outstanding payments.
If all decisions are left to automatic rules, businesses can appear rigid or even incur losses. Conversely, if everything is done manually, the team will be busy copying data and checking minor details again.
The approval pattern sits in the middle: machines prepare the work, while humans make decisions that require context.
Which parts of the workflow should require approval?
Not every step needs an “approve” button. If there are too many pauses, automation can feel cumbersome. Use approvals primarily for actions that have real impacts, are difficult to reverse, or involve external parties.
- Sending external communications: promotional emails, WhatsApp messages, customer notifications, or public announcements.
- Changing important data: payment status, customer data, product prices, or inventory information.
- Making financial decisions: approving refunds, large discounts, purchases, or vendor payments.
- Publishing content: articles, social media posts, and promotional pages created from data or AI assistance.
- Executing irreversible actions: deleting data, closing tickets, canceling orders, or changing service configurations.
Conversely, processes like formatting dates, merging data, labeling, or sending internal reports typically do not need to wait for approval.
Basic human-in-the-loop pattern in n8n
An approval workflow generally consists of five parts:
- Trigger: the workflow receives data from a webhook, form, email, schedule, or other applications.
- Preparation: n8n cleans the data, retrieves additional information, and compiles a summary.
- Approval request: the system sends action details to the authorized person.
- Decision check: the workflow reads the response, such as approved, rejected, or needs revision.
- Execution: only approved decisions are forwarded to the final action.
For example, there is a refund request form. The workflow receives the form, looks up transaction details from the database, calculates the refund amount, and then sends the summary to the admin. The admin opens the approval link. If approved, n8n calls the payment API and changes the transaction status. If rejected, the customer receives a message with a prepared reason.
Don't just send an approve button
Poor approval requests make people approve something without really reading it. A message that simply says “Refund available. Approve?” does not provide enough context.
Each request should contain the minimum information needed to make a decision:
- Who or what data is affected.
- The action to be taken.
- The value or level of risk involved.
- The reason the workflow considers the action necessary.
- The deadline for the decision.
- The available options: approve, reject, or request revision.
If using AI assistance to create summaries, present the summary as a consideration, not as the sole truth. Source data should still be available so that the reviewer can perform checks if something seems off.
How to create an approval flow to try out
1. Start with a low-risk process
Choose a process that is currently often done manually but is not too difficult to test. For example, approval of customer reply drafts or approval of social media content.
2. Create a clear data format
Define from the start what information goes into the workflow. Use consistent field names like request_id, requester, amount, reason, and approval_status. A tidy structure will facilitate review and recording.
3. Separate preparation and execution
Do not mix data collection processes with final actions in one step without clear boundaries. Create a preparation section first, then pause at the approval point. Actions that change data or contact external parties should only proceed after the status is fully approved.
4. Set a deadline
Unanswered approvals should not be left hanging indefinitely. After a certain deadline, the workflow can change the status to expired, send reminders, or redirect the request to someone else.
5. Keep a record of decisions
Log who approved, when the decision was made, what the previous status was, and what actions were taken. This log is useful when mistakes occur or when the team wants to evaluate whether the automatic rules are correct.
Often forgotten: authorization
Approval links should not be considered secure just because their URLs are hard to guess. If anyone with the link can approve actions, the workflow is at risk of being misused.
Use verifiable reviewer identities. In practice, approvals can be linked to internal accounts, one-time tokens, or authentication mechanisms that align with the organization's system. Also, ensure that someone can only approve actions that are within their authority.
Do not place excessive confidential data in notification messages. Display enough information to make a decision, then direct the reviewer to an internal page if complete details require additional protection.
What does this mean for us?
Mature automation does not seek to eliminate all human decisions. The goal is to reduce mechanical work so that humans can focus on exceptions, considerations, and responsibilities.
Start by asking: “If the workflow incorrectly executes this step, how significant is the impact?” If the answer is significant or difficult to recover from, add an approval point. If the impact is minor and easily fixable, the process may be safe to run automatically.
With this approach, n8n is not just a tool for connecting applications. It becomes a working system that helps teams move faster without sacrificing control over decisions that truly matter.
– Rio Yotto @rioyotto
