Skip to main content

Webhooks

Webhooks let you send real-time notifications to external services whenever specific events happen in your Knock Knock App account. This is useful for connecting with custom tools, internal systems, or services not covered by our other integrations.

Creating a Webhook

To create a new webhook:

  1. Go to Integrations in the sidebar.
  2. Find Webhooks and click Manage.
  3. Click Add Webhook.
  4. Enter a name to identify this webhook.
  5. Enter the URL where you want events to be sent.
  6. Select the events you want to listen for.
  7. Click Save to create the webhook.
tip

Give your webhooks descriptive names like "New Lead to Internal CRM" or "Chat Ended to Analytics" so you can easily identify their purpose later.

Available Events

You can choose which events trigger your webhook. The available events include:

EventWhen It Fires
New SessionA visitor starts a new session on your site.
Visitor IdentifiedAn anonymous visitor becomes identified — by a form, chat, call, or the graph.
New LeadA new lead is captured from a visitor interaction.
Lead Score UpdatedA visitor's lead score changes.
Chat EndedA chat conversation is closed or completed.
New Meeting BookedA visitor books a meeting.
Meeting RescheduledA booked meeting is moved to a new time.
Meeting CancelledA booked meeting is cancelled.
Call EndedA phone or widget call finishes (channel is phone or web).

You can select one or more events per webhook. Each selected event will send a notification to your specified URL when it occurs. The same catalogue powers the Zapier triggers.

note

You can create multiple webhooks that listen for different events, or a single webhook that listens for all events. Choose the approach that best fits your workflow.

Payload Format

Webhook and Zapier payloads send a curated, documented set of session fields rather than raw internal records. Signed new_lead webhooks embed the session document in the same curated shape.

:::warning Action needed for existing integrations If your automation referenced undocumented internal fields, update it to use the documented fields — the in-app documentation (the Documentation tab on the Webhooks screen) shows the exact current payloads. :::

Post-Call Webhook Payload

Call Ended payloads include the results of the post-call analysis alongside the call details:

  • call_sentiment — the caller's sentiment for the call: positive, neutral, or negative.
  • transcript_text — a plain-text transcript in Speaker: text form, sent alongside the structured transcript array. Use it when your automation just needs readable text.
  • recording_url — a signed public streaming link to the call recording, valid for about a year. No login is needed, so your automations can fetch the audio directly.

Delivery Timing

The post-call webhook waits for the post-call analysis (including the summary) before firing, so payloads arrive complete. If the analysis never arrives, a fallback delivery fires within a few minutes without the analysis fields. Either way, exactly one delivery is sent per call.

New User Identified Event

The New User Identified event fires when an anonymous visitor becomes identified during a session — whether through Knock Knock's own identity graph or through enrichment. It fires at most once per session, and never for visitors who were already known before the session started.

The payload includes:

FieldWhat It Contains
user_session_idThe session in which the visitor was identified.
contactname, email, phone, and source of the identity.
companyThe identified visitor's company name.
ipThe visitor's IP address.
initial_page_visitThe first page the visitor landed on.
identified_atWhen the identification happened.

Testing Webhooks

After creating a webhook, you can test it to make sure everything is working:

  1. Go to your webhook settings.
  2. Click the Test button next to the webhook you want to verify.
  3. A sample event will be sent to your URL.
  4. Check your receiving service to confirm the test event arrived.
info

Test events are clearly marked as test data so you can distinguish them from real events. Use testing to verify your setup before going live.

Managing Webhooks

From the webhooks management page, you can:

  • Edit -- Change the URL, name, or selected events for an existing webhook.
  • Disable -- Temporarily stop a webhook without deleting it.
  • Delete -- Permanently remove a webhook you no longer need.
  • View logs -- See recent delivery attempts and their status. Retried deliveries are marked attempt N.

Retries and Auto-Disable

A delivery that fails — a timeout, a 5xx, a 408 or 429 — is retried up to four times with increasing waits (from about a minute, doubling, capped at 30 minutes). Any other 4xx counts as a permanent rejection and isn't retried. Every attempt appears in the logs.

If five deliveries in a row fail after all their retries, the webhook is switched off and shows an amber auto-disabled badge next to its status (hover it for the reason). Fix the endpoint, then re-enable the webhook.

warning

Deleting a webhook is permanent. If you might need it again later, consider disabling it instead.

Next Steps