Overview
Configure a Slack incoming webhook to receive notifications when jobs fail. You can choose to receive all failure notifications, errors only (technical failures), or warnings only (content issues like private/unavailable videos). The webhook URL is stored securely and encrypted at rest.
Your API key for authentication
Request
Slack incoming webhook URL. Must start with https://hooks.slack.com/services/.
Controls which failure types trigger a Slack notification:
all — Both errors and warnings (default)
errors_only — Only technical failures (rate limits, bot detection, connection errors)
warnings_only — Only content issues (private video, members-only, geo-blocked, unavailable)
Examples
All notifications (default)
Errors only (skip warnings)
Warnings only (content issues)
curl -X POST "https://api.tornadoapi.io/user/slack" \
-H "x-api-key: sk_your_api_key" \
-H "Content-Type: application/json" \
-d '{
"webhook_url": "https://hooks.slack.com/services/T00000000/B00000000/XXXXXXXXXXXXXXXXXXXXXXXX"
}'
Success Response
{
"message" : "Slack webhook configured successfully" ,
"configured" : true ,
"notify_level" : "all"
}
Error Responses
400 Bad Request
400 Bad Request
401 Unauthorized
503 Service Unavailable
{
"error" : "Slack webhook URL must start with https://hooks.slack.com/services/"
}
If you already have a Slack webhook configured, calling this endpoint again will replace the existing webhook and notify level.
When a job fails, Tornado sends a Slack message with a colored attachment:
Red (:x:) for technical errors (rate limits, connection issues, bot detection)
Orange (:warning:) for content warnings (private video, members-only, geo-blocked, unavailable)
The message includes the Job ID , a sanitized error category (no internal infrastructure details are exposed), and the source URL .
Notify Level Reference
Level Errors (red) Warnings (orange) all✓ ✓ errors_only✓ ✗ warnings_only✗ ✓
What counts as an error vs warning?
Type Examples Error (technical)Bot detection, rate limited, connection error, upload failed, processing failed Warning (content)Private video, members-only, video unavailable, age-restricted, geo-blocked, channel terminated, copyright restricted
Only failed jobs trigger Slack notifications. Completed, pending, and processing jobs do not send any notification to Slack.