Make
Add human review to your Make scenarios.
Make (formerly Integromat) is a visual automation platform. This guide shows how to add human-in-the-loop review to your scenarios using Datashift's REST API and webhooks.
What you'll build
A scenario that generates AI content and routes it through human review before publishing.
Prerequisites
- •A Datashift account with an API key
- •A Make account (free tier works)
- •A review queue created in Datashift
Architecture
The integration uses two Make scenarios:
1. Submit Scenario
Processes data and submits it to Datashift for review.
2. Webhook Scenario
Triggered when the review completes, continues the workflow.
Step 1: Create Webhook Scenario
First, create a scenario that will receive the review result:
Create a new scenario
Click "Create a new scenario" in Make
Add a Webhooks trigger
Search for "Webhooks" and select "Custom webhook"
Create and copy the webhook URL
Click "Add", name it "Datashift Review", and copy the URL
Add a Router module
Route based on approval status to different actions
Step 2: Register Webhook in Datashift
Go to Settings → Webhooks in Datashift:
Save the signing secret for webhook verification.
Step 3: Create Submit Scenario
Create a second scenario that submits tasks for review:
Add HTTP Module
Search for "HTTP" and select "Make a request".
Headers
Request Body
{
"queue_key": "content-review",
"data": {
"content": "{{1.content}}",
"platform": "{{1.platform}}",
"scheduled_time": "{{1.scheduled_time}}"
},
"metadata": {
"make_execution_id": "{{executionId}}",
"source_module": "{{1.module}}"
},
"summary": "Review content for {{1.platform}}"
}Use Make's variable picker to map fields from previous modules.
Step 4: Configure the Router
In your webhook scenario, add a Router module after the webhook trigger:
Approved Route
Filter condition:
{{data.reviews[0].result}} Contains "approved"Connect to your publishing module (e.g., post to social media).
Rejected Route
Filter condition:
{{data.reviews[0].result}} Contains "rejected"Connect to notification module (e.g., send Slack message).
Complete Example
Here's how the complete flow looks:
Submit Scenario
Webhook Scenario
Accessing Review Data
The webhook payload includes the complete task and review data:
{
"event": "task.reviewed",
"timestamp": "2026-02-26T10:35:00Z",
"data": {
"task": {
"id": "task_abc123",
"external_id": null,
"state": "reviewed",
"summary": "Review content for Twitter",
"data": { "content": "...", "platform": "twitter" },
"metadata": { "make_execution_id": "exec_xyz" },
"sla_deadline": null,
"reviewed_at": "2026-02-26T10:35:00Z",
"created_at": "2026-02-26T10:30:00Z"
},
"queue": {
"key": "content-review",
"name": "Content Review",
"review_type": "approval"
},
"reviews": [{
"result": ["approved"],
"data": {},
"feedback": "Looks good, ready to publish",
"reviewer": { "name": "Jane Smith", "type": "human" },
"created_at": "2026-02-26T10:35:00Z"
}]
}
}Access fields like {{data.reviews[0].feedback}} in subsequent modules.
Tips
Include execution context
Store the Make execution ID in metadata to correlate webhook responses with original runs.
Use Data Stores for state
If you need to preserve data between the submit and webhook scenarios, use Make's Data Stores feature.
Set up error handling
Add error handlers to your HTTP module to catch API failures and retry or alert.
Test with sample data
Use Make's "Run once" feature to test individual modules before activating the full scenario.