Overview
Tickets emit domain events that are published as behavior events (TICKET_*). Journeys can listen to these events on edge triggers, the same way as custom events.
Ticket journeys use the ticket as their execution subject. Two tickets associated
with the same customer enter and progress independently, and a ticket without a
customer can still complete ticket-safe steps.
Protected event types
Ticket lifecycle events are internal protected behavior events. They can trigger journeys, but they cannot be emitted from Storefront event endpoints or created as custom event types:TICKET_CREATEDTICKET_UPDATEDTICKET_PRIORITY_CHANGEDTICKET_STAGE_CHANGEDTICKET_ASSIGNEE_ADDEDTICKET_ASSIGNEE_REMOVEDTICKET_RESOLVEDTICKET_CLOSEDTICKET_REOPENEDTICKET_COMMENT_ADDED
Recommended pilot journey
- Select Ticket as the journey subject.
- Select the ticket pipeline this journey manages.
- Use
TICKET_CREATEDas the entry trigger. - Add ticket-safe actions: email to an explicit recipient, change ticket stage, or loop.
- Add a New ticket stage condition to
TICKET_STAGE_CHANGED, for example New ticket stage is Waiting Customer. - Use Change ticket stage to move the current ticket to an exact stage from the selected pipeline.
Ticket stage action
The stage action always targets the ticket that owns the journey execution. It does not update every ticket associated with the same customer or source journey. The pipeline is selected once in the journey settings. Every Change ticket stage action then offers only active stages from that pipeline. The journey stores its pipeline id and each action stores a stable stage code, so renaming a stage does not break the flow. Changing the journey pipeline resets its stage actions to the new pipeline’s default stage.Ticket conditions
When aTICKET_* trigger is selected, the condition editor only exposes
the ticket fields available in that event. Order, purchase, RFM, tier, and
unrelated customer conditions are hidden because they cannot be evaluated from
a ticket lifecycle event.
TICKET_CREATED can branch using the ticket data available at creation:
- title and description
- priority, status, pipeline, stage, and source
- customer, assignee, and review presence or identifiers
- brand, channel, and store identifiers
| Event | Additional ticket properties |
|---|---|
TICKET_UPDATED | changed field |
TICKET_PRIORITY_CHANGED | previous and new priority |
TICKET_STAGE_CHANGED | previous/new pipeline and stage, plus stage type |
TICKET_RESOLVED, TICKET_CLOSED, TICKET_REOPENED | stage transition properties |
TICKET_COMMENT_ADDED | comment ID and internal-comment flag |
Event delivery
Ticket lifecycle changes publish protected behavior events (TICKET_*) directly to the events table and enqueue them for journeys. No separate outbox table or custom event type rows are required.
The journey queue does not derive routing from a ticket’s existing journey
association. Every active ticket journey with a matching trigger can evaluate
the event.