How to Build an Automated Marketing Workflow in Braze

Open brass padlock and key resting on a folded route map beside a small plant, showing the entry and exit settings to decide before building a Braze Canvas.

An automated marketing workflow in Braze is a Canvas built from decisions made in a set order: how users enter, who is eligible, what they receive, how long they wait and when they leave. Settle entry, re-eligibility and exit before you add a step, then build the journey and plan how you will change it.

‍

Key Takeaways

  • Settle entry, re-eligibility, exit, conversion event and control group before you add a step.
  • Conversion events can't be edited after launch, and a control group can't be added retrospectively.
  • Send custom events with the current time, because a backdated timestamp can make Braze treat a delay as already elapsed.
  • By default users advance through every Message step, so add a Decision Split on Received Message from Canvas Step where a later step depends on delivery.
  • Set re-eligibility for the maximum duration of the Canvas, or prevent re-entry, so users aren't messaged twice.
  • Test on a duplicate Canvas restricted to test users, and avoid editing live Canvases.

‍

What is a Braze automated marketing workflow?

In Braze, an automated marketing workflow is a Canvas. The documentation puts it this way: "Canvas connects delays, decisioning, and messages so you can branch experiences based on what users do and when they do it." That makes a workflow a sequence of decisions as much as a sequence of messages.

Braze draws a clear line between the two tools. For a single messaging step across one or more channels, the Canvas documentation points you to campaigns.

We use "workflow" for any Canvas that runs without someone pressing send. Examples are a welcome series, a replenishment reminder and a lapse nudge.

The Canvas best-practices page opens with three prompts: what you want users to accomplish, who you are trying to reach, and why you are building the Canvas. Write the answers down before you open the editor. They become your entry audience, your conversion event and your exit criteria.

‍

What should you decide before you build any steps?

Five settings decide how a workflow behaves, and several of them are hard to change once the Canvas is live. The table sets out what the Braze documentation says about each.

DecisionWhat the documentation saysWhy it comes first
Entry typeUsers enter on a schedule, through an action, or through the APIIt decides what can go wrong at the door
Re-eligibilityBy default, a message is sent to a user only onceIt decides whether the journey can repeat
Exit criteriaUsers who perform the exception event or match the segments and filters receive no further messagesIt should line up with your main conversion
Conversion eventConversion events can't be edited after launch, and they power Canvas optimisation and reportingThe reporting you get later depends on it
Control groupYou can't add a control group retrospectivelyAfter launch you can only decrease the control variant percentages

‍

Our sequencing advice is to settle all five before you place a single step. Conversion events and control groups are the two settings you can't repair later. The other three decide what the first message does to real users.

Braze notes that Canvas steps can move users only forward in the flow. The order you draw is the order your users live.

Name each step as you build. Braze recommends it, and it keeps the journey readable for whoever inherits the Canvas.

‍

How should users enter the workflow?

Braze evaluates the target audience for eligibility first, before users enter the Canvas journey. Entry type then decides how users arrive. Each type has a failure mode worth designing around.

Entry typeHow users enterWhat to check first
ScheduledOn a time schedule, similarly to how you schedule a campaignAudience eligibility, which Braze evaluates before entry
Action-basedWhen they take particular actions, such as opening your app, making a purchase or triggering a custom eventThe race condition below, and the triggering datapoint on a live profile
API-triggeredAfter you add them with the /canvas/trigger/send endpointPass event_properties through context, or add an Action Paths step first

‍

For action-based entry, Braze documents a race condition. The user may not be in the audience at the moment they perform the trigger event, which means they won't receive the campaign or enter the Canvas.

Braze advises you to confirm the trigger action can't fire before audience criteria are met. Verify the triggering datapoint appears on a live user profile in Messaging History before launch.

A second failure mode shows up as messages arriving earlier than designed. In the documented example, an action-based Canvas has a three-hour delay after a custom event.

If the timestamp is backdated by more than three hours, Braze treats the delay as already elapsed and sends the message immediately. Send custom events with the current time.

For scheduled entry in local time, launch the Canvas at least 24 hours before the intended entry time. That way no time zone misses the window.

‍

