Custom events let you push an event into Omneo from an external system, triggering reactions without an Omneo-native action occurring. This is useful for:
- Triggering a reaction based on behaviour in another platform (e.g., completing a survey, reaching a milestone in a third-party app)
- Firing a scheduled or manual automation from an external orchestration system
- Testing reaction configurations without waiting for real events
Firing a custom event
curl -X POST https://api.[tenant].getomneo.com/api/v3/events \
-H "Authorization: Bearer ${TOKEN}" \
-H "Content-Type: application/json" \
-d '{
"event": "custom.survey_completed",
"profile_id": "9332c9b2-e31c-4d49-8ec3-62a9466d339c",
"data": {
"survey_id": "NPS-2025-Q2",
"score": 9
}
}'
Using custom events in reactions
Configure a reaction with "trigger": "custom.survey_completed" (or whatever event name you use). When the custom event fires, the reaction chain executes with the event payload available as context.
{
"name": "NPS Survey Completed",
"trigger": "custom.survey_completed",
"is_active": true,
"actions": [
{
"name": "filter",
"sort_order": 1,
"arguments": [
{
"name": "condition",
"value": { ">=": [{"var": "data.score"}, 9] },
"is_dynamic": null
}
]
},
{
"name": "benefit.create",
"sort_order": 2,
"arguments": [
{ "name": "profile_id", "value": {"var": "profile_id"}, "is_dynamic": true },
{ "name": "definition", "value": "promoter-thank-you", "is_dynamic": null }
]
}
]
}
Custom event naming
Omneo custom event names follow the namespace.event_name convention. Use a consistent namespace for your integration to avoid collisions with Omneo’s native events.
Content needed: full custom event API specification, payload size limits, available context fields in custom event reactions, and rate limits.