Skip to main content
n8n Logo

Use our verified n8n node to add human approval steps to your AI workflows.

gotoHuman comes with many built-in features:

  • Ready-to-use web UI
    • Inbox
    • Customizable review interface
    • Controls to approve, reject, or edit AI outputs
    • Allow retries with instructions
    • Supports text, markdown, JSON, images, and more
  • Slack integration
  • Notifications
  • Response dataset to use as memory
  • And much more!
n8n Flow
note

If you need more control over the asynchronous flow, access to the review URL, or want to use the review response in a different workflow, use a HTTP + Webhook node as described here.

Prerequisites

Credentials

First off, you need to have a gotoHuman account. If you don't have one, you can sign up here. Find your API key in your dashboard and use it to set up the credentials in the node.

Set up the review

Also in gotoHuman, you need to create a review template.
You tailor it to your use case and add all the fields needed to capture content to review, any helpful context, and to collect additional input from the reviewer.

Note: In gotoHuman, set the webhook endpoint to be an adhoc URL. Our n8n node will pass along a dynamic URL with each request, that's generated for each run of your workflow.

n8n adhoc URL

Add the node

Our verified community node is approved by n8n and available for n8n cloud and self-hosted n8n instances.

From nodes panel (n8n cloud + self-hosted)

Simply search for 'gotoHuman' in the nodes panel and install it.

n8n Adding the gotoHuman node

From npm (self-hosted)

If you run a self-hosted n8n instance, you can also install the node from npm.
This way you can always update to the latest version of the node (n8n's verification process might delay updates to the forked version of our node that's installed from the nodes panel).

Our npm package name is

@gotohuman/n8n-nodes-gotohuman

More info on installing community nodes in the n8n docs.

Set up the node

Use our node to request a human review at any point in your AI workflow. It will wait until the review is completed, hours or even days later, and will then automatically continue.

caution

When passing multiple items from a previous node, please read how to pass multiple items.

In our n8n node, select your template from the provided list.

This will automatically fetch the fields and allow you to define the values or expressions you want to send for each field.

n8n Select Template
caution

When changing your review template at any time (e.g. add a field), you need to refresh the fields in the node

Enter values

Primitives

For many field types that you added to your review template, the input field in n8n will help you enter the correct values.

Objects / Arrays

For some fields, like images, links, checkboxes, or buttons, you will need to enter a value of type object or array. Construct it in your expression like this:
(Example for 'Links' which require an array of objects with url and label properties):

{{
[{
url: $('LeadGenParams').item.json.url,
label: "Analyzed Website"
}]
}}

Checkboxes, Dropdowns, and Buttons

Some fields for user input (checkboxes, dropdowns, and buttons) will also appear in the list of fields in n8n (and they are type object).
If you have a dynamic set of options to send with each review request, send as options. You can also set a preselected default value.
If you defined a fixed set of selectable options in the review template, you can still submit a default value in your request. If you don't need a default, you can remove the field from the list in the n8n node entirely.

{{
{
options: [
{
id: "choice1",
label: "Pick One"
},
{
id: "choice2",
label: "Pick Two"
}
],
default: "choice2"
}
}}

Enter meta data (optional)

You can optionally add additional data that you will receive back in the response. In n8n this will usually not be needed as the result of the review is handled in the same workflow and the data from the previous nodes is still available.

Assign users

Select whether you want everyone on your account to be able to complete the review or you want to assign only selected users.

Update review

When allowing reviewers to request a retry, you can update the review with the newly generated content and by entering/referencing its' ID in Update for Review ID (Add Additional Field).

Handle review responses

Very conveniently, this same node will wait for the completion of the review and output the result once it arrives.
This way, you can simply connect it to the next node in your workflow that is handling the review result.
Often this will be a conditional node that decides what to do next based on the review outcome. Mainly, whether response is approved or rejected.

See the structure of the output here.

note

To handle the review response in a different workflow, use a HTTP + Webhook node as described here.

Multiple items input

Just like other Human-in-the-Loop/sendAndWait nodes in n8n, it wouldn't work to provide multiple items as input as it would only resume the node once for the first response.
This is due to n8n's limitation that it does not allow splitting items into separate parallel execution paths.

If you have multiple items flowing in parallel, you have these options:

Split workflows

Create a separate workflow that starts with a "When executed by another workflow" trigger node (Choose "Accept all data"), followed by the gotoHuman node and the rest of your flow. Your original workflow with the multiple items ends with a "Execute Workflow" node (select the just created target workflow from the list and choose "Run once for each item")

n8n Split workflows 1 n8n Split workflows 2

Loop over items

If doing reviews sequentially one by one is fine, you can loop over the items ("Loop over Items" node). You'd start the loop before the gotoHuman node, incl. all nodes after it and connect the final node back to the loop input. The 'Done' branch wouldn't do anything.

n8n Loop over items

HTTP + Webhook

If you don't want to loop sequentially, but also don't want to create a separate workflow, you can use a HTTP and a Webhook node to basically split into multiple execution paths within the same workflow canvas.
You could use our approach described here, which calls our API directly. But if you still want to use our gotoHuman node, you could make the HTTP node simply call the URL of the new webhook node, passing along the relevant data. The webhook node would then point to the gotoHuman node.

n8n HTTP + Webhook

Soon: Wait for all reviews

We are working on providing an additional option that allows passing multiple items to our node. The node would then resume as soon as all reviews are completed and pass all review responses at once.