
Use our n8n community node to include human reviews in 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!

Installation
Refer to the n8n documentation for instructions on how to install community nodes.
Our npm package name is
@gotohuman/n8n-nodes-gotohuman
Usage
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.
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.

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.

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 that you want to send with your review request, you can send the options
here. 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. Otherwise, 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.