Overview
Webhooks allow you to receive real-time notifications when your video processing completes, instead of polling the API repeatedly.Recommended: Always use webhooks for production applications. Polling is inefficient and can hit rate limits.
How Webhooks Work
1
Provide Webhook URL
When creating a video, include your webhook URL
2
Video Processing
SlideVid processes your video (typically 2-5 minutes)
3
Receive Notification
When complete, SlideVid sends a POST request to your webhook URL with video details
4
Return 200 OK
Your endpoint must return a 200 status code to confirm receipt
Webhook Payload
When your video is ready, you’ll receive this payload:Payload Fields
string
Event type:
project.completed or project.failedstring
The project/video ID
string
Status:
completed or failedobject
Video details (only present if status is
completed)object
Custom data you provided when creating the video. Use this to correlate webhook responses with your internal systems (e.g., course IDs, user IDs, order numbers). Only present if you included
metadata in the original request.string
Error message (only present if status is
failed)Implementing a Webhook Endpoint
Node.js (Express)
Python (FastAPI)
Next.js API Route
Webhook Security
Verify Webhook Source
Use HTTPS
Always use HTTPS for your webhook endpoints to ensure data is encrypted in transit.
Secret Tokens
Include a secret token in your webhook URL for additional security:Retry Logic
If your endpoint doesn’t return a 200 status code, SlideVid will retry:- 1st retry: After 1 minute
- 2nd retry: After 5 minutes
- 3rd retry: After 15 minutes
Best Practices for Retries
Testing Webhooks
Local Development with ngrok
Webhook Testing Sites
webhook.site
Get a temporary webhook URL for testinghttps://webhook.site
requestbin.com
Inspect webhook payloadshttps://requestbin.com
Test Webhook Endpoint
Common Issues
Webhook not received
Webhook not received
Possible causes:
- Webhook URL not publicly accessible
- Firewall blocking SlideVid’s IP addresses
- Endpoint returning non-200 status code
Duplicate webhooks
Duplicate webhooks
Possible causes:
- Your endpoint took too long to respond
- Endpoint returned non-200, triggering retry
Slow webhook processing
Slow webhook processing
Problem: Your endpoint is slow, causing timeoutsSolution: Return 200 immediately, process asynchronously
Webhook Events
Currently supported events:Next Steps
Error Handling
Learn how to handle errors gracefully
Complete Workflow
See webhooks in action