Developers

Know the Moment Something Happens.

Get real-time notifications for calls, meetings, messages, AI events, and billing — delivered straight to your application, the instant they happen.

Know the Moment Something Happens.

What It Is

Webhooks let Calling Hub push real-time event notifications directly to your application's server — so you don't have to constantly poll the API for updates.

Why Developers Use It

Building responsive apps means knowing instantly when a call ends, a message is delivered, or an AI summary is ready — webhooks deliver that the moment it happens.

Key Capabilities

Instant Event Delivery

Real-time notifications pushed the moment an event occurs — no polling required

Secure Callback Verification

Secret key signing for every webhook payload to prevent spoofing

Full Event Coverage

Voice, Video, Messaging, AI, and Billing events all supported out of the box

Easy Management

Create, update, enable, disable, or delete webhooks anytime from the dashboard

Automatic Retry

Failed deliveries are automatically retried with exponential backoff

Event History

View full delivery status and history for every webhook event

What's Inside

Supported events across all categories: • Voice: Call Started, Ringing, Answered, Ended, Failed, Recording Ready • Video: Meeting Started/Ended, Participant Joined/Left • Messaging: SMS Sent/Delivered, WhatsApp Delivered, Email Delivered • AI: Summary Ready, Transcript Ready, Translation Ready • Billing: Payment Success/Failed, Subscription Renewed

Who It's For

Developers building automated workflows, CRM/HRMS integrations, and any application that needs to react to communication events in real time.

JavaScript — Webhook Handler
// Express.js webhook receiver
import express from 'express';
import { verifyWebhookSignature } from '@callinghub/sdk';

const app = express();
app.use(express.raw({ type: 'application/json' }));

app.post('/webhooks/calling-hub', (req, res) => {
  const signature = req.headers['x-callinghub-signature'];
  const isValid = verifyWebhookSignature(
    req.body,
    signature,
    process.env.WEBHOOK_SECRET
  );

  if (!isValid) return res.status(401).send('Invalid signature');

  const event = JSON.parse(req.body);
  
  if (event.type === 'call.ended') {
    console.log('Call ended:', event.data.callId);
    // Trigger your CRM update, send summary, etc.
  }

  res.json({ received: true });
});

Getting Started

1

Create a webhook

Add your callback URL and generate a secret key for payload signature verification

2

Select events

Choose which events to subscribe to — from call events to billing notifications

3

Receive & verify

Process incoming payloads and verify the signature — retries happen automatically if delivery fails

React to every event, the instant it happens.