Webhooks send real-time HTTP notifications to your endpoint when events occur in ReviewPanel — new reviews, metric changes, sync completions, and more.
| Event | Description |
|---|---|
| business_account.metrics.updated | Rating, review count, or other metrics changed. |
| business_account.sync.completed | A scheduled or manual sync finished. |
| webhook.test.sent | A test event triggered from the dashboard. |
Control how much data is included in each webhook payload:
Rating, review count, and response rate. Smallest payload.
Metrics plus per-location breakdown.
Metrics, locations, and full review data (new and changed reviews).
Every webhook request includes an HMAC-SHA256 signature in the X-ReviewPanel-Signature header. Verify this against your signing secret to confirm the request came from ReviewPanel.
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) ); }You can rotate your signing secret at any time from the webhook settings. After rotation, both the old and new secrets are valid for 24 hours to avoid dropped deliveries.
If your endpoint returns a non-2xx status code or times out, ReviewPanel retries with exponential backoff:
Send a test event from your webhook settings to verify your endpoint is configured correctly. The test event uses the webhook.test.sent type and includes sample data.