How do re-eligibility and exit criteria stop the workflow repeating itself?

By default, Braze sends a message to a user only once, even if they re-qualify multiple times. Re-eligibility needs to be turned on separately.

Re-eligibility for Canvas variants is tied to Canvas entry rather than message receipt. Read that twice if you plan to let people back in.

The documentation describes the consequence. A user who re-enters may receive the same message again, because the steps received on their first pass aren't visible to the second. To prevent this, you can configure the Canvas to prevent re-entry, or set the re-eligibility for the maximum duration of the Canvas.

Maximum duration is the longest possible time a user can take to complete the Canvas. Braze calculates it by adding the delays and trigger windows along the longest path.

Re-eligibility is calculated in seconds rather than calendar days. A window set against the maximum duration therefore holds exactly.

Exit criteria are the other half of the same control. If a user performs the exception event or matches the segments and filters, they don't receive any further messages.

Braze suggests aligning exit events with your primary conversion. You can also add segment-based exits, so users leave the journey when they convert or no longer qualify.

‍

How do delays and branches shape the workflow?

A Delay step can run up to two years (730 days). Braze defines a "day" as 24 hours calculated from the time the user enters the Delay step.

A "calendar day" waits until the next specified time, which could be less than 24 hours. Choose deliberately, because a reminder meant for the morning will land at a different time under each setting.

Changes to user attributes or contact information during the delay are reflected when the user advances to subsequent steps. That is useful for personalisation and worth remembering when an address or preference changes mid-journey.

The documented delay behaviours read best as a list of ways a user can leave a Canvas earlier than you planned. If the selected date and time have already passed when users reach a Delay step, they exit the Canvas. If a Delay step is the last step, users are automatically advanced out.

If the Canvas has two Delay steps and the first is longer than the second, users also exit. We check for all three on every build.

For branching, Braze describes Decision Split components as simple "yes or no" logic that creates two mutually exclusive paths. Action Paths split the journey based on actions and engagement events, such as making a purchase. Use a Decision Split when the question is about who someone is, and Action Paths when it is about what they did.

‍

What advances users past a Message step?

By default, users advance through all Message steps regardless of whether they received the message. The documentation's fix is to add a Decision Split step directly after your Message component. Add the filter Received Message from Canvas Step, then select the Canvas and Message step.

This matters when the next step assumes delivery. A follow-up that says "as we mentioned" will reach people who never got the first message.

Add the split wherever a later step depends on an earlier send. Route the people who didn't receive it to a different path.

Delivery validations add a further check at message send, to confirm your audience still meets your criteria. Braze recommends using them when quiet hours, Intelligent Timing or rate limiting are enabled.

‍

How do quiet hours and delivery validation interact?

Quiet hours hold a message and deliver it later. Aborting a message discards it entirely. The two are easy to confuse when you read a send report, so check which behaviour your Canvas is set to.

If a large audience has messages held during quiet hours, all of those messages send at once when the window closes. Quiet hours also do not re-evaluate segment membership for a held send. A user who converted while their message was held can still receive it.

That second point is why we pair quiet hours with delivery validation. We do it on any workflow where a conversion should end the journey.

Braze also recommends choosing either quiet hours or Intelligent Timing rather than using both together. The exception is where policy, compliance or other requirements make quiet hours necessary alongside Intelligent Timing.

‍

What does a hypothetical replenishment workflow look like?

Take a hypothetical home-fitness equipment retailer. It is an invented example for illustration.

It is not client work and it uses no figures. The retailer wants to remind customers to reorder a consumable part shortly before it runs out.

Here is how we would sequence the build:

  1. Set action-based entry on the purchase event, and confirm on a live profile that the event arrives with the current time.
  2. Add a Context step that stores the reminder date, then a Delay step that delays by that context variable, so each customer waits for their own date.
  3. Place a Message step, then a Decision Split directly after it on Received Message from Canvas Step, so a follow-up only reaches people who got the first message.
  4. Set the exit criteria to the repurchase event, matching the primary conversion, so a customer who reorders early stops receiving reminders.
  5. Set re-eligibility to the maximum duration of the Canvas, so a second purchase starts a new cycle without replaying the first.
  6. Add a control group before launch, since it can't be added afterwards.

