Guides

Zapier

Add human review to your Zapier workflows.

Zapier connects your apps and automates workflows. This guide shows how to add human-in-the-loop review using Datashift's REST API with Webhooks by Zapier.

What you'll build

A workflow that captures form submissions and routes them through human review before adding to your CRM.

Prerequisites

  • A Datashift account with an API key
  • A Zapier account (Professional plan or higher for Webhooks)
  • A review queue created in Datashift

Architecture

The integration uses two Zaps:

1. Submit Zap

Captures data from your trigger app and submits it to Datashift for review.

2. Webhook Zap

Receives the review result from Datashift and continues the workflow.

Step 1: Create Webhook Zap

First, create a Zap to receive the review result:

1

Create a new Zap

Click "Create Zap" in your Zapier dashboard

2

Choose Webhooks by Zapier as trigger

Select "Catch Hook" as the trigger event

3

Copy the webhook URL

Zapier generates a unique URL like https://hooks.zapier.com/hooks/catch/...

4

Add Filter and Action steps

Filter by approval status, then add your CRM or notification action

Step 2: Register Webhook in Datashift

Go to Settings → Webhooks in Datashift:

URLhttps://hooks.zapier.com/hooks/catch/...
Eventstask.reviewed

Test the webhook by submitting a sample task so Zapier can detect the payload structure.

Step 3: Create Submit Zap

Create a second Zap that submits tasks for review:

Choose Your Trigger

Select your trigger app (e.g., Typeform, Google Forms, Airtable) and configure it.

Add Webhooks by Zapier Action

Add an action step using "Webhooks by Zapier" with event type "Custom Request".

MethodPOST
URLhttps://api.datashift.io/v1/task
Payload TypeJson

Headers

AuthorizationBearer your_api_key
Content-Typeapplication/json

Data (JSON)

json
{
  "queue_key": "form-submissions",
  "data": {
    "name": "{{name}}",
    "email": "{{email}}",
    "company": "{{company}}",
    "message": "{{message}}"
  },
  "metadata": {
    "zap_id": "{{zap_id}}",
    "submission_id": "{{id}}"
  },
  "summary": "Review submission from {{name}} at {{company}}"
}

Map fields from your trigger step using Zapier's field picker.

Step 4: Configure Filter Step

In your webhook Zap, add a Filter step to route based on the review result:

For Approved Tasks

Filter condition:

data.reviews[].result (Text) Contains approved

Then add your CRM action (e.g., Create HubSpot Contact).

For Rejected Tasks

Create a separate Zap with the same webhook trigger but filter for "rejected" to send notifications.

Alternative: Using Paths

With Zapier's Paths feature (Professional plan), you can handle both outcomes in one Zap:

Webhook TriggerPaths
Path A:If approved → Add to CRM
Path B:If rejected → Send Slack notification

Complete Example

Here's how the complete flow looks:

Submit Zap

Typeform: New EntryWebhook: POST to Datashift

Webhook Zap

Catch HookFilter: ApprovedHubSpot: Create Contact

Webhook Payload Structure

The webhook sends this payload when a review completes:

json
{
  "event": "task.reviewed",
  "timestamp": "2026-02-26T10:35:00Z",
  "data": {
    "task": {
      "id": "task_abc123",
      "external_id": "sub_789",
      "state": "reviewed",
      "summary": "Review submission from Jane Smith at Acme Inc",
      "data": {
        "name": "Jane Smith",
        "email": "jane@company.com",
        "company": "Acme Inc",
        "message": "Interested in your product"
      },
      "metadata": {
        "zap_id": "12345",
        "submission_id": "sub_789"
      },
      "sla_deadline": null,
      "reviewed_at": "2026-02-26T10:35:00Z",
      "created_at": "2026-02-26T10:30:00Z"
    },
    "queue": {
      "key": "form-submissions",
      "name": "Form Submissions",
      "review_type": "approval"
    },
    "reviews": [{
      "result": ["approved"],
      "data": {},
      "feedback": "Good lead, add to sales pipeline",
      "reviewer": { "name": "Sales Team", "type": "human" },
      "created_at": "2026-02-26T10:35:00Z"
    }]
  }
}

Tips

Test the webhook first

Submit a sample task to Datashift and complete a review so Zapier can detect all available fields.

Use Formatter for data transformation

Add Formatter steps to extract or transform data from the nested JSON payload before using in actions.

Store IDs for correlation

Include the original submission ID in metadata to link the review result back to the source record.

Consider Zapier Tables

Use Zapier Tables to store pending submissions and update them when reviews complete.