No-Code Integrations
Connect VideoConduit to Zapier, Make, n8n, and other automation platforms.
How VideoConduit Works with No-Code Tools
VideoConduit’s REST API and webhook system make it straightforward to integrate with any automation platform. The pattern is the same regardless of which tool you use:
Send an HTTP request to create a job (POST to any endpoint)
The job processes in the background on VideoConduit’s servers
Webhook delivers the result to your automation tool
Use the result (download URL, transcript, etc.) in your workflow
No Custom App Needed
VideoConduit works with every platform's built-in HTTP/webhook modules. You don't need a dedicated VideoConduit app or plugin — just standard HTTP requests and webhook receivers.
Zapier Integration
Zapier’s “Webhooks by Zapier” app handles both sending requests to VideoConduit and receiving webhook callbacks. Here’s how to set up a complete workflow.
Step 1: Set Up a Webhook Trigger (Receive Results)
Create a new Zap and choose Webhooks by Zapier → Catch Hook as
the trigger. Zapier gives you a unique URL like
https://hooks.zapier.com/hooks/catch/123456/abcdef/. Copy this URL — you’ll
register it with VideoConduit so results are sent here.
Step 2: Register the Webhook URL
Register your Zapier catch hook URL as a VideoConduit webhook endpoint so it receives job results:
curl -X POST "https://videoconduit.com/v1/webhooks" \
-H "Authorization: Bearer vc_your_api_key" \
-H "Content-Type: application/json" \
-d '{
"url": "https://hooks.zapier.com/hooks/catch/123456/abcdef/",
"events": ["job.completed", "job.failed"]
}'
Alternative: Per-Job Webhooks
Instead of registering a global webhook, you can pass webhook_url directly in each job request. This is useful if you have different Zaps for different job types.
Step 3: Submit Jobs via Zapier Action
Add an action step using Webhooks by Zapier → Custom Request:
{
"method": "POST",
"url": "https://videoconduit.com/api/v1/download",
"headers": {
"Authorization": "Bearer vc_your_api_key",
"Content-Type": "application/json"
},
"body": {
"url": "{{steps.trigger.url}}",
"quality": "720p"
}
}
Example Workflow
Google Sheets → VideoConduit → Google Sheets: When a new row is added to a Google Sheet with a YouTube URL, download the video and store the download link back in the sheet.
- Trigger: Google Sheets → “New Spreadsheet Row”
- Action: Webhooks by Zapier → “Custom Request” to
POST /v1/downloadwith the URL from the row andwebhook_urlset to your Catch Hook - Trigger: (Second Zap) Webhooks by Zapier → “Catch Hook” receives the completed job
- Action: Google Sheets → “Update Spreadsheet Row” with
download_urlfrom the webhook payload
Make (Integromat) Integration
Make uses the Webhooks module to receive callbacks and the HTTP module to send API requests.
Step 1: Set Up a Custom Webhook
Add a Webhooks → Custom webhook module as your scenario trigger.
Make generates a URL like https://hook.eu1.make.com/abcdefg123456. Register this URL
as a VideoConduit webhook endpoint (same cURL as the Zapier example above, just swap the URL).
Step 2: Send Requests with the HTTP Module
Add an HTTP → Make a request module:
{
"url": "https://videoconduit.com/api/v1/transcribe",
"method": "POST",
"headers": [
{"name": "Authorization", "value": "Bearer vc_your_api_key"},
{"name": "Content-Type", "value": "application/json"}
],
"body": "{\"url\": \"{{1.url}}\", \"language\": \"en\"}"
}
Example Scenario
Google Drive → VideoConduit → Google Drive: Watch a Google Drive folder for new text files containing video URLs, process each via VideoConduit, and save transcripts to another folder.
- Trigger: Google Drive → “Watch Files in a Folder”
- Action: Google Drive → “Download a File” (read the URL from the text file)
- Action: HTTP → “Make a request” to
POST /v1/transcribe - Trigger: (Second scenario) Custom Webhook receives the completed transcript
- Action: Google Drive → “Upload a File” with the transcript data
n8n Integration
n8n’s Webhook node and HTTP Request node provide everything you need for VideoConduit integration.
Step 1: Create a Webhook Node
Add a Webhook node as the trigger for your workflow. n8n gives you a URL like
https://your-n8n.example.com/webhook/abc123. Register this URL with VideoConduit as a
webhook endpoint.
Step 2: Use the HTTP Request Node
Add an HTTP Request node with these settings:
- Method: POST
- URL:
https://videoconduit.com/api/v1/download - Authentication: Header Auth — Name:
Authorization, Value:Bearer vc_your_api_key - Body Content Type: JSON
- Body:
{"url": "{{$json.url}}", "quality": "720p"}
Example Workflow
Webhook → VideoConduit → Slack: Receive a webhook trigger, download a video via VideoConduit, and send a Slack notification with the download link.
- Trigger: Webhook node receives a request containing a video URL
- Action: HTTP Request node calls
POST /v1/download - Wait: A second Webhook node (separate workflow) catches the VideoConduit callback
- Action: Slack node sends a message with the
download_urlfrom the webhook payload
Generic Webhook Integration
Any platform that supports incoming webhooks can receive VideoConduit job results. Here’s what you need to know.
Setting Up a Webhook Endpoint
Register your webhook receiver URL via the API or the dashboard:
curl -X POST "https://videoconduit.com/v1/webhooks" \
-H "Authorization: Bearer vc_your_api_key" \
-H "Content-Type: application/json" \
-d '{
"url": "https://your-platform.example.com/webhook-receiver",
"events": ["job.completed", "job.failed"]
}'
Webhook Payload Format
Every webhook delivery sends a JSON payload with the event type and job data:
{
"event": "job.completed",
"timestamp": "2025-01-15T12:00:00Z",
"data": {
"job_id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"job_type": "download",
"status": "completed",
"source_url": "https://youtube.com/watch?v=dQw4w9WgXcQ",
"download_url": "https://dl.videoconduit.com/files/a1b2c3d4.mp4",
"result_data": {
"title": "...",
"format": "mp4",
"filesize": 15234567
},
"credits_charged": 1,
"created_at": "2025-01-15T10:00:00Z",
"completed_at": "2025-01-15T12:00:00Z"
}
}
For the full webhook reference, see the Webhooks guide.
Signature Verification
Every delivery includes an X-VideoConduit-Signature header with an HMAC-SHA256 signature.
If your platform supports custom header validation, use it to verify the signature against your
webhook secret. See the
signature verification guide
for code examples in Python, JavaScript, PHP, Go, and Ruby.
Retry Behavior
VideoConduit expects a 2xx response within 10 seconds. Failed deliveries retry up to 3 times with
exponential backoff: 1 minute, 5 minutes, then 30 minutes after the initial attempt. All deliveries
are logged and visible via GET /v1/webhooks/{id}/deliveries.
Common Patterns
Poll-Based Pattern
If your platform doesn’t support incoming webhooks, you can poll for job status instead. After submitting a job, periodically check its status:
curl "https://videoconduit.com/api/v1/jobs/JOB_ID" \
-H "Authorization: Bearer vc_your_api_key"
Poll every 10–15 seconds. When status changes to completed or
failed, the job is done. Most platforms have a “delay” or “wait”
step you can use between polls.
Batch Processing
Submit up to 25 URLs at once via POST /v1/batch. Each job in the batch triggers its own
webhook delivery when complete, so your automation tool receives one callback per finished job.
curl -X POST "https://videoconduit.com/api/v1/batch" \
-H "Authorization: Bearer vc_your_api_key" \
-H "Content-Type: application/json" \
-d '{
"urls": [
"https://youtube.com/watch?v=video1",
"https://youtube.com/watch?v=video2"
],
"job_type": "download",
"quality": "720p"
}'
Error Handling
Always check the event field in webhook payloads. A job.failed event means
the job encountered an error — credits are automatically refunded. The
data.error_message field contains details about what went wrong. In your automation,
add a conditional branch to handle failures (e.g., send an alert, retry with different parameters,
or log the error).
Rate Limiting
When submitting multiple jobs in a loop, add a short delay (1–2 seconds) between requests to
stay within your plan’s rate limits. Check the X-RateLimit-Remaining response
header to see how many requests you have left in the current window. See the
Rate Limits guide
for limits by plan.
Credit Usage
Each job consumes credits from your account. Check your credit balance in the dashboard before running large batch workflows. Use the /v1/info endpoint (1 credit) to validate URLs before submitting higher-cost jobs.