API Reference
Webhooks

Outbound Webhooks API

Subscribe to real-time events emitted by Aila whenever calls process, custom data extracts, tasks generate, or mortgage files build.


Supported Webhook Events

CategoryEvent NameDescription
Callscall.completedEmitted when transcription, AI summary, and scorecard evaluation finish.
Callscall.data.extractedEmitted with full structured JSON extracted by custom datasets.
Taskstask.createdEmitted when an automated action item is generated from a call.
Taskstask.syncedEmitted when an auto-task syncs successfully to a connected CRM.
Appointmentsappointment.createdEmitted when an appointment is extracted from conversation intent.
Appointmentsappointment.syncedEmitted when an appointment syncs to GHL or Bonzo calendar.
Mortgagemismo.readyEmitted when MISMO 3.4 XML is generated for a lending call.
Testingtest.pingEmitted when verifying endpoint reachability in settings.

Registering an Endpoint

Option 1: Web Interface

  1. Navigate to Settings > Connections > Outbound Webhooks (or /settings?tab=webhooks).
  2. Click Add Endpoint.
  3. Enter your Payload URL (must use HTTPS).
  4. Select subscribed event types.
  5. Copy your Signing Secret (shown once at creation).
  6. Click Save Endpoint.

Option 2: REST API

curl -X POST https://app.aila.fyi/api/v1/organizations/{organizationId}/webhooks \
  -H "Authorization: Bearer <YOUR_API_KEY>" \
  -H "Content-Type: application/json" \
  -d '{"url": "https://api.yourdomain.com/webhooks/aila", "events": ["call.completed", "call.data.extracted"]}'

Signature Verification (HMAC-SHA256)

Aila signs all webhook payloads. Verify the X-Aila-Signature HTTP header using your signing secret:

import crypto from "crypto";
 
function verifyAilaWebhook(payload, signatureHeader, signingSecret) {
  const hmac = crypto.createHmac("sha256", signingSecret);
  const digest = "sha256=" + hmac.update(payload).digest("hex");
  return crypto.timingSafeEqual(Buffer.from(digest), Buffer.from(signatureHeader));
}

Delivery Retries

  • Timeout: 10 seconds per delivery attempt.
  • Retry Schedule: Exponential backoff across 5 retry attempts if the endpoint returns a non-2xx status code.
  • Delivery Logs: Inspect delivery statuses and trigger manual retries in Settings > Connections.