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 LeadA new lead is captured from a visitor interaction.
Lead UpdatedAn existing lead's information is modified.
Chat StartedA visitor begins a new chat conversation.
Chat EndedA chat conversation is closed or completed.
Call StartedA visitor initiates a call through the widget.
Call EndedA call is completed or disconnected.
New MessageA new message is sent or received in a chat.
Visitor IdentifiedA visitor provides their contact information.
New User IdentifiedAn anonymous visitor becomes identified during a session.

You can select one or more events per webhook. Each selected event will send a notification to your specified URL when it occurs.

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.

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.
warning

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

Next Steps