Skip to main content
View as Markdown

Email Notification Configuration - Integration

Email Notification Configuration​

Email notifications combine the event notification trigger engine with the Kaltura Messaging microservice for delivery (SendGrid-based, with tracking and CAN-SPAM compliance).

Configure Email Fields After Cloning​

curl -X POST "$KALTURA_SERVICE_URL/service/eventnotification_eventnotificationtemplate/action/update" \
-d "ks=$KALTURA_KS" \
-d "format=1" \
-d "id=$TEMPLATE_ID" \
-d "eventNotificationTemplate[objectType]=KalturaEmailNotificationTemplate" \
-d "eventNotificationTemplate[subject]=Entry {entry_name} is ready" \
-d "eventNotificationTemplate[body]=Entry {entry_id} has finished processing." \
-d "eventNotificationTemplate[fromEmail]=notifications@example.com" \
-d "eventNotificationTemplate[fromName]=Video Platform" \
-d "eventNotificationTemplate[to][objectType]=KalturaEmailNotificationStaticRecipientProvider" \
-d "eventNotificationTemplate[to][emailRecipients][0][objectType]=KalturaEmailNotificationRecipient" \
-d "eventNotificationTemplate[to][emailRecipients][0][email][objectType]=KalturaStringValue" \
-d "eventNotificationTemplate[to][emailRecipients][0][email][value]=admin@example.com" \
-d "eventNotificationTemplate[to][emailRecipients][0][name][objectType]=KalturaStringValue" \
-d "eventNotificationTemplate[to][emailRecipients][0][name][value]=Admin"

Email Template Fields​

FieldTypeDescription
subjectstringEmail subject (supports {token} placeholders)
bodystringEmail body — HTML or plain text (supports {token} placeholders)
formatinteger1=HTML, 2=plain text, 3=both
fromEmailstringSender email address
fromNamestringSender display name
toobjectRecipient provider
ccobjectCC recipient provider
bccobjectBCC recipient provider

Recipient Providers​

Static Recipients​

-d "eventNotificationTemplate[to][objectType]=KalturaEmailNotificationStaticRecipientProvider" \
-d "eventNotificationTemplate[to][emailRecipients][0][objectType]=KalturaEmailNotificationRecipient" \
-d "eventNotificationTemplate[to][emailRecipients][0][email][objectType]=KalturaStringValue" \
-d "eventNotificationTemplate[to][emailRecipients][0][email][value]=admin@example.com" \
-d "eventNotificationTemplate[to][emailRecipients][0][name][objectType]=KalturaStringValue" \
-d "eventNotificationTemplate[to][emailRecipients][0][name][value]=Admin"

Entry Owner (dynamic)​

-d "eventNotificationTemplate[to][objectType]=KalturaEmailNotificationUserRecipientProvider" \
-d "eventNotificationTemplate[to][userId][objectType]=KalturaEvalStringField" \
-d "eventNotificationTemplate[to][userId][code]={event.object.userId}"

Category Subscribers​

-d "eventNotificationTemplate[to][objectType]=KalturaEmailNotificationCategoryRecipientProvider" \
-d "eventNotificationTemplate[to][categoryId][objectType]=KalturaStringValue" \
-d "eventNotificationTemplate[to][categoryId][value]=$CATEGORY_ID"

Group Members​

-d "eventNotificationTemplate[to][objectType]=KalturaEmailNotificationGroupRecipientProvider" \
-d "eventNotificationTemplate[to][groupId][objectType]=KalturaStringValue" \
-d "eventNotificationTemplate[to][groupId][value]=content-team"

Content Parameters (Dynamic Tokens)​

Content parameters resolve at dispatch time from the event context:

curl -X POST "$KALTURA_SERVICE_URL/service/eventnotification_eventnotificationtemplate/action/update" \
-d "ks=$KALTURA_KS" \
-d "format=1" \
-d "id=$TEMPLATE_ID" \
-d "eventNotificationTemplate[objectType]=KalturaEmailNotificationTemplate" \
-d "eventNotificationTemplate[contentParameters][0][objectType]=KalturaEventNotificationParameter" \
-d "eventNotificationTemplate[contentParameters][0][key]=entry_id" \
-d "eventNotificationTemplate[contentParameters][0][value][objectType]=KalturaEvalStringField" \
-d "eventNotificationTemplate[contentParameters][0][value][code]={event.object.id}" \
-d "eventNotificationTemplate[contentParameters][1][objectType]=KalturaEventNotificationParameter" \
-d "eventNotificationTemplate[contentParameters][1][key]=entry_name" \
-d "eventNotificationTemplate[contentParameters][1][value][objectType]=KalturaEvalStringField" \
-d "eventNotificationTemplate[contentParameters][1][value][code]={event.object.name}"

Common {event.object.*} fields: id, name, description, userId, creatorId, tags, status, mediaType, duration, createdAt, updatedAt.

Delivery Characteristics​

PropertyValue
InfrastructureMessaging Service → SendGrid
Delivery latency~10-45 seconds after event
FormatHTML by default (configurable)
TrackingPer-recipient delivery and engagement via Messaging API

Event-Triggered vs Application-Triggered Email​

Event Notification Emails (this guide)Messaging API Direct (Messaging guide)
TriggerAutomatic on platform eventsOn-demand via message/send
RecipientsDefined in templateSpecified at send time
Use caseSystem alerts: entry ready, task completeProactive: invitations, campaigns