Blog

Building Human in the Loop Automations with BuildShip

Tutorial

·

Sep 1, 2025

Modern automation is powerful but sometimes, nothing beats a human touch. With BuildShip’s new Human in the Loop (HITL) nodes for Email and Slack, you can seamlessly pause workflows for human review or input and then resume automatically.

It’s the best of both worlds - efficiency powered by automation, paired with human insight when it matters.

Human In The Loop

Automation is powerful, but sometimes, you don’t want everything to run on autopilot. Some workflows need a human decision before they can proceed: a manager approving an expense, a support agent reviewing an AI-generated reply, or a compliance officer checking a contract draft.

That’s where Human in the Loop (HITL) nodes come in. With BuildShip, you can pause your automation at exactly the right moment, collect a decision from a human, and resume seamlessly, without extra credits.

We now support two delivery channels for Human in the Loop:

  • Slack HITL node → approval requests delivered inside Slack

  • Email HITL node → approval requests delivered via email

How Human in Loop Works?

  1. Automation runs → Workflow reaches the HITL node.

  2. Slack message sent → The node posts to your configured channel.

  3. Workflow pauses → Execution is halted until a response is received.

  4. Human decides → Approve/Reject or fill structured data.

  5. Workflow resumes → The decision becomes the node’s output for downstream steps.

Setting Up Human in the Loop

Before we jump into building workflows, let’s get the Human in the Loop node connected. Don’t worry, it only takes a minute.

Slack HITL Setup

  • Add the Node

    In your BuildShip workflow, search for “Human in the Loop” in the node library and drop in the Slack HITL node.


  • Authenticate Slack

    You’ll notice a little red fingerprint icon on the node, that means you’re not authenticated yet. Click it, connect your Slack account, and watch it turn green. That’s your sign the bot is now linked to your workspace.


  • Pick Your Channel

    From the dropdown inside the node, select the Slack channel where you want HITL messages delivered.


  • Add the Bot to Slack

    Head to that Slack channel → click the channel name → Integrations → Add apps → search for BuildShip Agent Bot.


    Add it to the channel, and you’re good to go.

NOTE: In case you wish to select a different channel, follow the steps mentioned above for that channel as well. We need to add BuildShip Agent Bot to all the channels you wish to support.

Now, any workflow paused by the HITL node will show up right in Slack, ready for approval.


Email HITL Setup

Email HITL is even simpler, there’s nothing to install. Just add the Email Human in the Loop node to your workflow, type in the recipient’s email, and you’re ready to send approvals over email.


Node Configuration

Both HITL nodes (Slack & Email) follow the same idea, but with slightly different flavors.

Here’s what you can configure:

Inputs

  • Subject → The title/heading of your HITL request (appears as message subject in Slack or email subject line).

  • Context → Background info or details to help the reviewer make a decision. Supports Markdown (Slack) and HTML (Email), so you can format text nicely.

  • Question → The actual decision point. For example: “Do you approve this response?”

  • Response Type → Two options:

    • Conditional (Yes/No) → Reviewer clicks a button to approve or reject.

    • Structured (JSON) → Reviewer provides a structured free-text response, validated against your schema. Great for collecting specific input.

  • Dynamic Options (based on response type):

    • For Conditional: Customize the Yes and No button labels.

    • For Structured: Define a JSON Schema to capture the response format.

  • Customization Options: Add one or more images to provide extra context.


This is what the Slack message structure looks like. To modify, edit any of these given inputs.

And, here's the format for the Email message.

Outputs

