Setup & Channels
How can I send AI agent events to external systems?
Updated October 7, 2026
Use HTTP Webhook in the Tools section when you want AskHandle to send event data from an AI agent to your own system.
When one of the events you select happens, AskHandle sends a POST request with a JSON payload to your endpoint.
You can use HTTP Webhook to:
- Send captured leads to a CRM
- Trigger automations in your backend
- Send completed form data to another system
- Sync appointment activity
- Update internal tools or databases
- Build custom integrations
How to access HTTP Webhook
- Open the AI agent you want to configure.
- Go to Tools.
- Open HTTP Webhook.
- Turn the webhook Active.
- Select the events you want to send.
- Enter your endpoint URL.
- Optionally add a signing secret.
- Save the HTTP action.
The webhook belongs to the AI agent you are currently configuring.
How HTTP Webhook works
The flow is:
- An event happens in AskHandle.
- AskHandle creates a JSON payload for that event.
- AskHandle sends the payload to your configured endpoint using
POST. - Your system receives and processes the data.
Your endpoint should be publicly accessible and able to receive HTTPS POST requests.
Choose which events to send
You can enable one or more event types.
Conversation ended
Conversation ended fires when a chat session closes.
The payload can include information such as:
- Conversation ID
- Channel
- Message count
Use this when you want your system to know that a conversation is complete.
Lead captured
Lead captured fires after AskHandle extracts and saves a lead.
The payload can include:
- Contact fields
- Custom lead fields
- Form answers
- Channel information
- Lead identifiers
This is useful for sending lead data into a CRM, database, or sales workflow.
Form completed
Form completed fires as soon as a visitor completes an AI Form.
This event happens when the form is submitted, even if the overall conversation continues afterward.
Use this when you want structured form answers to reach another system immediately.
Appointment booked
Appointment booked fires when a booking is confirmed.
The payload can include booking details such as:
- Appointment time
- Customer information
- Confirmation code
Use this to sync new bookings with your own systems.
Appointment updated
Appointment updated fires when an existing confirmed booking is changed or rescheduled.
The payload can include:
- New appointment time
- Previous appointment time
- What changed
Appointment cancelled
Appointment cancelled fires when a confirmed appointment is cancelled.
It does not fire when the appointment is only edited or moved.
Add your endpoint URL
Under Endpoint URL, enter the public HTTPS URL that should receive the webhook.
Example:
1https://your-server.com/webhookYour endpoint should:
- Be reachable from the public internet
- Accept
POSTrequests - Accept JSON
- Return a successful
2xxresponse
Add a signing secret
You can optionally add a Signing Secret.
When a signing secret is configured, AskHandle sends an X-Webhook-Signature header using HMAC-SHA256.
Your receiving system can use this signature to verify that the webhook request came from a trusted source and that the payload was not changed in transit.
Keep the signing secret private.
Save the HTTP action
After selecting events and entering your endpoint information, click Save HTTP action.
Saving stores the current event, endpoint, and signing-secret configuration for that AI agent.
Send a test payload
After saving a valid endpoint, you can use Send test payload to test the integration.
This is useful before relying on live events.
Use the test to confirm that:
- Your endpoint is reachable
- Your server accepts the request
- Your JSON parsing works
- Signature verification works, if enabled
- Your downstream automation behaves as expected
What you receive
The What you receive section shows an example of the JSON payload AskHandle sends.
For example, a lead event can contain fields similar to:
1{
2 "event": "lead.captured",
3 "timestamp": "2026-09-16T10:06:00.000Z",
4 "data": {
5 "leadId": "example-lead-id",
6 "firstName": "Jane",
7 "lastName": "Doe",
8 "email": "jane@example.com",
9 "phone": "+14155552671",
10 "company": "Example Inc",
11 "jobTitle": "CTO",
12 "channel": "web",
13 "formResponses": {
14 "budget": "$50k"
15 }
16 }
17}The exact payload depends on the event type and the information available for that conversation, lead, form, or appointment.
Use the API docs link in the HTTP Webhook section when you need the current payload specification for implementation.
Activity for this agent
The Activity for this agent section lets you review webhook delivery activity for the current AI agent.
Use Refresh to check for new deliveries.
This is useful when testing or troubleshooting your integration.
HTTP Webhook vs. Human Handoff webhook
These are related integration options, but they serve different purposes.
HTTP Webhook in Tools
Use HTTP Webhook when you want AskHandle to send event data to another system.
Examples:
- A lead was captured
- A form was completed
- A conversation ended
- An appointment was booked, updated, or cancelled
This is event-driven and does not transfer control of the conversation.
Webhook in Human Handoff
Use a webhook through the Human Handoff node when the purpose is to transfer a conversation to an external human-support workflow or system.
That webhook is part of the handoff process rather than general event reporting.
If your goal is to send business events or records to another system, use HTTP Webhook.
If your goal is to hand the live conversation to a person through an external system, use Human Handoff.
Common use cases
HTTP Webhook is useful when you want to:
- Create or update CRM records
- Add leads to a sales workflow
- Send completed AI Form data to your backend
- Sync appointments with an external system
- Trigger internal alerts or automations
- Build custom dashboards
- Store event data in your own database
Troubleshooting
My endpoint is not receiving requests
Check that:
- HTTP Webhook is active
- The correct event is enabled
- The endpoint URL is correct
- The endpoint is publicly accessible
- Your server accepts POST requests
- Your server returns a
2xxresponse
The test payload fails
Check your server logs and confirm that your endpoint can receive JSON from an external service.
Signature validation fails
Make sure your server is using the same signing secret configured in AskHandle and validating the X-Webhook-Signature using HMAC-SHA256.
I expected an event but nothing was sent
Confirm that the specific event is selected. For example, enabling Lead captured does not automatically enable Form completed or appointment events.
Best practices
- Use HTTPS endpoints.
- Configure a signing secret for production integrations.
- Log incoming webhook requests on your side.
- Test the endpoint before relying on live events.
- Return a successful response quickly and process longer work asynchronously when possible.
- Enable only the events your integration actually needs.
- Review the agent's webhook activity when troubleshooting.
