Workflow Blocks
Workflow Editor Layout
The workflow editor consists of four main areas:
- Top toolbar ā rename the workflow and add tags, view or edit the workflow description, delete/duplicate a block, undo/redo actions, open the workflow preview, run a test launch, and save the workflow.
- Block panel (left) ā search for a block by name, or browse the Actions, Sending, and Conditions groups described below.
- Canvas (center) ā the workspace where you drag blocks and connect them into a workflow. Use the zoom controls in the bottom-left corner to adjust the view.
- Settings panel (right) ā appears when you select a block on the canvas, letting you configure its parameters. Learn more about the settings of each block in the instructions for its block group.

Workflow Blocks
Workflow blocks are divided into the following groups:

Control workflow execution and checkpoints, manage contacts, work with promo codes and orders, and integrate workflows with external services.
Deliver a message to a contact through a specific channel, including transactional sends and multi-variant testing.
ā check a contact's data or behavior against a rule and route them down a matching path; most blocks split into two paths (Yes/No), while Branch and Split route into more.
The Start block appears automatically in new workflows but belongs to no specific group.

Supported Data Access Formats in Workflow Blocks
All workflow blocks allow you to retrieve data from additional contact fields using the following case-insensitive access formats:
-
data.get('fields').get('1234') -
data['fields'].get('1234') -
data['fields']['1234'] -
data.get('fields')['1234'] -
fields.get('1234') -
fields['1234']
In addition to ${parameter}, you can use the following variable formats in all blocks that support value validation:
${event.data.parameter}ā a dot selector for nested parameters;${event.array[0].parameter}ā an index selector for array elements.
ImportantIn any workflow block parameter, variables can be referenced using both formats:
- With curly braces ā
${date}- Short format (without braces) ā
$dateBoth formats correctly substitute variable values in block parameters.
Workflow Context
Workflow context is a set of data about the contact and their behavior within a specific run: who the user is, which event triggered the workflow, and what additional data was received during its execution (for example, from a webhook).
Full access to the context in every block enables the workflow to respond to data in real time: you can personalize messages, build conditional branches, insert promo codes/links/order totals, and update contact fields without manual work ā right when the user takes action.

The following types of context data can be distinguished:
- Contact fields ā information from contact cards, such as demographics, loyalty level, or preferences.
- Event parameters ā detailed information about the event that triggered the workflow ā a list of products and the order amount, a promo code, etc.
- Event string data ā JSON passed as a string with the event.
- Webhook response parameters ā data received via webhooks from external sources, such as a personal promo code or authorization token.
- Order data ā purchase details or order history.
All workflow context data is available in its blocks. For example, to write the promo code used in the workflow to a contact card, you need to:
- After the Get promo code block and the timer for data processing, add the Update custom fields block with the necessary variables from the context, for example,
$promocodefor the promo code value and$contactIdto identify the contact whose card needs to be updated.

As a result, the promo code used in the first workflow will be written to the contact profile.
NoteEach type of workflow context data can be used for personalization and segmentation, allowing you to adapt your communication strategy in real time based on user behavior.
Updated 14 days ago
