Zapier & Make

Connect Inherit to your stack

Use Inherit's webhook to trigger handoff creation from Zapier, Make (Integromat), or any automation tool — no code required. Connect to 6,000+ apps including HubSpot, Salesforce, Slack, Notion, and more.

How it works

Inherit exposes a single webhook endpoint that accepts an array of accounts and creates a full handoff — complete with AI-generated briefs — in one request. Point any automation tool at this URL and Inherit handles the rest.

Data flow

Your CRM / HRISZapier / MakeInherit webhookAI briefs ready

The webhook endpoint requires an Enterprise plan. Get your webhook key from Integrations settings.

Webhook endpoint

Enterprise

Send a POST request to this URL with your accounts and Inherit will create the handoff and generate briefs automatically.

POST https://www.useinherit.com/api/webhooks/rep-change

Required headers

Content-Type: application/json
x-inherit-signature: <hex(HMAC-SHA256(WEBHOOK_SECRET_KEY, raw_body))>

Compute the signature server-side using your WEBHOOK_SECRET_KEY (separate from webhook_key). Both are issued from Integrations settings. We never accept secrets in the URL or query string — those leak into proxy logs, CDN logs, and browser referrer headers.

Request body (JSON)

{
  "webhook_key": "wk_your_user_webhook_key",
  "handoff_name": "Q2 West Coast Transition",
  "accounts": [
    {
      "account_name": "Acme Corp",        // required
      "industry": "SaaS",                 // optional
      "annual_revenue": "1200000",        // optional
      "last_contact": "2024-11-15",       // optional — ISO date
      "website": "acme.com",              // optional
      "deal_stage": "Renewal",            // optional
      "key_contact": "Jane Smith, CFO"    // optional
    }
  ]
}

Response (200 OK)

{
  "handoff_id": "abc-123-...",
  "handoff_url": "https://www.useinherit.com/dashboard/handoff/abc-123-...",
  "brief_count": 12,
  "results": [
    { "success": true,  "account_name": "Acme Corp" },
    { "success": false, "account_name": "Bad Corp", "error": "..." }
  ]
}

Setting up in Zapier

1

Create a new Zap

Go to zapier.com and click Create Zap. Choose your trigger app — typically HubSpot, Salesforce, or a Google Sheet.
2

Configure your trigger

Set the trigger event to fire when a rep change happens. Examples:
  • HubSpot: Deal property changed (owner → new owner)
  • Salesforce: Updated Record on Opportunity (OwnerId changed)
  • Google Sheets: New or Updated Row when rep column changes
3

Add a Webhooks by Zapier action

Search for Webhooks by Zapier and select the POST action.
4

Configure the webhook

  • URL: https://www.useinherit.com/api/webhooks/rep-change
  • Payload type: json
  • Headers: add x-inherit-signature with a hex HMAC-SHA256 of the raw body, signed with your WEBHOOK_SECRET_KEY. Zapier's Code by Zapier step can compute the signature in two lines (see snippet below).
  • Data: Map fields from your trigger to the Inherit schema (see example below)

Tip: insert a Code by Zapier (Run JavaScript) step before the webhook to build the signed payload, then pass output.body and output.signature into the POST step.

// Code by Zapier — Run JavaScript
const crypto = require('crypto')
const body = JSON.stringify({
  webhook_key: inputData.webhook_key,
  handoff_name: inputData.handoff_name,
  accounts: JSON.parse(inputData.accounts_json),
})
const signature = crypto
  .createHmac('sha256', inputData.webhook_secret_key)
  .update(body)
  .digest('hex')
return { body, signature }
5

Map your CRM fields

Use Zapier's field mapper to build the JSON body. Map CRM fields to Inherit account fields:
{
  "webhook_key": "wk_your_webhook_key_here",
  "handoff_name": "{{deal_owner}} territory — {{today}}",
  "accounts": [
    {
      "account_name": "{{company_name}}",
      "annual_revenue": "{{arr}}",
      "last_contact": "{{last_activity_date}}",
      "deal_stage": "{{deal_stage}}",
      "key_contact": "{{contact_name}}"
    }
  ]
}

Tip:For multi-account handoffs, use Zapier's Looping by Zapier action to collect multiple accounts before sending a single webhook request.

Setting up in Make (Integromat)

1

Create a new scenario

Go to make.com and click Create a new scenario.
2

Add your trigger module

