Receive real-time HTTP notifications whenever your chatbot captures a lead, starts a conversation, or ends a session. Build powerful automations, sync data to your CRM, trigger email sequences, and feed analytics dashboards — all with simple webhook events.
Webhooks are automated HTTP POST requests that Chatonbo sends to your server whenever a specific event occurs. Unlike polling (where you repeatedly check for new data), webhooks push data to you in real time — the moment something happens. This means zero delay between a lead being captured and your team being notified. Businesses from San Francisco to Tokyo use webhooks to build instant, event-driven workflows.
Events fire instantly. No polling, no delays, no cron jobs.
Works with any backend — Node.js, Python, PHP, Go, or any HTTP server.
Route data anywhere: databases, CRMs, email services, or custom apps.
Chatonbo sends the following events to your webhook endpoint.
new_leadFired when a visitor shares their email or phone number during a conversation. Includes lead name, email, phone, the page URL where the conversation happened, and the bot ID.
new_conversationFired when a new conversation session begins. Includes the conversation ID, bot ID, visitor session ID, and the page URL. Useful for tracking engagement in real time.
conversation_endedFired when a conversation is marked as ended (after inactivity or when the visitor closes the chat). Includes the full conversation summary, message count, lead data (if captured), and duration.
All webhook payloads are sent as JSON via HTTP POST. Here is an example new_lead payload.
{
"event": "new_lead",
"timestamp": "2026-03-19T14:32:00.000Z",
"bot": {
"id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"name": "Sales Assistant"
},
"lead": {
"id": "f9e8d7c6-b5a4-3210-fedc-ba0987654321",
"name": "John Smith",
"email": "john@example.com",
"phone": "+1-555-123-4567"
},
"conversation": {
"id": "c1d2e3f4-a5b6-7890-cdef-ab1234567890",
"summary": "Visitor asked about pricing plans and requested a demo.",
"messageCount": 8,
"pageUrl": "https://example.com/pricing"
}
}Tip: The payload structure is consistent across all events. The event field always tells you which event was triggered, so you can handle different events with a single endpoint.
Follow these five steps to start receiving webhook events from your Chatonbo chatbot.
Log in to your Chatonbo dashboard and select the bot you want to configure. Click on the Integrations tab in the bot settings panel. You will see the webhook configuration section alongside other integration options like Zendesk, Slack, and HubSpot.
Toggle the webhook switch to Enabled. Enter the HTTPS URL of the server endpoint that will receive webhook payloads. This must be a publicly accessible URL — Chatonbo will send HTTP POST requests to this address. For development, you can use services like ngrok or webhook.site to test locally before deploying to production.
Choose the events you want Chatonbo to send to your endpoint. You can enable new_lead (when a visitor shares contact details), new_conversation (when a chat session starts), and conversation_ended (when a session closes). Most businesses start with new_lead since it covers the highest-value event.
After saving your webhook settings, open your chatbot widget on your website and start a test conversation. Share an email address (e.g., "My email is test@example.com") to trigger a new_lead event. Check your server logs or webhook testing tool to verify the payload arrived correctly. The JSON body should contain the event type, lead details, conversation ID, and timestamp.
Parse the incoming JSON payload in your server and take action based on the event type. Here is an example using Node.js and Express:
const express = require('express');
const app = express();
app.use(express.json());
app.post('/webhook/chatonbo', (req, res) => {
const { event, lead, conversation, bot } = req.body;
switch (event) {
case 'new_lead':
console.log(`New lead: ${lead.name} (${lead.email})`);
// Save to database, notify sales team, etc.
break;
case 'conversation_ended':
console.log(`Conversation ended: ${conversation.summary}`);
// Log analytics, update CRM, etc.
break;
default:
console.log(`Received event: ${event}`);
}
res.status(200).json({ received: true });
});
app.listen(3000);Keep your webhook endpoint secure with these recommended practices.
Always use an HTTPS endpoint. Chatonbo will only send webhooks to secure URLs, ensuring all data is encrypted in transit. Never expose webhook endpoints over plain HTTP.
Validate incoming requests by checking the webhook signature header. This ensures the payload actually came from Chatonbo and was not spoofed by a malicious third party.
Return a 200 status code within 5 seconds. If your processing takes longer, acknowledge the webhook immediately and handle the logic asynchronously in a background job.
Design your webhook handler to be idempotent. In rare cases, the same event may be delivered more than once. Use the conversation ID or lead ID to deduplicate.
Webhooks unlock limitless automation possibilities. Here are the most common use cases from businesses in New York, London, Berlin, and Sydney.
Automatically create or update contacts in Salesforce, HubSpot, Pipedrive, or Zoho CRM the instant a chatbot captures a lead. No manual data entry.
Send an email to your sales or support team the moment a high-value lead shares their contact details. Include the conversation summary for context.
Feed webhook events into your data warehouse (BigQuery, Snowflake) or analytics tools (Mixpanel, Amplitude) to track chatbot engagement and conversion rates.
Build internal dashboards that display real-time chatbot activity — active conversations, leads captured today, popular questions, and resolution rates.
Webhooks are available on Pro ($19/month), Business ($59/month), and Enterprise plans. The free plan does not include webhook functionality. You can upgrade anytime from your billing settings.
If Chatonbo cannot reach your endpoint, it will retry the webhook delivery with exponential backoff. If all retries fail, the event is logged in your dashboard so you can investigate. We recommend monitoring your endpoint uptime to avoid missing events.
Yes. Each webhook payload includes the bot ID and bot name, so you can use a single endpoint and route events based on which bot triggered them. This is common for businesses that run multiple chatbots across different websites.
Not necessarily. If you prefer a no-code approach, you can use Chatonbo webhooks with Zapier — just paste a Zapier webhook URL as your endpoint. See our Zapier integration guide for step-by-step instructions.
Paste your URL and chat with an AI agent trained on your content — right now, in 60 seconds.
Try It on Your WebsiteCreate your free account, set up a webhook endpoint, and start receiving real-time chatbot events in minutes. Join thousands of developers and businesses worldwide.
Start Free — No Credit Card RequiredFree plan includes 250 conversations/month. Webhook feature available on Pro plan and above.