A webhook is a message RecReview sends to a web address you own, the moment something happens — a delivery, an approval, a new version. Point it at Make, Zapier, n8n or your own service and the rest of your tools find out immediately.
This article is for whoever builds the integration. If you only want RecReview to move a task or send an email when something happens, you want automations instead.
Before you start: webhooks need the Pro or Studio plan, and you have to be a workspace owner or admin.
Set one up
- Click your avatar at the top right and choose Workspace Settings.
- Open the Automations tab and scroll to the webhooks section at the bottom.
- Find the event you care about and click Configure.
- Paste the web address that should receive the message.
- Optionally fill in Secret (optional, for HMAC signature), so your side can prove the request came from RecReview.
- Click Save.
- With the webhook enabled, use the send button on its row to fire a test.
A test returns Webhook sent! with the response code, or Failed to send with the error.
One URL per event, per workspace. Saving again replaces the previous URL.
The events
| Event | Fires when |
|---|---|
video.delivery |
A video is sent for client review |
video.delivery_approved |
The client approves the final video |
video.uploaded |
A new version is uploaded |
video.comment_added |
A comment is added |
gallery.delivery |
A photo gallery is sent for client review |
gallery.delivery_approved |
The client approves the photo gallery |
gallery.comment_added |
A comment is added to a gallery photo |
plan.delivery |
A production plan is sent to a client |
script.delivery |
A script is sent to a client |
What arrives
Every request has the same shape: the event name, when it happened, and a data object with the details.
{
"event": "video.delivery",
"timestamp": "2026-09-02T14:03:11.000Z",
"data": { "project_name": "...", "client_name": "...", "video_title": "...", "version_number": 3 }
}
A delivery message also carries stats (versions, hours tracked, days open, comments resolved and total), assets with the download, review and thumbnail links, the AI summary, who delivered it and when, and the linked task.
Warning: These messages include client data such as name and phone number. Send them only to a service you control.
Verify the request
Every request carries these headers:
X-Webhook-Signature—sha256=followed by an HMAC-SHA256 of the request body, keyed with your secret.X-Webhook-Event— the event name.X-Webhook-Timestamp— the same timestamp as the payload.
Compute the same signature over the raw body and compare it with the header. Set a secret when you save the webhook: without one there is nothing to compare against, and you cannot confirm the sender.
Failures and retries
If your address does not answer, RecReview sends the message again a few times before giving up. If your side answers with an error saying it rejected the message, that is final — fix it and trigger the event again. RecReview keeps no delivery history you can browse, so keep your own log.
The address has to be reachable on the public internet: a local or internal address will not work.