Skip to Content

Webhooks

Webhooks let you send real-time notifications to your own systems whenever something happens in Akol — like a call ending or an appointment being booked.

What Are Webhooks?

When an event occurs (e.g., a call completes), Akol sends an HTTP POST request to a URL you specify. Your server receives the event data and can take action — update a database, trigger a workflow, send a notification, etc.

Accessing Webhooks

Go to Dashboard > Webhooks to manage your webhooks.

Creating a Webhook

  1. Click Create Webhook
  2. Fill in the details:
    • Name — A friendly name (e.g., “CRM Call Logger”)
    • URL — The endpoint that will receive events (must be HTTPS)
    • Events — Select which events to subscribe to
  3. Click Create

A secret key is automatically generated. Use this to verify that incoming requests are genuinely from Akol.

Available Events

Call Events

EventFires When
call.startedA call begins ringing or connects
call.endedA call hangs up (any reason)
call.completedA call finishes successfully
call.missedA call was not answered
call.failedA call failed to connect
call.transferredA call was transferred to a human

Content Events

EventFires When
transcript.readyThe call transcript is available
summary.readyThe AI-generated summary is available
function.calledThe AI agent called a tool during a call

Resource Events

EventFires When
agent.createdA new agent is created
agent.updatedAn agent’s settings are changed
agent.deletedAn agent is deleted
phone_number.purchasedA new phone number is bought
phone_number.releasedA phone number is released

Secret Key Management

Each webhook has a secret key used to sign payloads. This lets you verify that requests are from Akol, not a third party.

Verifying Signatures

Every webhook request includes an X-Webhook-Signature header. Compare this against a hash of the request body using your secret key to verify authenticity.

Rotating Secrets

If your secret is compromised:

  1. Click on the webhook
  2. Click Rotate Secret
  3. A new secret is generated immediately
  4. Update your server with the new secret

After rotating a secret, the old secret stops working immediately. Make sure to update your receiving server before or right after rotating.

Testing Webhooks

Click Test on any webhook to send a test payload to your URL. This lets you verify your endpoint is working without waiting for a real event.

The test sends a sample payload for each subscribed event type. Check your server logs to confirm it was received.

Delivery Logs

Each webhook keeps a log of recent deliveries:

  • Timestamp — When the event was sent
  • Event — Which event type was triggered
  • Status code — The HTTP response from your server
  • Success/Failure — Whether delivery succeeded
  • Response — The response body from your server

Use the logs to debug delivery issues or verify your endpoint is processing events correctly.

Akol expects your endpoint to return a 2xx status code within 30 seconds. If your server doesn’t respond or returns an error, the delivery is marked as failed.

Enabling and Disabling

Toggle a webhook to Inactive to temporarily stop sending events without deleting the webhook. Toggle it back to Active when ready.

Deleting a Webhook

Click Delete to permanently remove a webhook and all its delivery logs.

Tips

  1. Use HTTPS — Webhook URLs must be HTTPS for security
  2. Respond quickly — Process webhook data asynchronously. Return a 200 immediately, then process the data
  3. Verify signatures — Always verify the webhook signature to prevent spoofing
  4. Monitor delivery logs — Check periodically to make sure deliveries are succeeding
  5. Use test payloads — Test your endpoint before going live to catch issues early
Last updated on