Overview
Events & Automation is CXF’s event-driven engine. A single Event Template unifies two things: what triggers it (its type) and what runs in response — a visual automation flow of nodes connected by edges. When something happens — a contact submits a survey, a record changes, a schedule fires — the template runs its flow. For how this fits the platform, see Core concepts.Where to find it
Events & Automation live under Orchestration → Events & Automation, built on a visual flow canvas.Properties
| Property | Type | Required | Description |
|---|---|---|---|
title | string | Yes | Display name. |
slug | string | Yes | Identifier (a–z, 0–9, -). |
description | string | No | What the template is for. |
type | enum | Yes | contact, user, scheduled, or system — see Event types. |
is_enabled | boolean | No | Whether the template is live. |
requires_authentication | boolean | Conditional | Contact type only — when false, anonymous (ghost) contacts can trigger it. |
enrichment | object | No | The schema of extra data supplied when the template fires. |
first_action | object | No | An optional synchronous action run before the flow. |
nodes / edges | array | No | The automation flow. |
Trigger types
A template’s type determines how it’s triggered:| Type | Triggered by |
|---|---|
| Contact | A contact action through the public Contact API (supports anonymous/ghost). |
| User | An authenticated staff user through the User API. |
| Scheduled | A recurring schedule (RRULE), typically iterating a saved View. |
| System | Automatically, when a record is created, updated, or deleted. |
The automation flow
The response is a flow built from nodes connected by edges, running from a start node to a goal node. Nodes can branch on conditions, wait, run actions (via action plugins), or iterate a View. See Automation nodes.Enrichment
Each template defines an enrichment schema — the extra fields supplied when the template fires (for example a survey rating, an order total). Enrichment is validated against the schema, and its values are available throughout the flow asenrichment.*
in field mappings.
First action
A template can run one first action synchronously before the asynchronous flow — useful when the caller needs an immediate result. Any action plugin can run as the first action.Enabling & the event endpoint
Enabling a template (it must have at least one goal node) automatically creates a matching event endpoint so the template can be triggered through the API. The auto-created endpoint starts disabled — enable it when you’re ready to expose it.Runs & history
Each firing creates an automation run that tracks itsstatus (waiting,
running, completed, failed, cancelled), the path of nodes taken, and whether it
reached its goal. Events can also be stored historically for analytics, and legacy
events support moderation (pending / approved / rejected).
Seeds
Seeds support for Event Templates is coming soon.Governance & permissions
Only a super admin or Master can create, edit, enable, and delete Event Templates.API access
The User API manages templates, nodes, and edges, and triggersuser events; the Contact API
triggers contact events. See the API reference.
In depth
Event types
Contact, user, scheduled, and system triggers in detail.
Automation nodes
Flow nodes, field mappings, and the action availability matrix.
Related
Engagement Funnels
Funnel checkpoints and result layers fire event automations.
Endpoints
The event endpoint created when a template is enabled.