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

  1. Open the AI agent you want to configure.
  2. Go to Tools.
  3. Open HTTP Webhook.
  4. Turn the webhook Active.
  5. Select the events you want to send.
  6. Enter your endpoint URL.
  7. Optionally add a signing secret.
  8. Save the HTTP action.

The webhook belongs to the AI agent you are currently configuring.

How HTTP Webhook works

The flow is:

  1. An event happens in AskHandle.
  2. AskHandle creates a JSON payload for that event.
  3. AskHandle sends the payload to your configured endpoint using POST.
  4. 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:

text
1https://your-server.com/webhook

Your endpoint should:

  • Be reachable from the public internet
  • Accept POST requests
  • Accept JSON
  • Return a successful 2xx response

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:

json
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 2xx response

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.