‍

When a context variable is invalid, Braze lets the user continue through the Canvas without context set by the Context step. In this design that means a user with a bad date would skip the wait. We would test that path with deliberately bad data before launch.

‍

How do you test before launch and change the workflow after?

Braze recommends duplicating your Canvas and restricting entry to test users only, filtered on external ID, email address or phone number. Reduce delays to about one second to speed up QA, then launch the test Canvas. Confirm that Delays, Decision Splits, Audience Paths and Action Paths behave as expected.

Preview has boundaries. Connected Content executes during preview user paths, but webhooks execute when test messages are sent, outside the preview run itself. Plan your test sends around that.

Once the workflow is live, the documented advice is to avoid editing live Canvases, as there may be unexpected behaviour. The table shows what the documentation says about changes after launch.

ChangeWhat happens after launch
Conversion eventsCan't be edited
Audience Paths, Action Paths and Experiment PathsCan't be added, removed or reordered
Control variant percentagesCan only be decreased
Rate limitThe new limit applies only to users who flow through the Message step after the change
Newly created stepsUsers who haven't entered the Canvas yet are eligible
Stopping a CanvasDoes not exit users who are waiting in a step

‍

Suppose you stop the Canvas, duplicate it, change it and launch the new version. The Canvas then re-evaluates all users again, including those who were already enqueued. Decide your re-entry settings before you relaunch, or people who were already messaged may be messaged again.

‍

How does this connect to the rest of the programme?

A workflow depends on the events that start it. Read our guide to tracking user events for better campaigns in Braze before you wire up action-based entry. If your first workflow is onboarding, How to Automate Your Onboarding Journey Using Braze Canvas applies these ideas to that case.

For transactional sends, see How to Automate Transactional Emails with Braze. When a journey spans more than one channel, Building Multichannel Engagement Campaigns in Braze is the natural next read. If the programme you are automating is loyalty, Automating Loyalty Programs with Braze covers points, tiers and offers.

For the wider plan, see How to Build a Winning Customer Engagement Strategy with Braze. For a Canvas build that uses an automated channel fallback sequence, see our case study on unifying guest profiles for a global hospitality programme.

As a Braze implementation partner, CustomerIK recommends writing entry, re-eligibility, exit, conversion and control group on one page before anyone opens the editor. We also recommend that the first launch is a test Canvas restricted to internal users.

‍

Frequently Asked Questions
‍

1. How many steps can a Canvas have?

Braze documents a limit of 200 steps in a Canvas. Check the current documentation before you plan a large build, because limits can change.

2. What is the longest delay I can set?

You can extend Delay steps up to two years (730 days), according to the Delay step documentation.

3. Does a user receive a message again if they re-enter a Canvas?

By default, Braze sends a message to a user only once, because re-eligibility needs to be turned on separately. If you turn it on, a re-entering user may receive the same message again. Prevent re-entry, or set re-eligibility for the maximum duration of the Canvas.

4. Can I add a control group after launch?

Braze states you can't add a control group retrospectively, and after launch you can only decrease the control variant percentages.

5. Does reaching the next step mean the user received the message?

Not by default. Users advance through all Message steps regardless of whether they received the message. Add a Decision Split on Received Message from Canvas Step where it matters.

‍

Sources

‍

CustomerIK is a Braze implementation partner working across onboarding, technical integration, marketing operations and customer data management.

If you are planning a Canvas workflow and want a second view on entry, exit and re-eligibility before launch, let's talk.

‍

Preferences

Privacy is important to us, so you have the option of disabling certain types of storage that may not be necessary for the basic functioning of the website. Blocking categories may impact your experience on the website.

Accept all cookies
Accept all cookies

These items are required to enable basic website functionality.

Always active

These items are used to deliver advertising that is more relevant to you and your interests.

These items allow the website to remember choices you make (such as your user name, language, or the region you are in) and provide enhanced, more personal features.

These items help the website operator understand how its website performs, how visitors interact with the site, and whether there may be technical issues.

Thank you! Your submission has been received!
Oops! Something went wrong while submitting the form.