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

# Webhooks

> Send real-time event data to your own endpoint.

Webhooks are the generic option for getting Scanova data into your own systems: pick a data stream, give Scanova an endpoint URL, and it POSTs that data to your server in real time as events happen — no third-party app in between.

## Prerequisites

* An HTTPS (or HTTP) endpoint that accepts `POST` requests and returns a 2xx status code to acknowledge delivery.
* If you plan to send lead data: at least one lead list or Form-builder form already set up as the source.

## Setting up a webhook

Webhooks open as their own full page (not a side panel).

<Steps>
  <Step title="Open the Webhooks integration">
    From **Integrations**, select **Add Integration**, then find the **Webhooks** card and select **Setup**.
  </Step>

  <Step title="Choose the data to send">
    Select one of:

    * **Scan Analytics Data** — scan events for your QR codes.
    * **Event Tracking Data** — custom event-tracking data.
    * **Lead List Data** — form or lead-list submissions.
  </Step>

  <Step title="Pick a source (Lead List Data only)">
    If you chose **Lead List Data**, also select which lead list or Form-builder form the submissions should come from.
  </Step>

  <Step title="Enter the endpoint URL">
    Enter the full `https://` (or `http://`) URL Scanova should POST to. Select **Add another URL** to send the same payload to up to 5 endpoints total.
  </Step>

  <Step title="Create the webhook">
    Select **Create webhook**. Scanova starts POSTing matching events to every URL you configured as soon as they occur.
  </Step>
</Steps>

<Note>
  Scanova POSTs event payloads to your endpoint in real time. Your endpoint should return a 2xx response to acknowledge delivery — a non-2xx response doesn't automatically retry.
</Note>

## Editing an existing webhook

Opening a webhook from **Active Connections** reopens the same form, prefilled. Because the read model only exposes one resolved URL per connection, editing shows a single URL field even if the original setup had more than one.

## What data flows where

Depending on the data type chosen, Scanova sends scan events, event-tracking events, or lead/form submissions as a JSON payload to every configured endpoint URL, as soon as the underlying event occurs.

## Related

* [Slack](/integrations/slack) — a similar event-driven integration, scoped specifically to Slack channels.
* [Zapier](/integrations/zapier) — routes the same kind of event data through Zapier's app catalog instead of a raw URL.
* [Google Analytics (GA4)](/integrations/google-analytics) — another server-side data-out integration for scan/event data.
* [Management API overview](/api-reference/management-api/overview) — pull the same data on your own schedule instead of receiving push events.
