Back to developer portal

Webhooks

Receive real-time notifications when events occur in Revuloop. Build responsive integrations that react instantly to survey activity.

Overview

Webhooks allow you to receive HTTP POST requests when specific events occur. Instead of polling the API, your application is notified immediately when data changes.

Real-time

Events delivered within seconds

Secure

HMAC signature verification

Reliable

Automatic retries with exponential backoff

Revuloop supports 20+ event types across responses, survey lifecycle, smart sessions, analytics, and respondents. Webhooks require HTTPS endpoints and can be filtered by survey.

View all event types, payload formats, and endpoints in the API Reference

Signature Verification

All webhook requests include an HMAC-SHA256 signature in the X-Webhook-Signature header. Verify this signature to ensure the request is from Revuloop.

Node.js Example

import crypto from 'crypto';

function verifyWebhookSignature(
  payload: string,
  signature: string,
  secret: string
): boolean {
  const expectedSignature = crypto
    .createHmac('sha256', secret)
    .update(payload)
    .digest('hex');

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

Important: Always verify signatures before processing webhook payloads to prevent spoofing attacks.

Retry Policy

If your endpoint returns a non-2xx status code, we'll retry the delivery with exponential backoff:

AttemptDelay
1st retry1 minute
2nd retry5 minutes
3rd retry30 minutes
4th retry2 hours
5th retry (final)24 hours

After 5 failed attempts, the delivery is marked as failed. You can view delivery history and manually retry from the API.