Once the human responds, the node resumes your workflow. The output contains the response data:

  • For Conditional → {"conditional": true/false"}

  • For Structured → A structured JSON object matching your schema


Tutorial: Managing New Contacts with Human-in-the-Loop Automation

When you’re running a creator platform, new applications can come in fast, and not every one of them is straightforward. Some look great, some are clearly spam, and some need a quick human gut-check before moving forward. That’s exactly where a Human in the Loop (HITL) automation can help.

In this tutorial, we’ll build a simple workflow that takes an email address from a new creator, researches their background, generates a profile summary, and finally asks a human reviewer to approve or reject it in Slack.

Let’s walk through building a complete HITL workflow in BuildShip. The goal:

  • Take in a creator’s email address

  • Gather their public profile data

  • Summarize it into a clean profile

  • Send it to Slack (or Email) for review

  • Approve/Reject with one click

STEP 1: Add an Email Input

Start by creating a new workflow and adding an Input. Call it Email.

This is where you’ll provide the creator’s email address. Everything else in the workflow will branch out from here.

STEP 2: Gather Public Data with Perplexity AI

Next, open the Node Explorer and add the Perplexity AI Search node. This will look up all public references for the given email.

Configuration:

  • Instructions:

    You will be provided with an email address for a potential creator applicant. Search for all *public* references to this email online.  
    
    1. First, check if the email is associated with public profiles (LinkedIn, GitHub commits, Twitter/X, Medium, Substack, personal websites).  
    2. If found, provide the name and profile URLs.  
    3. Summarize the person’s professional and educational background based only on those verified profiles.  
    4. Include any blogs, projects, or publications that list this email.  
    5. If no results exist, clearly state “No public information found.  
    
    Do not speculate. Only return information directly linked to this email. Include sources
    
    
  • Prompt: Select the Email context variable.

  • Model: sonar-reasoning-pro

  • Disable Search: False

👉 Best part: this node is keyless by default. You can run it using your BuildShip credits (token-based), or bring your own Perplexity API key if you prefer.

STEP 3: Summarize into a Creator Profile

Now, add an OpenAI Text Generator node. This will turn the raw Perplexity output into a clean, readable summary.

Configuration:

  • Instructions:

    You will be given scraped profile details of a potential creator for the platform. Your task is to summarize their profile in a clear, concise format that can be sent for review.  
    
    Respond with just the profile summary and nothing else
    
    
  • Model: gpt-5

  • Max Tokens: 8000

👉 Best part: this node is keyless by default. You can run it using your BuildShip credits (token-based), or bring your own Perplexity API key if you prefer

STEP 4: Add Human in the Loop (Slack or Email)

At this stage, you’ve got a nice profile summary. Time to pass it to a human.

Add a Human in the Loop node and pick either Slack or Email:

  • Slack: configure channel + add the BuildShip Agent Bot (see setup section above).

  • Email: just type in the recipient address.

  • Set Response Type → Conditional for simple Approve/Reject buttons.

  • Inputs to configure:

    • Subject: “New Creator Profile Needs Review”

    • Context: Output from the Creator Profile Summary node.

    • Question: “Do you approve this creator application?”

🌟 PRO: If you need richer inputs (like a JSON schema with tags, comments, or extra notes), switch the Response Type from Conditional to Structured. But for most cases, simple Approve/Reject buttons are all you need.

STEP 5: Branch the Workflow

Now add a Branch node. This will check the HITL response and output accordingly:

If Approved: Add an output node to return a custom response like:

If Rejected: Add an output node to return:

STEP 6: Add a Trigger

Decide how new profile submissions will enter your workflow. The simplest option is a REST API Call.

  • Go to Connect tab → Add Rest API Call

  • Path: /creator/create

  • Method: GET

  • Map query param → email

Now you can trigger this workflow by calling:

GET https://api.buildship.run/creator/create?email=test@example.com

STEP 7: Test It Out

Human in the Loop nodes can’t be tested directly inside the workflow builder (since they pause until a human responds). Instead:

  1. Click Ship to deploy the workflow.

  2. Use Postman, Hoppscotch, or even just your browser to fire the GET request.

  3. Watch your Slack (or Email) for the HITL approval message.

Done 🎉

You’ve now built a semi-automated creator profile approval pipeline:

  • AI handles research + summarization

  • Human reviewers approve or reject with one click

For a head start, check out our pre-made templates:


Best Practices for Using HITL

  • Keep context clear: Include all relevant info in the Slack/email (customer message, AI draft, risk score, screenshots).

  • Make decisions easy: Use short, actionable labels for buttons (e.g., “Approve Refund” vs “Yes”).

  • Use structured input → Great for collecting form-like data, this internally classifies the data into the given JSON structure.

  • Log decisions → Store outputs in your database or CRM for future audits.

Real World Use Cases

So when do you actually need a Human in the Loop node? Let’s look at a few real-world scenarios.

Customer Support QA Agent

Imagine your AI helpdesk drafts a reply for a frustrated customer. Pretty good, but not always perfect.

With a HITL node, the draft gets routed to Slack or email before it’s sent. A support agent quickly approves it, or tweaks a line or two, and only then does the reply go out. Fast for the agent, safe for the customer.

Expense Approval Agent

Picture this: an employee files an expense claim for a new laptop. Instead of the request disappearing into an email inbox for days, the workflow pings the manager in Slack.

One click on Approve or Reject, and the workflow moves on, finance gets notified instantly. No chasing, no bottlenecks.

Hiring Process

Recruiting often involves endless back-and-forth. With HITL, once a workflow shortlists candidates, the team lead gets a structured approval request: add notes, rate the candidate, or mark them for an interview.

All without leaving Slack or email. Feedback stays organized, and decisions don’t get lost in threads.

Content Moderation

Let’s say your platform automatically flags user uploads that might break guidelines. Before pulling the trigger, a HITL node drops the flagged content into Slack with a preview image.

A moderator gives the thumbs up (safe) or thumbs down (remove). The automation enforces the decision, but the human makes the judgment call.

Advanced Use Cases

  • Multi-step Approvals: Chain multiple HITL nodes (e.g., first Slack manager approval, then email compliance review).

  • Data Validation: With structured responses, you can ensure reviewers give inputs that match a JSON schema (e.g., budget limit must be a number).

  • AI + HITL: Combine AI generation (emails, contracts, support replies) with HITL to make humans the final QA step.

Conclusion

And that’s it! You’ve just built a full Human in the Loop workflow from scratch. With a single email as input, the system researches public profiles, drafts a clean summary, and neatly pauses for a human thumbs-up (or down) in Slack or Email.

The beauty of this setup is balance:

  • AI does the grunt work: finding, summarizing, and formatting.

  • 🙋 Humans do the judgment calls: quick, context-rich approvals without ever leaving Slack or your inbox.

From here, you can take it even further:

  • Auto-notify creators with a welcome email when approved.

  • Push accepted profiles into Notion, Airtable, or your CRM.

  • Collect richer responses with structured HITL inputs.

Whether you’re screening creators, moderating content, or just adding a sanity check into any workflow, Human in the Loop keeps your automation safe, accountable, and team-friendly.

You might also like