Add a trigger from your CRM or data source — HubSpot, Salesforce, Airtable, or Google Sheets all work well. Configure it to watch for rep ownership changes or a specific filter condition.
3

Add an HTTP module

Add an HTTP → Make a request module and configure it:
  • URL: https://www.useinherit.com/api/webhooks/rep-change
  • Method: POST
  • Body type: Raw
  • Content type: application/json
  • Custom headers: add x-inherit-signature set to{{sha256(body; "hex"; webhook_secret_key)}}using Make's built-in sha256 HMAC function (Tools → Set variable to compute it once and reference it).
4

Build the JSON body

In the request body, use Make's variable mapping to insert values from the trigger module:
{
  "webhook_key": "wk_your_webhook_key_here",
  "handoff_name": "{{1.ownerName}} territory handoff",
  "accounts": [
    {
      "account_name": "{{1.companyName}}",
      "annual_revenue": "{{1.arr}}",
      "last_contact": "{{formatDate(1.lastActivityDate; 'YYYY-MM-DD')}}",
      "deal_stage": "{{1.dealStage}}"
    }
  ]
}
5

Test and activate

Click Run once to test with live data. Verify the handoff appears in your Inherit dashboard. Once confirmed, turn the scenario on.

Popular automation ideas

Common workflows teams build with Inherit + Zapier or Make:

🔄

Rep change → auto handoff

When a deal owner changes in HubSpot or Salesforce, instantly generate account briefs for the incoming rep.

TriggerHubSpot: Deal owner updated
ActionInherit: Create handoff via webhook
ActionSlack: Notify incoming rep with brief link
📋

Google Sheets → bulk briefs

Paste a territory list into a Google Sheet and trigger Inherit to generate briefs for every account automatically.

TriggerGoogle Sheets: New row added to territory tab
ActionInherit: Create handoff via webhook
ActionGoogle Sheets: Update row with handoff URL
📅

QBR prep automation

On a schedule before each QBR, pull key accounts from your CRM and generate fresh briefs for the review.

TriggerSchedule: 3 days before QBR date
ActionSalesforce: Get accounts by segment
ActionInherit: Create handoff via webhook
ActionEmail: Send brief link to account team
🚀

Onboarding → account context

When a new CS rep is onboarded, automatically generate briefs for their assigned accounts from your CRM.

TriggerBambooHR / Rippling: New hire marked active
ActionHubSpot: Get accounts owned by that rep
ActionInherit: Create handoff via webhook
ActionNotion: Create onboarding page with brief link

Receiving results back

After Inherit generates your briefs, you can use the returned handoff_url to notify the incoming rep. Add additional actions in your Zap or Make scenario after the webhook call:

💬
SlackPost the handoff_url to a channel or DM the incoming rep directly.
📧
EmailSend the brief link via Gmail, Outlook, or any email app.
📝
Notion / ConfluenceCreate a new page and embed the handoff URL in the rep's onboarding doc.
📌
HubSpot / Salesforce notePush the handoff URL back as a CRM note on the deal or company record.

Troubleshooting

401 Unauthorized — Invalid or missing signature

The x-inherit-signature header did not match. Verify you are signing the exact raw request body (no whitespace differences, no re-serialization) with HMAC-SHA256 using your WEBHOOK_SECRET_KEY (not the webhook_key). Output must be lowercase hex.

404 No account found for this webhook_key

The webhook_key in the body does not match any account. Copy a fresh key from Integrations settings and confirm you are sending it inside the JSON body, not as a header or URL parameter.

402 Payment Required

Webhooks require an Enterprise plan. Upgrade from your billing settings to enable this feature.

400 Bad Request

The request body is missing required fields. Ensure accounts is a non-empty array and each account has an account_name.

Briefs are generating but look incomplete

Pass as many optional fields as possible (industry, annual_revenue, deal_stage, last_contact). More context = better briefs.

Zapier times out before getting a response

Brief generation takes 1–3 seconds per account. For large batches (50+ accounts), set Zapier's request timeout to 120 seconds or use Make which has higher timeout defaults.

Need more control? Use the REST API

For custom integrations, multi-step workflows, or higher volume automation, use the Inherit REST API directly. The API gives you full control over handoff creation, brief generation, CRM write-back, and more.

View REST API docs →

Ready to automate your handoffs?

Get your webhook key from the integrations dashboard and start connecting in minutes.

Get your webhook key →