What it can do
Events:
upload_completed– one platform of a post finished, with success or the error, the post URL and yourrequest_id,job_idandexternal_id.social_account_connected– an account was connected (also by your client through a connect link).social_account_disconnected– an account was removed.social_account_reauth_required– access expired or was withdrawn; the account must be reconnected.
Every request is a JSON POST with these headers:
X-VA-SignatureandX-Upload-Post-Signature:sha256=+ HMAC-SHA256 of"<timestamp>.<raw body>"with your signing secretX-Upload-Post-Timestamp,X-Upload-Post-Event,X-Upload-Post-Delivery
Checking the signature in Node.js:
const expected = 'sha256=' + crypto.createHmac('sha256', secret)
.update(`${req.headers['x-upload-post-timestamp']}.${rawBody}`).digest('hex');
const ok = crypto.timingSafeEqual(Buffer.from(expected), Buffer.from(req.headers['x-va-signature']));
Limits
- Retries: if your server does not answer with a 2xx status, we try again up to 6 times with growing gaps.
- Number of webhooks per workspace depends on your plan (1 in the trial).
- Webhook addresses must be public https URLs; private network addresses are refused.
- Answer quickly (within a few seconds) and do the heavy work afterwards.
- Reject requests whose timestamp is older than a few minutes to block replays.
Setup
- Open API & webhooks in the app and click New webhook.
- Enter your https address and choose the events (all are selected by default).
- Copy the signing secret – it is shown only once.
- Click Send test event and check that your server receives it.
- Recent deliveries and their status codes are listed below the webhook.
Via the Upload-Post compatible API: POST /api/uploadposts/users/notifications with webhook_url and webhook_events. More: webhooks help.
FAQ
I lost the signing secret.
Delete the webhook and create a new one, or rotate the secret with POST /api/uploadposts/users/webhook-secret.
Do I get one event per platform or per post?
One upload_completed per platform. A video to three platforms sends three events with the same request_id.
Can I use webhooks with n8n, Make or Zapier?
Yes. Use their webhook trigger URL as the address. See the n8n, Make and Zapier pages.