Aura LogoAura

Webhooks

Receive real-time notifications when events happen in Aura

Webhooks

Webhooks let you receive real-time HTTP notifications when events occur in Aura. Use them to integrate with your own systems, trigger workflows, or sync data.

What Are Webhooks?

┌─────────────────────────────────────────────────────────────────────────────┐
│                           WEBHOOK FLOW                                       │
└─────────────────────────────────────────────────────────────────────────────┘

    EVENT OCCURS                    AURA SENDS                    YOU RECEIVE
    IN AURA                         HTTP POST                     & PROCESS
         │                              │                              │
         ▼                              ▼                              ▼
    ┌─────────┐                   ┌─────────┐                    ┌─────────┐
    │ Booking │                   │ POST to │                    │ Your    │
    │ Closed  │ ─────────────────▶│ your    │───────────────────▶│ Server  │
    │ Outcome │                   │ endpoint│                    │ Code    │
    └─────────┘                   └─────────┘                    └─────────┘

When something happens (booking, call outcome, etc.), Aura sends an HTTP POST to your specified URL with details about the event.


Setting Up Webhooks

Step 1: Create Endpoint

First, create an endpoint to receive webhooks:

// Example: Express.js endpoint
app.post('/webhooks/aura', (req, res) => {
  const event = req.body;

  // Process the event
  console.log('Received:', event.type);

  // Always return 200 quickly
  res.status(200).send('OK');
});

Step 2: Register in Aura

  1. Go to SettingsWebhooks
  2. Click Add Endpoint
  3. Enter your URL
  4. Select events to receive
  5. Save

Step 3: Test

  1. Use the Test button
  2. Verify your endpoint receives the test event
  3. Check your logs

Webhook Events

Aura sends 14 different event types:

Booking Events (3)

  • call.booked - Meeting scheduled
  • call.rescheduled - Meeting time changed
  • call.cancelled - Meeting cancelled

Call Events (4)

  • call.started - Recording begins
  • call.ended - Recording stops
  • call.notetaker_joined - Notetaker enters meeting
  • call.notetaker_media_ready - Recording available

Outcome Events (4)

  • call.closed - Deal won
  • call.lost - Deal lost
  • call.cash_collected - Payment recorded
  • call.ai_review_complete - Analysis ready

Lead Events (3)

  • lead.interested - Contact info provided
  • lead.captured - New lead created
  • lead.status_changed - Stage updated

See Event Types for full details.


Basic Payload Structure

All webhooks follow this structure:

{
  "event": "call.booked",
  "timestamp": "2024-01-15T10:30:00Z",
  "org_id": "org_123",
  "data": {
    "call_id": "call_456",
    "lead_id": "lead_789",
    // ... event-specific data
  }
}

See Payload Reference for complete field documentation.


In This Section

Event Types

Complete reference of all 14 webhook events with descriptions and use cases.

Payload Reference

Detailed documentation of all fields included in webhook payloads.


Security

Signature Verification

Verify webhooks are from Aura:

const crypto = require('crypto');

function verifySignature(payload, signature, secret) {
  const expected = crypto
    .createHmac('sha256', secret)
    .update(payload)
    .digest('hex');

  return crypto.timingSafeEqual(
    Buffer.from(signature),
    Buffer.from(expected)
  );
}

// In your handler:
const signature = req.headers['x-aura-signature'];
const isValid = verifySignature(
  JSON.stringify(req.body),
  signature,
  WEBHOOK_SECRET
);

Best Practices

  • Always verify signatures before processing
  • Respond quickly (return 200 within 5 seconds)
  • Process async for heavy operations
  • Handle duplicates (events may be retried)

Retry Policy

If your endpoint fails:

AttemptDelay
1Immediate
21 minute
35 minutes
430 minutes
52 hours

After 5 failures:

  • Event marked as failed
  • Visible in webhook logs
  • Manual retry available

Managing Webhooks

View Registered Endpoints

Go to SettingsWebhooks to see:

  • All registered endpoints
  • Events each receives
  • Recent delivery status

View Event History

For each endpoint:

  • Recent deliveries
  • Success/failure status
  • Payload inspection
  • Retry options

Edit Endpoint

  1. Find the endpoint
  2. Click Edit
  3. Update URL or events
  4. Save changes

Delete Endpoint

  1. Find the endpoint
  2. Click Delete
  3. Confirm deletion

Testing Webhooks

Test Button

In webhook settings:

  1. Click Test on an endpoint
  2. Select event type
  3. Send test event
  4. View response

Development Tools

ngrok: Expose local server

ngrok http 3000
# Use the https URL in Aura

Webhook.site: Free testing

  1. Go to webhook.site
  2. Copy your unique URL
  3. Use in Aura for testing

Debugging

Check in webhook logs:

  • Request payload sent
  • Response received
  • Response time
  • Error messages

Common Use Cases

CRM Sync

Event: lead.captured
Action: Create lead in Salesforce

Slack Notifications

Event: call.booked
Action: Post to #sales channel

Custom Analytics

Event: call.closed
Action: Update internal dashboard

Workflow Automation

Event: call.ai_review_complete
Action: Trigger follow-up sequence

On this page