ServiceCortex
Journeys

Triggers & Actions

Available triggers and actions for journey automation

This page provides a complete reference of the trigger events that start journeys, the step types that make up workflows, and the exit conditions that end enrollments early.

Trigger events

Triggers are domain events that automatically enroll clients into a journey. Each trigger type corresponds to a specific business event.

TriggerEventEntity enrolled
JOB_COMPLETEDA job is marked as completedClient
JOB_SCHEDULEDAn appointment is created for a jobClient
NEW_LEADA new client is createdClient
PROPOSAL_SENTA quote or estimate is sent to a clientClient
INVOICE_SENTAn invoice is sent to a clientClient
PAYMENT_SCHEDULE_CREATEDA payment plan is created for a clientClient
PAYMENT_SCHEDULE_ACTIVATEDA payment plan begins processingClient
PAYMENT_SCHEDULE_ITEM_OVERDUEA scheduled payment becomes overdueClient

Trigger conditions

Triggers support optional conditions that filter which events qualify for enrollment:

ConditionDescriptionApplicable triggers
sourceMatch events from a specific sourceAll
proposalKindMatch only QUOTE or ESTIMATE proposalsPROPOSAL_SENT
tagsMatch clients with any of the specified tagsAll
minAmountMatch only when the event amount exceeds a thresholdINVOICE_SENT, PROPOSAL_SENT

Step types

Steps are the building blocks of a journey workflow. Each step type serves a different purpose.

Email

Send a personalised email to the enrolled client. Requires a subject and body. Supports template variables such as {{clientFirstName}}, {{companyName}}, {{serviceName}}, {{appointmentDate}}, {{invoiceNumber}}, and {{invoiceTotal}}.

Emails are sent via the platform email system and respect client unsubscribe preferences. If the client has unsubscribed, the email is suppressed and the journey continues.

Delay

Pause the journey for a fixed duration before proceeding. Configure with a number and a time unit.

UnitExample
hoursWait 2 hours
daysWait 3 days
weeksWait 1 week
monthsWait 1 month

Scheduled Delay

Pause the journey until a calculated time relative to a date field on a related entity. Useful for "send 24 hours before the appointment" scenarios.

ParameterDescription
relativeToEntity field path (e.g., appointment.scheduledStart)
offsetNumber of time units. Negative = before, positive = after.
offsetUnitOne of hours, days, or weeks.

If the calculated target time is in the past, the journey proceeds immediately without waiting.

Wait for Reply

Pause the journey until the client replies to the previous email or a timeout is reached. When the timeout fires, one of three actions can occur:

Timeout actionBehaviour
continueMove to the next step in the sequence.
exitExit the enrollment entirely.
branchFollow a specific branch (condition path).

Condition

Evaluate a condition and branch the workflow accordingly. Condition steps have two outgoing connections: a "Yes/True" branch and a "No/False" branch.

Condition typeWhat it checks
fieldCompare an entity field using equals, contains, greater_than, or less_than.
email_openedWhether the previous email was opened.
repliedWhether the client replied to the previous email.

Action

Perform an automated operation during the journey. Available action types:

Action typeDescription
add_tagAdd a tag to the enrolled client.
remove_tagRemove a tag from the enrolled client.
update_fieldUpdate a field on the enrolled entity.
webhookCall an external URL with a GET or POST request containing the enrollment context.

Notification

Send an in-app notification to team members. You can configure who receives the notification:

TargetDescription
Specific usersNotify specific team members by ID.
Assigned usersNotify the user assigned to the enrolled entity (e.g., job owner).
By roleNotify all users with a specific role (e.g., admin, manager).

If no recipients are specified, notifications are sent to account administrators by default.

Exit conditions

Exit conditions automatically remove a client from a journey when a specific event occurs. This prevents sending irrelevant messages (for example, payment reminders after an invoice is paid).

Exit eventUse case
JOB_COMPLETEDStop follow-ups when the work is done.
UNSUBSCRIBEDRespect the client's opt-out across all journeys.
invoice_paidStop payment reminders when the invoice is settled.
proposal_acceptedStop proposal follow-ups when the client approves.
appointment_cancelledStop appointment reminders when the visit is cancelled.
PAYMENT_SCHEDULE_COMPLETEDStop payment plan reminders when all installments are paid.

When a client exits a journey, the enrollment status changes to Exited with the triggering event recorded as the exit reason. If the journey has re-enrollment enabled, the client can be enrolled again when the trigger fires next.

What's Next

On this page