Skip to main content

What are flows?

Flows help set up automated communications with customers across all channels (email, mobile and web push notifications, SMS, webhooks, and more), assign promo codes, award bonus points, edit customer data, and transmit this data between segments. Flows are highly flexible, and combined with Maestra’s segmentation capabilities, they allow you to create an ultra-personalized sequence of interactions with each customer.

How to create a flow

Go to Campaign manager:
Screenshot 2026 06 12 At 17 17 20
Click the green Create campaign button in the upper right corner, expand Automations, and select Flow.
Screenshot 2026 06 12 At 17 18 54
Next, choose the folder where the system will create your flow and brand (if you have several, otherwise the brand field will be hidden) and click Create:
Screenshot 2026 06 12 At 17 26 53

How to set up a flow

Settings

Flow statuses

  • Draft: some nodes are still empty;
  • Ready for launch: all the blocks are filled in and the flow (or the draft) can be launched;
  • Launching: this status is displayed for a couple of seconds after clicking the Launch button;
  • Active: the flow is running;
  • Paused: the flow has been paused;
  • Creating draft: the status is displayed for a couple of seconds after clicking the Edit or Copy flow buttons.

Nodes

A flow consists of different nodes:
Screenshot 2026 06 12 At 17 31 43
We support the stable flow interface up to 150 added nodes.
  1. Launch Settings
The Launch Settings node is the starting point of every flow — it defines what kicks it off. Each flow requires exactly one Launch Settings node. There are two ways to trigger a flow:
  • Event-based — the flow starts when a specific action or change occurs, such as a customer joining your list, a browsing session ending, or an order status update.
  • On a Schedule — the flow runs on a recurring schedule rather than in response to an event: daily, on specific days of the week, or on set dates each month.
Screenshot 2026 06 12 At 17 49 30
  1. Condition
The Condition block lets you filter contacts after a flow is triggered by checking criteria across multiple entities — such as the customer, the triggering event (order, session, or product), or promo code availability. The entities available in the block depend on the flow’s trigger: some, like customer, are always accessible, while others — like order or session details — are only available when the flow is triggered by the corresponding event.
Screenshot 2026 06 15 At 11 12 56
  1. Steps
The Step block defines what actions Maestra Platform takes on a contact once they reach that point in the flow — such as sending a message, issuing a promo code, updating loyalty points, or editing customer data.
Screenshot 2026 06 15 At 11 18 43
  1. Flow splitter
The Split block randomly distributes contacts across up to five branches based on set probabilities, so you can send different groups down different paths within the same flow. Unlike the A/B test block, it handles distribution only — without any built-in performance tracking.
Screenshot 2026 06 15 At 11 24 11
  1. Wait
The Wait block pauses a contact’s progress in the flow until a set condition is met. There are three delay types:
  • Fixed — holds the contact for a set number of minutes, hours, or days.
  • Dynamic — waits until a date stored in a customer, order, product, or action field, with the option to trigger before, on, or after that date.
  • Timed waiting period— doesn’t add a delay, but controls when the contact exits the block by restricting it to specific hours or days of the week.
Screenshot 2026 06 15 At 11 31 47
  1. A/B test
The A/B Test block splits contacts into up to five branches at set percentages to test hypotheses and measure their impact on key metrics like order conversion rate, average order value, or revenue per contact. Unlike the Split block, it includes built-in reporting that tracks performance across variants and determines a winner.
Screenshot 2026 06 15 At 11 37 53
  1. Limitation
The Limit block caps how many contacts can pass through a specific branch — either over all time or within a rolling period. This lets you control spend on paid channels, cap the number of messages sent per period, or run promotions with a fixed number of rewards.\

Connections between nodes

Use connection lines to join nodes into a sequence 05_workflow_new The flow sequence can be linear: 05_workflow In this example, the flow sends an abandoned cart mobile push. After three days, if a customer hasn’t made an order, an email is sent with their abandoned cart. The sequence can also have different branches and can be split into steps that are chosen depending on the customer’s behavior: 06_workflow_new Here, once a customer gets added to the churn segment, the system sends out an email with recommendations. If the customer makes an order, they are added to the “active customers” segment. If a customer does not make any orders over three days, they’re assigned a promo code, which is sent in a new email.

Step-by-step example of creating a flow

Let’s imagine that we have the following goal in mind — we need to send out a subscription confirmation email after a customer has registered, and send a reminder if the customer doesn’t confirm their subscription within 24 hours.
  1. Drag the event block to the area where you will create your flow. After registration a customer get a subscription status — requires confirmation, therefore you should select the “Subscription preference changed” event and save your choice:
07_workflow
  1. Add a group of steps where the first email is sent. You can give the group a title to help you remember what it does:
08_workflow
  1. Schedule a 1-day waiting period and configure node schedule:
07_workflow_new This is basically like setting “working hours” for the Wait node. For example, you may want to avoid sending campaigns to your customers late at night. Using the schedule feature, you can specify hours when customers can “exit” the node and have the next group of steps applied (e.g. get a campaign sent to them). If you set the schedule from 8 a.m. to 8 p.m., customers will only receive the campaign during these hours.
  1. Check if the customer has confirmed their subscription:
10_workflow
  1. If the customer meets the specified conditions, the second email will be sent:
11_workflow That’s it, your flow is complete! You can now launch it: 08_workflow_new

Auto-saving and validation

Every time you update a flow, the new version will be saved. If you can’t launch your draft due to an error in one of the nodes, a link will appear to help you find the error: 09_workflow_new

How to edit a launched flow

  1. Click Edit.
  2. A draft version of your flow will be created. It doesn’t affect the launched version, which continues to run as before.
  3. Add your changes.
  4. Click Launch to activate the draft. The previous version of the flow will become inactive.
  5. Click Delete draft if you’d like to cancel the changes you made:
15_workflow
Please note that there can only be one draft per flow. When a new draft is created, the old one gets deleted.
  • If you have customers in Wait nodes, they will stay there until the nodes have been applied according to the flow’s settings prior to editing. As soon as these customers move on to the next node, the new version of the flow will be applied to them. ​
  • If you delete a Wait node, customers in this node will be removed from the flow.

Flow changes are recorded in the version history

Click the date next to the flow name to open its version history. The history displays the date of the last update of the draft and the dates when the versions were launched / stopped. Clicking on one of the flow versions will show you its settings at the time it was running. 14_workflow

How to limit the number of times your flow is launched for each customer

Click the cogwheel icon and choose an option from the drop-down list: 16_workflow Once: your flow will be applied to each customer only once while it is active, even if you make changes. Every time: you can limit the total number of times the flow is applied to each customer. Periodically: you can set the frequency and limit the total number of times the flow is launched for each customer.

How it works

There may be several groups of steps that are executed at different times in the flows. To better understand how to limit the launch frequency, it’s important to review a few key principles: A flow is considered to have been “launched” when a group of steps is executed
  • If a step could not be executed due to its relevance period expiring or if it was executed with an error (which will be reflected on the Campaign & Data monitoring page), the flow will not be launched. Please note that if you see a “Message not sent” action, this means Maestra tried to deliver the campaign and the flow was launched.
  • Applying several groups of steps to a customer within a single launch of the flow is considered as one flow activation.
For example, a customer receives a reminder about their unused points a week before they expire, and another reminder six days later if the points are still unused. Despite two groups of steps being executed, this counts as a single launch of the flow. Time is calculated from the last successful execution of any step This means that the possibility of a customer re-entering the flow may be postponed as they progress through it. For example, a flow is set up to send an email after the end of the session and issue a promo code three days later. The flow has been set to launch no more than once per week (seven days). The customer finishes their session on August 10 at 1:00 pm and receives the first email. Until August 17 at 1:00 pm, they will not be able to re-enter the flow. However, the limitation does not affect the current flow — the customer proceeds through the nodes and receives the promo code on August 13 at 1:00 pm. Now, the customer will not be able to enter the flow again until August 20 at 1:00 pm. Applied as soon as you launch the flow Once the system registers that a customer has passed through the flow, this will not be reset even if you edit the flow. This means that if you’ve limited the number of times the flow can run for every customer to “Once”, then the flow will only be launched once for each customer that meets its conditions. If you later edit the flow schedule and select “Every time” or “Periodically” instead, this will only apply to new customers and customers who have previously completed the flow will not re-enter it.

How to set a flow schedule

You can set a date and time for when you’d like to start and end the flow, which gives you more precision when it comes to automation. To set a flow schedule, click on the cogwheel icon in the top right-hand corner. 17_workflowStart” — the flow will only be launched for events that occur after the date and time specified here. “End” — this works in the same way as manually stopping the flow and uses the same principles: customers in delay nodes will remain there for the specified period, and steps will not be executed. If you shift the end date of the flow while customers are in the delay node, they will be able to proceed through the flow.

How to duplicate a flow

Open the menu in the top right corner and click Duplicate: 18_workflow