Skip to main content
View as Markdown

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 disableentitlement privilege
  • 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.