Webhooks deliver the same event shape as the live SDK feed to your backend. Use them for serverless handlers, WhatsApp Business inbound, or when your agent is not always online.

Webhooks guide

Full webhook documentation — quickstart, events, verification, retries.

SDK verifier

parseWebhook and verifyWebhook from @interactions-hq/skyline/webhooks.

Quick example

import { parseWebhook, WEBHOOK_HEADERS } from "@interactions-hq/skyline/webhooks";

const event = parseWebhook(rawBody, {
  signature: req.header(WEBHOOK_HEADERS.signature),
  timestamp: req.header(WEBHOOK_HEADERS.timestamp),
}, process.env.SKYLINE_WEBHOOK_SECRET);

if (event?.type === "message.received") {
  await handle(event.data);
}
See the Webhooks tab for the complete guide.