Skip to main content

Docs / Integrations

Outbound Webhooks

Deliver alert rules as JSON POST requests to any HTTPS endpoint you control.

Reflects product behavior as of August 2026.

Webhooks are one of the three delivery channels on alert rules, alongside Slack and email, and they use the same four triggers: ICP match, page visit, repeat visit, and intent score threshold. When a rule matches a visit, VisiLead sends a POST request with a JSON body to the endpoint you configure.

Use it to push identified companies into anything that accepts HTTP: your own application, a Make or n8n scenario, a Google Sheet behind an Apps Script endpoint, or your CRM through middleware you control.

Before you start

  • An HTTPS endpoint you control that accepts POST requests with a JSON body.
  • An alert trigger in mind: ICP match, page visit, repeat visit, or intent score threshold.
  1. 1

    Create an alert rule

    Go to Dashboard > Alerts > New alert. Pick a trigger: ICP match (industry keywords, minimum headcount, minimum annual revenue, countries, or a list of target account domains), page visit (an exact path or a trailing * wildcard, such as /pricing*), repeat visit (fires when a company reaches a total visit count you set, minimum 2), or intent score threshold (fires when a company's behavioural intent score, built from pages viewed, return visits and time on site, reaches a value you set between 0 and 100).

  2. 2

    Add webhook delivery

    Select webhook as the delivery channel and paste the full URL of an HTTPS endpoint you control.

  3. 3

    Send a test

    Click Send test. VisiLead sends one sample POST for Acme Corporation with intent score 92 and page /pricing so you can confirm your endpoint parses the payload.

  4. 4

    Handle the payload

    Every delivery is a POST with a JSON body and the user agent VisiLead-Alerts/1.0. Expect at most one POST per company per rule per 24 hours.

    {
      "event": "alert.fired",
      "rule":    { "id": "...", "name": "...", "trigger_kind": "page-visit" },
      "company": { "name": "...", "domain": "...", "icp_score": 92, "city": "...", "country": "...",
                   "industry": "...", "employees": 2400, "annual_revenue_usd": 650000000 },
      "context": { "page_path": "/pricing", "session_count": 3, "source": "google" },
      "fired_at": "2026-08-20T09:00:00Z"
    }
  5. 5

    Secure the endpoint

    VisiLead does not sign webhook deliveries today. Validate requests by allowlisting the source IP or by putting a secret token in your endpoint URL path and rejecting requests to any other path.

No signing secret, no retries

Deliveries are not signed and failed deliveries are not retried. If your endpoint is down when a rule fires, that POST is lost. Secure the endpoint with an IP allowlist or a secret in the URL path.

CSV export is the manual alternative

The Companies and People tables export CSV. The People CSV includes name, job title, company, email, LinkedIn, source, sessions, and first and last seen dates.

Frequently asked questions

What does the VisiLead webhook payload contain?+

A JSON body with event set to alert.fired, a rule object (id, name, trigger_kind), a company object (name, domain, icp_score as the 0-100 intent score, city, country, and industry, employees and annual_revenue_usd when known), a context object (page_path, session_count, source), and a fired_at timestamp. Requests carry the user agent VisiLead-Alerts/1.0.

How do I secure a webhook without a signing secret?+

Put a secret token in the URL path of your endpoint and reject requests that arrive on any other path, or allowlist the source IP. VisiLead does not sign webhook deliveries today.

Does VisiLead retry failed webhook deliveries?+

No. A delivery that fails is not retried. Keep your endpoint available, and use the CSV export from the Companies and People tables if you need to recover missed records.

How often will my endpoint receive a POST?+

At most once per company per rule per 24 hours. After a delivery, that company is held on that rule for 24 hours; there is no batching or digest mode.

Can I send identified companies to a Google Sheet or n8n?+

Yes. Point the webhook at a Google Apps Script web endpoint to append rows to a Sheet, or at a Make or n8n scenario URL. Any HTTPS endpoint that accepts a JSON POST works.

How do I test my webhook before going live?+

Click Send test on the alert rule. VisiLead sends one sample POST for Acme Corporation (intent score 92, page /pricing) to your endpoint.

Related

Two minutes from script to first identified company

Install the tracking script, connect your CRM, and see which channels drive revenue. Free plan, no credit card.