> ## Documentation Index
> Fetch the complete documentation index at: https://docs.squid-id.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Webhooks

> Send every Squid ID identified visitor and page-view event to any tool that accepts a webhook, with a JSON payload you can wire to Zapier, n8n, or your own API.

A webhook POSTs a JSON payload to a URL you control whenever an event fires. Because most modern tools accept webhooks, this is how you connect Squid ID to hundreds of products that don't have a dedicated connector: automation platforms like Make and n8n, sales tools like Salesloft and Outreach, CRMs like Pipedrive, or your own API. The major tools have [native connectors](/integrations/overview); the webhook reaches everything else.

## If you're coming from RB2B

Both RB2B and Squid ID can POST to any tool that accepts a webhook, so the reach is the same. What differs is what arrives there: how much control you have over the payload, and whether it can include premium contact data.

<div className="compare">
  <table>
    <thead>
      <tr><th /><th>RB2B</th><th>Squid ID</th></tr>
    </thead>

    <tbody>
      <tr><td>Payload control</td><td>Fixed payload</td><td>Toggle field groups per webhook</td></tr>
      <tr><td>Premium contact data</td><td>Not provided</td><td>Mobile, personal email, address with <a href="/add-ons/squid-id-plus">Squid ID+</a></td></tr>
    </tbody>
  </table>
</div>

<p className="why"><strong>Why this matters.</strong> Since both can hit any endpoint, the question is what lands there. Squid ID lets you shape the payload per webhook and, with Squid ID+, include the mobile number and personal email a standard webhook can't.</p>

## Before you start

<Info>You'll move faster if these are already in place.</Info>

* You're an **Owner** or **Admin** on the website. Viewers can see webhooks but can't change them.
* The [snippet is installed and verified](/getting-started/install-snippet), so there are events to send.
* An HTTPS endpoint to receive the payload. This can be a tool's inbound webhook URL (Zapier, Make, n8n, and similar) or your own server.

## Event types

A webhook fires on one event type. Create one webhook per event you want to send.

* **Visitor identified** (`visitor.identification.created`): fires the first time a visitor is identified. Includes name, email, company, location, and firmographics.
* **Page viewed** (`visitor.connection.event`): fires when a visitor lands on a page. Includes URL, title, referrer, browser, and location.

## Create a webhook

<Steps>
  <Step title="Open Webhooks">
    Go to **Settings → Webhooks** and click **Add webhook**.
  </Step>

  <Step title="Name it and pick the event">
    Enter a name and an optional description, then choose **Visitor identified** or **Page viewed**.
  </Step>

  <Step title="Set the endpoint">
    Enter the HTTPS URL to POST to. The URL must start with `https://`. Optionally add basic auth (username and password) if your endpoint requires it.
  </Step>

  <Step title="Choose the payload">
    Each event has groups of fields (Context, Traits, Social, Company, Job, Location, and more). Toggle off any group you don't need. Disabled groups are dropped from the payload.
  </Step>

  <Step title="Review and save">
    Confirm the summary and click **Save webhook**. It's active immediately.
  </Step>
</Steps>

## Frequency

For the **Page viewed** event, choose how often it fires:

* **All:** every time a visitor lands on a page.
* **Once:** only the first time a visitor lands on a page.

The **Visitor identified** event fires once, the first time a visitor is identified.

## Payload and premium fields

Each field group lists default fields and, where applicable, premium fields marked with a lock. Premium fields (mobile, personal email, home address, demographics) ship only when Squid ID+ is set to Automatic in Add-ons. Default fields are always included.

## Test a webhook

From the webhook list, use **Send test event** to POST a sample payload to your endpoint. The row confirms with a **Sent** indicator once it goes out. You can also send a test from the edit view.

## Activity log and retry

Every webhook row has an **activity icon** that opens its delivery log, so you can check deliveries without opening the edit view. The log shows every delivery with the timestamp, the request payload, and the response status, plus **Success** and **Failed** counts you can filter by, and a search by visitor id, alias, or email. A failed delivery has a **Retry** action that re-sends it. When recent deliveries are failing, the icon shows a red count so a problem endpoint is easy to spot from the list.

## Enable, disable, and delete

* **Disable:** Use the toggle on a webhook row to pause deliveries without deleting it.
* **Delete:** Remove a webhook to stop its deliveries permanently.

## Automatic disable on repeated failures

If an endpoint keeps rejecting deliveries, Squid ID stops hammering it and disables the webhook for you, so a broken endpoint doesn't quietly pile up failures. The webhook turns off, its row is highlighted in **red** with the reason, and the account owner is notified.

When it trips:

* **Permanent errors** (a deleted endpoint, bad auth, or a 404/410/401): after 5 failures in a row.
* **Transient errors** (timeouts or 5xx): after 10 in a row, or a sustained bad patch (more than 20 failures in 24 hours with under half succeeding).

A single failed delivery or a brief blip never disables a webhook. While an endpoint is failing but still under the threshold, the row shows an amber warning with the recent-failure count as an early heads-up. Once you have fixed the endpoint, flip the webhook back on from its row. That clears the failure state and deliveries resume. Only new events are sent; nothing is backfilled from while it was off.

## Tools you can connect

The major tools (Slack, Teams, HubSpot, Clay, Zapier, Instantly, Smartlead, lemlist, Reply.io, SmartReach, HeyReach, Apollo) have [native connectors](/integrations/overview). The webhook covers everything else. A few common ones, by category:

* **Automation:** Make, n8n, Pabbly, Workato
* **Sales engagement:** Salesloft, Outreach, Outplay, Mixmax, Salesforge
* **LinkedIn and outbound:** La Growth Machine, Aimfox, Growth-X
* **CRM:** Pipedrive, Close, Attio
* **Enrichment and data:** BetterContact, Tapistro, and your own database or warehouse

This is not a fixed list. If a tool accepts a webhook, or you run an automation platform like Make or n8n in front of it, you can send Squid ID events there.

## Related

For turnkey destinations, see [Slack](/routing/route-to-slack), [Teams](/routing/teams), [HubSpot](/integrations/hubspot), and [Clay](/integrations/clay). If deliveries aren't arriving, check [troubleshooting](/troubleshooting).
