Available steps
Steps are the building blocks of Automation workflows. They define the actions that will be executed when the Automation runs. Learn more about each available step in its dedicated guide:Step properties
Every step in an automation has common base properties:key, type, and a config object whose shape depends on the type of the step.
key
type
The type of step. Possible values:
triggerconditiondelaywait_for_eventsend_emailadd_to_segmentcontact_updatecontact_delete
config
The configuration object for the step. The shape depends on the step
type.See the configuration for each step type:Step configuration
Below is a list of all the possible step types and their configurations.trigger
The trigger step starts the automation when a matching event is received.
condition
Branches the workflow based on rules. Condition configs can be a single rule or a logical group (and/or) of rules.
For rule type:
The field to evaluate on a condition step. Use
event. for the event that
triggered the Automation, contact. for the contact, or wait_events. for an
event received by a preceding wait for event step (for example,
event.amount, contact.email, or wait_events.order.shipped.order_id). A
wait for event filter_rule cannot use wait_events..The comparison operator. Possible values:
eq: equalsneq: not equalsgt: greater thangte: greater than or equal tolt: less thanlte: less than or equal tocontains: contains a given valuestarts_with: starts with a given valueends_with: ends with a given valueexists: field existsis_empty: field is empty
The value to compare against on a condition step. Either a fixed value or a
variable reference such as
{ "var": "event.order_id" }, using the
condition namespaces: event. (the triggering event), contact., or
wait_events. (a preceding wait for event). Not required for exists and
is_empty operators.and / or types:
Single rule example:
and or or to combine multiple rules into a single branch:
delay
Pauses execution for a specified duration.
Example
wait_for_event
Pauses execution until a specific event is received or a timeout is reached.
An optional rule that filters which incoming events resume the step.
wait_events. is not available.order.paid only when it is the order that started the Automation. field reads order_id on the incoming event. value reads order_id on the triggering event.
Example
send_email
Sends an email using a template.
add_to_segment
Adds the contact to a segment.
Example
contact_update
Updates a contact’s fields. Each field value can be either a hardcoded value or a dynamic variable reference using the { var: '...' } syntax.
Variable references use dot-notation with one of these scopes:
event.*: references a field from the triggering event payload (e.g.,event.firstName).contact.*: references a field from the current contact (e.g.,contact.last_name,contact.properties.company).
A map of custom contact properties to update. Keys correspond to your Contact
Custom Properties. Each value can be a
hardcoded value (string, number, boolean) or a variable reference.
Example
contact_delete
Deletes the contact from the audience. This step does not require any configuration fields. Pass an empty object {} as the config.
Example