Skip to main content
The Human Review action pauses your workflow and sends a message to Slack, allowing a team member to approve, decline, or edit content before the workflow continues. This is essential for workflows requiring human oversight before taking high-stakes actions—like sending personalized outreach, updating CRM records, or executing financial operations.

How it works

  1. When the workflow reaches the Human Review node, it posts a message to your configured Slack channel
  2. The message displays your content along with three buttons: Approve, Decline, and Edit
  3. The workflow pauses and waits for a response
  4. Based on the response, the workflow continues down one of two branches

Configuration

PropertyDescription
ConnectorSelect your Slack integration. Make sure the Cargo bot is added to the target channel.
ChannelThe Slack channel or user DM where the review request will be posted.
TitleThe message title that appears in Slack. Supports expressions like {{input.company_name}} - Review.
ContentThe content to be reviewed. Displayed in a formatted block within the Slack message. Supports expressions for dynamic data.
TimeoutMaximum time to wait for a response before timing out. Defaults to 24 hours if not specified.

Workflow branches

The Human Review node has two output branches that you connect to different actions:

Approved branch

This branch executes when:
  • The reviewer clicks Approve
  • The reviewer clicks Edit, modifies the content, and submits
Available data:
ExpressionDescription
{{nodes.review.approved}}true
{{nodes.review.content}}The approved (or edited) content

Declined branch

This branch executes when:
  • The reviewer clicks Decline
Available data:
ExpressionDescription
{{nodes.review.approved}}false
{{nodes.review.content}}The content
Replace review with the actual name of your Human Review node.

The Edit feature

When a reviewer clicks Edit, Slack presents a modal with the content in an editable text field. The reviewer can:
  1. Modify the content (fix typos, adjust tone, add details)
  2. Submit the edited version
  3. The edited content is passed to the Approved branch
This is particularly useful for:
  • AI-generated content that needs polish
  • Personalized messages that need context only humans have
  • Legal or compliance-sensitive text requiring adjustments
Design your prompts expecting edits. Make content easy to scan and modify—use clear paragraphs and avoid overly long blocks.

Common use cases

AI-generated outreach review

Ensure AI-written emails meet quality standards before sending:
1. Model Ask → Generate personalized email
2. Human Review → Sales rep approves/edits
   ├─ Approved → Send Email → Log activity
   └─ Declined → Log skip reason

CRM updates requiring approval

Gate important CRM changes behind human review:
1. Score Lead → Calculate new tier
2. Branch → Check if tier changed significantly
3. Human Review → Manager approves tier change
   ├─ Approved → Update Salesforce → Notify team
   └─ Declined → Keep current tier

High-value deal processing

Add oversight to workflows handling significant transactions:
1. Trigger: New opportunity > $100k
2. Compile deal summary
3. Human Review → Deal desk reviews terms
   ├─ Approved → Generate contract → Notify legal
   └─ Declined → Return to sales with feedback

Content moderation

Review user-generated or AI-generated content before publishing:
1. Receive content submission
2. AI screening for issues
3. Human Review → Content team final check
   ├─ Approved → Publish content
   └─ Declined → Send rejection notice

Setting up Slack integration

Before using Human Review, configure your Slack integration:

1. Add the Cargo app to Slack

  1. Go to Settings → Integrations in Cargo
  2. Click Add Integration and select Slack
  3. Authorize Cargo to access your workspace

2. Add Cargo to your channel

The Cargo bot must be a member of any channel where you want to send review requests:
  1. Open the target Slack channel
  2. Type /invite @Cargo or click the channel settings
  3. Add Cargo as a member

3. Configure the Human Review node

  1. Select your Slack connector
  2. Choose the channel (or search for a user for DMs)
  3. Set up your title and content
If Cargo isn’t added to a channel, the Human Review will fail with a “channel not found” error.

Timeout handling

If no one responds within the timeout period:
BehaviorWhat happens
DefaultWorkflow fails with a timeout error
With error handlingYou can catch the timeout and route to a fallback path
Common timeout strategies:
  • Auto-approve: Continue with original content after timeout
  • Escalate: Post to a different channel or manager
  • Retry: Send another review request
  • Cancel: Abort the workflow gracefully
Set realistic timeouts based on your team’s response patterns. 24 hours works for daily review workflows; shorter timeouts for time-sensitive operations.

Best practices

Include all information reviewers need to make a decision: company name, deal size, contact info, and what action will be taken on approval. Don’t make reviewers hunt for context.
The title appears as the main header in Slack. Make it scannable: `“Acme Inc
  • Outreach Email Review”is better than”Please review”`.
Use line breaks and structure in your content. Reviewers should immediately understand what they’re approving.
Create dedicated review channels for different workflows (e.g., #outreach-review, #deal-approvals). This keeps reviews organized and routes to the right people.
Always define what happens on decline. Even if it’s just logging the rejection, explicitly handle the declined path.
Match timeouts to your use case. Same-day outreach needs shorter timeouts than weekly report approvals.

Example: Outreach email approval workflow

A complete workflow for reviewing AI-generated outreach:

1. Start node

Receives lead data:
{
  "contact_name": "Sarah Chen",
  "company": "TechCorp",
  "email": "[email protected]",
  "pain_point": "manual data entry"
}

2. Agent node

Generates personalized email:
Write a short, friendly outreach email to {{node.start.contact_name}}
at {{node.start.company}} addressing their challenge with {{node.start.pain_point}}.
Keep it under 100 words.

3. Human Review node

Configuration:
  • Channel: #sales-outreach-review
  • Title: {{node.start.company}} - {{node.start.contact_name}} Outreach
  • Content: {{nodes.agent.response.answer}}
  • Timeout: 4 hours
Slack message appears as:
TechCorp - Sarah Chen Outreach Hi Sarah, I noticed TechCorp might be dealing with manual data entry challenges. We’ve helped similar teams cut data processing time by 60%… [Approve] [Edit] [Decline]

4. Approved branch

Send Email → {{node.start.email}}
Subject: Quick note about data automation
Body: {{nodes.review.content}}