Overview - Integration
Webhooks & Event Notifications Overview
Real-time HTTP webhooks and email notifications triggered by platform events — entry uploaded, transcoding complete, metadata changed, user added to category, and more. Clone pre-built system templates, configure your endpoint URL and payload, and activate.
Base URL: https://www.kaltura.com/api_v3 (may differ by region/deployment)
Auth: KS passed as ks parameter in POST form data (see Session Guide)
Format: Form-encoded POST, format=1 for JSON responses
Service: eventnotification_eventnotificationtemplate
When to Use
- Event-driven integrations — Trigger automated workflows in external systems (CMS, LMS, CRM) when content events occur in Kaltura
- Real-time notifications — Receive immediate HTTP callbacks when entries are created, updated, deleted, or reach specific statuses
- Workflow automation — Chain Kaltura events to downstream processing (caption ordering, distribution publishing, compliance review) without polling
- User notifications — Email entry owners, category managers, or groups when platform events occur
Prerequisites
- A Kaltura account with the Event Notification plugin enabled (requires
EVENTNOTIFICATION_PLUGIN_PERMISSION— one-time setup by your Kaltura account team) - An ADMIN KS (type=2) with
disableentitlementprivilege - For HTTP webhooks: an HTTPS endpoint to receive POST callbacks
- For email notifications: valid sender/recipient email addresses
Quick Start — Your First Webhook in 3 Steps
Step 1 — Find a system template to clone:
curl -X POST "$KALTURA_SERVICE_URL/service/eventnotification_eventnotificationtemplate/action/listTemplates" \
-d "ks=$KALTURA_KS" \
-d "format=1" \
-d "filter[objectType]=KalturaEventNotificationTemplateFilter" \
-d "filter[typeEqual]=httpNotification.Http"
Pick the template matching your event (e.g., "Entry Status Changed" for entry events). Note its id.
Step 2 — Clone it with your URL:
curl -X POST "$KALTURA_SERVICE_URL/service/eventnotification_eventnotificationtemplate/action/clone" \
-d "ks=$KALTURA_KS" \
-d "format=1" \
-d "id=$SYSTEM_TEMPLATE_ID" \
-d "eventNotificationTemplate[objectType]=KalturaHttpNotificationTemplate" \
-d "eventNotificationTemplate[name]=My Entry Webhook" \
-d "eventNotificationTemplate[systemName]=MY_ENTRY_WEBHOOK" \
-d "eventNotificationTemplate[url]=https://myapp.example.com/webhooks/kaltura" \
-d "eventNotificationTemplate[method]=2" \
-d "eventNotificationTemplate[signSecret]=my-webhook-secret" \
-d "eventNotificationTemplate[secureHashingAlgo]=2"
Step 3 — Activate:
curl -X POST "$KALTURA_SERVICE_URL/service/eventnotification_eventnotificationtemplate/action/updateStatus" \
-d "ks=$KALTURA_KS" \
-d "format=1" \
-d "id=$TEMPLATE_ID" \
-d "status=2"
Your endpoint now receives JSON POST requests when the matching event occurs. Verify the X-KALTURA-SIGNATURE header against SHA256(signing_secret + raw_body) to authenticate requests.