Product update · Integrations

Webhooks: send leads and conversations to your own systems

Your chatbot can now notify your own systems the moment a lead is captured, a conversation starts, a message arrives or a meeting is booked, on every channel.

Gopi Krishna Lakkepuram

· 3 min read

Shipped
Area
Integrations
Available on
Pro and Max

Leads and transcripts arriving by email work well for most teams. But if you run your own CRM, a booking system or an internal dashboard, you want new leads to show up there on their own, not copied across by hand. Webhooks let your chatbot send that information to an address you choose, the moment it happens.

What's new

Your chatbot can now send an event to your own web address whenever one of these things happens:

  • Lead captured: a visitor shares their contact details.
  • Conversation started: a new conversation begins.
  • New message: a customer sends a message.
  • New AI reply: your AI agent replies.
  • Appointment booked: a meeting is booked in the chat.

Events fire for conversations on your website and on WhatsApp, Instagram DM and Facebook Messenger, and each one says which channel it came from. Every event is signed with a secret only you and Hyperleap know, so your system can confirm it really came from us.

You can watch what's happening too. Delivery history lists recent deliveries and whether each one succeeded, and Inspect event payloads shows you exactly what each event looks like before you build anything.

How to use it

  1. Open your chatbot in Studio and go to the Integrations tab.
  2. Open the Webhooks section.
  3. Under Subscriptions, enter your Public HTTPS destination, pick an Event, and click Create subscription.
  4. Copy the Signing secret that appears and store it safely. It's shown only once.
  5. Once events start flowing, check Delivery history to confirm each one was delivered.

You can create one subscription per event, or point several events at the same address. Subscriptions take effect immediately.

Good to know

  • Pro and Max. Webhooks are available on the Pro and Max plans. If you move to a plan without them, your saved configuration stays readable, and you can still turn the webhook off or disconnect subscriptions.
  • Your address must be public and use HTTPS. Local or private network addresses can't be reached, and redirects aren't followed, so use the final address.
  • Failed deliveries are retried. If your server times out or returns a temporary error, Hyperleap tries again, up to three attempts in total. Other errors are recorded in the delivery history and not retried.
  • Chatbot webhook settings follow your draft. The webhook you set directly on the chatbot is part of your chatbot draft, so publish to update the live destination. Subscriptions don't need publishing.
  • Compare your options. See MCP vs REST API vs webhooks for when each fits.
For developers

Each delivery is an HTTPS POST with a JSON body and these headers: X-Hyperleap-Event (the event type), X-Hyperleap-Delivery-Id, and X-Hyperleap-Signature: sha256=<hex>, an HMAC-SHA256 of the raw body using your signing secret. The event types are lead.captured, conversation.started, conversation.message, conversation.reply and appointment.booked. Conversation events include channel, externalUserId and, on WhatsApp, Instagram and Messenger, senderExternalId; lead.captured includes externalUserId so you can join leads to conversations.

Your endpoint has 10 seconds to respond with a 2xx. Timeouts, 5xx, 408 and 429 are retried with backoff (up to three attempts). Other 4xx responses are treated as permanent failures. A 410 Gone also deactivates the subscription. Subscriptions can be managed through the REST API as well; see the API docs.

Explore Hyperleap AI

An AI front desk that answers customer questions, collects contact details, and books appointments on your website and messaging channels.