How it works
- When the workflow reaches the Human Review node, it posts a message to your configured Slack channel
- The message displays your content along with three buttons: Approve, Decline, and Edit
- The workflow pauses and waits for a response
- Based on the response, the workflow continues down one of two branches
Configuration
| Property | Description |
|---|---|
| Connector | Select your Slack integration. Make sure the Cargo bot is added to the target channel. |
| Channel | The Slack channel or user DM where the review request will be posted. |
| Title | The message title that appears in Slack. Supports expressions like {{input.company_name}} - Review. |
| Content | The content to be reviewed. Displayed in a formatted block within the Slack message. Supports expressions for dynamic data. |
| Timeout | Maximum 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
| Expression | Description |
|---|---|
{{nodes.review.approved}} | true |
{{nodes.review.content}} | The approved (or edited) content |
Declined branch
This branch executes when:- The reviewer clicks Decline
| Expression | Description |
|---|---|
{{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:- Modify the content (fix typos, adjust tone, add details)
- Submit the edited version
- The edited content is passed to the Approved branch
- AI-generated content that needs polish
- Personalized messages that need context only humans have
- Legal or compliance-sensitive text requiring adjustments
Common use cases
AI-generated outreach review
Ensure AI-written emails meet quality standards before sending:CRM updates requiring approval
Gate important CRM changes behind human review:High-value deal processing
Add oversight to workflows handling significant transactions:Content moderation
Review user-generated or AI-generated content before publishing:Setting up Slack integration
Before using Human Review, configure your Slack integration:1. Add the Cargo app to Slack
- Go to Settings → Integrations in Cargo
- Click Add Integration and select Slack
- 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:- Open the target Slack channel
- Type
/invite @Cargoor click the channel settings - Add Cargo as a member
3. Configure the Human Review node
- Select your Slack connector
- Choose the channel (or search for a user for DMs)
- Set up your title and content
Timeout handling
If no one responds within the timeout period:| Behavior | What happens |
|---|---|
| Default | Workflow fails with a timeout error |
| With error handling | You can catch the timeout and route to a fallback path |
- 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
Best practices
Provide rich context in the message
Provide rich context in the message
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.
Use descriptive titles
Use descriptive titles
The title appears as the main header in Slack. Make it scannable: `“Acme Inc
- Outreach Email Review”
is better than”Please review”`.
Format content for readability
Format content for readability
Use line breaks and structure in your content. Reviewers should immediately
understand what they’re approving.
Route to the right channel
Route to the right channel
Create dedicated review channels for different workflows (e.g.,
#outreach-review, #deal-approvals). This keeps reviews organized and
routes to the right people.Handle both branches
Handle both branches
Always define what happens on decline. Even if it’s just logging the
rejection, explicitly handle the declined path.
Set appropriate timeouts
Set appropriate timeouts
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:2. Agent node
Generates personalized email: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
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]

