---
title: Overview
url: https://docs.kaltura.com/docs/rich-media-cms-apis/integration/webhooks
---

## 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](/docs/getting-started/authentication/ks-overview))  
**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:**

```bash
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:**

```bash
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:**

```bash
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.
