Skip to main content

Campaign Journey Builder

Build and manage automated guest communication journeys using the visual drag-and-drop Campaign Journey Builder in CRM.

Written by Fernando Fallabrino

The Campaign Journey Builder is a visual, drag-and-drop tool for building automated guest communication sequences. Instead of creating each email or action in isolation, you design the entire guest journey on a single canvas, from the moment a guest enters the campaign through every step, branch, and outcome.

Think of it as a flowchart for your guest communications. You place steps on the canvas, connect them in order, and the system automatically processes each guest through the journey based on the logic you define.

There are four step types available in the builder:

  • Actions: do something to a guest by sending an email, updating their record, adding them to a segment, and more.

  • Decisions: ask a yes/no question about what a guest has done, for example did they open an email or submit a form.

  • Conditions: check what is true about a guest right now, for example are they in a segment or do they have a valid email address.

  • Triggers: introduce a wait or delay, for example pause for two days, wait until a specific date, or wait until a certain hour.


Enabling the builder

The Campaign Journey Builder is enabled by your system administrator at the client level. Two toggles must both be switched on.

  1. Go to CRM Setup, then click Designer Settings, then click Client Designer Settings.

  2. Turn on Enable New Designer. This must be switched on first.

  3. Turn on Enable Enhanced Campaigns. This activates the Campaign Journey Builder.

📌 Note: Designer Settings are configured per client. Contact your system administrator if the Campaign Journey Builder is not visible in your account.


The Campaigns list

Go to Campaign Management Tools, then click Campaigns to open the Campaigns list.

Search and filter

Use the controls below to find campaigns in the list.

Control

What it does

Name

Free-text search on campaign name.

Campaign IDs

Enter one or more campaign IDs separated by commas to find specific campaigns.

Category

Filter by category. Defaults to All Categories.

Search

Applies filters and refreshes the list.

+ New

Opens the campaign creation form. Only visible to users with Full access permission.

Status icons

Icon

Status

Published

Pending

Expired

Unpublished

Row actions

Action

What it does

Edit

Opens the campaign setup form to edit its details and access the builder.

Clone

Creates a copy of the campaign, including its journey, with a new name.

Delete

Permanently deletes the campaign after a confirmation prompt.


Creating a campaign

Before entering the builder canvas, complete the campaign setup form.

Setup form fields

Field

Description

Required?

Name

The campaign's display name. Saving is blocked without this.

Yes

Category

Groups campaigns for organisation. Defaults to Uncategorised.

No

Description

Free-text notes about the campaign's purpose.

No

Allow contacts to restart

If Yes, a guest who leaves and re-enters the campaign restarts from the beginning.

Yes (Yes/No)

Published

Set to Yes to make the campaign live immediately. If a Publish at date is set, the campaign goes live at that time instead. Defaults to No.

Yes (Yes/No)

Publish at

Schedule a future date and time for the campaign to go live automatically.

No

Unpublish at

Schedule a future date and time for the campaign to stop processing automatically. If no end date is set, the campaign runs indefinitely.

No

Setup form buttons

Button

What it does

Launch Campaign Builder

Opens the flow canvas to start building the journey.

Save and Close

Saves the campaign details and returns to the campaign list.

Apply

Saves and stays on the setup page.

Cancel

Returns to the campaign list without saving.


Campaign states

A campaign can be in one of four states, which update automatically based on the publish settings you configure.

State

What it means

Published

Live and actively processing guest profiles through the journey.

Pending

Scheduled to go live at a future date. Not yet processing profiles.

Expired

The publish window has ended. No longer processing profiles.

Unpublished

Not running. Not processing any profiles.

⚠️ Important: Unpublishing a campaign does not remove guests from it or cancel their journeys. It pauses processing. When you re-publish, guests resume from exactly where they were. No steps are lost or repeated.


Profile sources: who enters the campaign

When you first open the builder, you choose where the campaign's audience comes from. These are called starting points. You can have up to three, one of each type.

Starting point type

What it does

Profile Segments

Guests who are members of selected segments are automatically added to the campaign.

Profile Forms

Guests created from submissions to selected forms are automatically added.

Profile Reward Segments

Guests who are members of selected reward segments are automatically added.

Key rules for starting points

  • You can add up to three starting points, one of each type, per campaign.

  • Within each starting point, you can select multiple segments, forms, or reward segments.

  • All starting points feed into a single shared journey. There is no separate path per source.

  • Profile Segments, Profile Forms, and Profile Reward Segments can each only be added once per campaign. Once a type has been added, it will no longer appear in the starting point picker.

  • A guest qualifying from more than one starting point is still a single member on a single journey. They will not travel the journey twice or receive duplicate communications.


The canvas

The canvas is the working area where you build the journey. You drag steps from the panel on the right onto the canvas and connect them in sequence. The canvas supports zoom and pan.

Adding steps to the canvas

There are two ways to add a step.

  1. Click the + button on the canvas to open a picker showing available steps. Steps that are invalid for the current position are greyed out and cannot be selected.

  2. Drag and drop from the right-hand panel directly onto the + button. If the step is invalid for that position, the drop is blocked.

🤓 Tip: Greyed-out steps and blocked drag-drops are the builder guiding you toward a valid journey structure. Review the Placement rules section to understand which step is needed before it.

Canvas controls

Two toggle controls sit at the top centre of the canvas toolbar. Both are session-only and reset to their defaults each time you open the builder.

Control

What it does

Default

Panel side toggle

Moves the Actions/Decisions/Conditions/Triggers panel between the right and left side of the canvas.

Panel on right

Light/Dark mode toggle

Switches the canvas between light (white) and dark backgrounds.

Light mode


Building a journey: step types

Each step type serves a different purpose. Use the sections below to understand what each one does and how to configure it.

Actions

Actions do something to a guest profile: send a communication, update their record, or move them between campaigns and segments.

Action

What it does

Key settings

Send Email

Sends a selected email to the guest.

Email to send (required), Email type (Transactional / Marketing). Marketing emails also have Priority and Attempts settings.

Send Email to User

Sends a notification email to a team member, not the guest.

User(s) to send to, To/CC/BCC addresses, email to send.

Send Reward Email

Sends the reward email assigned to the applicable reward rule. The template is resolved automatically from the reward rule and the guest's language.

No email selector.

Modify Profile's Segments

Adds or removes the guest from selected segments or reward segments.

Add to / Remove from (multi-select).

Modify Profile's Tags

Adds or removes tags on the guest's profile. New tags can be created inline.

Add tags / Remove tags.

Change Campaigns

Adds or removes the guest from other campaigns.

Add profile to / Remove profile from (multi-select campaigns).

Update Profile

Updates the guest's marketing consent, active status, or member level.

Marketing Consent Email, Marketing Consent SMS (No Change / Explicit / Implied), Deactivate, Member Level.

Push Profile to Integration

Pushes the guest's profile to a configured integration.

Integration (required).

Send a Webhook

Sends a webhook to a specified URL.

Webhook URL (required).

Delete Profile

Permanently deletes the guest's profile. This is always the final step and nothing can follow it.

Name only.

Decisions

Decisions ask a yes/no question about what a guest has done. The journey splits into a Yes path and a No path based on the answer.

Path

Meaning

Yes branch

The guest matched the decision, for example they opened the email. The journey continues down the green path.

No branch

The guest did not match. The journey continues down the red path.

Decision

What it checks

Settings

Opens Email

Did the guest open an email?

Name only.

Clicks Email

Did the guest click a link in an email?

Name, plus an optional list of URL text values to limit the check to specific links.

Replies to Email

Did the guest reply to an email?

Name only.

Submits Form

Did the guest submit a specific form?

Name, plus optional limit to specific forms.

Visits a Page

Did the guest visit a specific page?

Name, limit to pages, URL (wildcard supported), referrer (wildcard supported).

Device Visit

Did the guest visit using a specific device type?

Name, device type, device brand, device OS (all optional).

⚠️ Important: Decisions cannot be nested inside another decision's Yes or No branch. Opens Email and Clicks Email can only be placed after a Send Email or Send Reward Email step, not after Send Email to User. On the No branch of any decision, a Trigger must be placed before any Action can be added.

Conditions

Conditions evaluate something about the guest's current state and branch Yes/No based on whether it matches. Unlike Decisions, which check what a guest did, Conditions check what is true about a guest right now.

Condition

What it evaluates

Settings

Profile Field Value

Whether a profile field matches a specified value.

Field (required), Operator (driven by field type), Value.

Profile Segments

Whether the guest is a member of selected segments.

Segments and/or reward segments (multi-select).

Profile Campaigns

Whether the guest is a member of selected campaigns.

Campaigns (multi-select), optional date added filter.

Profile Tags

Whether the guest has specific tags.

Tags (multi-select; new tags can be created inline).

Has Valid Email Address

Whether the guest has a valid email address on their profile.

Name only.

Form Field Value

Whether a submitted form field matches a specified value.

Form (required), Field (required), Operator, Value.

Deferred conditions

The following conditions are only available when placed after a Decision or after another Condition. They appear greyed out in the picker when the current position does not qualify. Rather than evaluating just once, the system keeps re-checking until the condition is met, or a timeout sends the guest down the No path.

Condition

What it evaluates

Join Loyalty Programme

Whether the guest joined the loyalty programme within the evaluation window.

Reservation Created

Whether the guest has an active reservation created within the evaluation window (excludes cancelled and no-show statuses).

Reservation Cancelled

Whether the guest has a reservation that was cancelled within the evaluation window.

Reward Has Been Used

Whether an issued reward has been used by the guest.

Triggers and timing

Triggers introduce a wait or delay before the next step runs. Place a trigger between steps to control timing.

Trigger type

What it does

Settings

Execute at a Relative Time Period

Waits a set interval before continuing (for example, wait two days).

Interval: number plus unit (minutes, hours, days, months, years). Schedule at a specific hour, or between a start and end hour. Days of week: restrict to specific days (a Weekdays shortcut sets Mon–Fri).

Execute at a Specific Date/Time

Waits until a specific date and time before continuing. If the date has already passed, the step executes immediately.

Date/time picker only.

There are three timing modes available.

  • Immediate: the step runs as soon as the previous step completes. No trigger is required. Not permitted on the No branch of a decision.

  • Interval: waits the configured duration. Hour and day-of-week restrictions are applied after the interval. Execution time is adjusted for the guest's local timezone.

  • Date: waits until the exact configured date and time. If the date is already past, the step executes immediately. Guest timezone adjustment does not apply.


Placement rules

The builder prevents you from putting a step in a position that would create an invalid journey. Steps that cannot be placed in a given position will be greyed out or hidden in the panel.

Rule

Detail

No nested decisions

Decisions cannot be placed inside another decision's Yes or No branch.

Email decisions require an email step first

Opens Email and Clicks Email can only follow a Send Email or Send Reward Email step, not Send Email to User.

No-branch trigger requirement

On the No branch of any decision, a Trigger must be placed before any Action can be added. This gives the guest a reasonable window to act before the journey moves on. A Trigger of even one hour satisfies this requirement.

Delete Profile is always the last step

No steps can be placed after a Delete Profile action.

Triggers cannot chain

A Trigger cannot follow another Trigger, connect into a Decision, or target another Trigger.

Deferred conditions are context-restricted

Join Loyalty Programme, Reservation Created, Reservation Cancelled, and Reward Has Been Used can only be placed after a Decision or after another Condition.

Send Reward Email restriction

Send Reward Email is not available in the Yes branch of a Profile Campaigns condition.


Editing and deleting steps

Every step on the canvas has a ⋮ menu (three-dot menu) in its top-right corner.

Editing a step

There are two ways to open the settings for any step.

  • Click the step directly on the canvas (click the icon or text area).

  • Use the ⋮ menu, then click Edit.

📌 Note: If a step still needs configuration, it shows a red pencil badge. Clicking the badge also opens the settings window directly.

Deleting a step

Use the ⋮ menu, then click Delete. What happens next depends on the step type.

Step type

What happens on delete

Regular step (Action, Trigger, etc.)

A confirmation prompt appears. On confirm, the step is removed and the journey reconnects around it automatically.

Decision or Condition (with two live branches)

You are asked to choose: Keep the Yes path, Keep the No path, or Delete both paths. Steps on the unchosen branch are removed.

Starting point

Deleted directly with no confirmation prompt. The canvas re-lays out the remaining starting points automatically.

⚠️ Warning: Choosing Delete both paths when removing a decision or condition will permanently remove all steps on both branches. This cannot be undone. Review both branches carefully before confirming.


Profile exits

Every branch in the builder ends with a Profile exits marker. This is added automatically and you do not create or configure it. It marks the end of that branch of the journey.

On any exit marker, you can choose Move to another path to convert it into a jump point that routes the guest to another step in the journey rather than ending there.

How a guest leaves a campaign

Reaching the end of the journey does not remove a guest from the campaign. A guest who completes all steps has no more steps to run — they remain an inactive member of the campaign until one of the following removal conditions is met:

  1. They no longer qualify from any starting point. They have been removed from all connected segments, forms, and reward segments.

  2. A Change Campaigns action explicitly removes them from the campaign.

  3. A Delete Profile action runs on them. The guest's profile is permanently deleted.


Saving and publishing

You can save a campaign at any time, even if some steps still need configuration. Incomplete steps are flagged visually but do not block saving.

Saving

Click Apply to save and stay on the page, or click Save and Close to save and return to the list.

Publishing

A campaign only processes guests when it is Published. There are two ways to publish.

  • Set Published to Yes on the setup form. The campaign goes live immediately, or at the scheduled Publish at date if one is set.

  • Use the publish toggle icon on the campaign list to flip a campaign live or offline instantly.

⚠️ Important: Steps with a red pencil badge (incomplete configuration) do not prevent publishing. However, guests who reach an incomplete step may not be processed correctly. Complete all step settings before publishing.

Editing a live campaign

You can edit a published campaign at any time. Guests already in the journey continue processing based on the steps as they were when those guests entered. Changes you make take effect for guests who reach that step after the change is saved.


Validation reference

The table below shows what blocks saving and what does not.

What blocks saving

Scenario

Error message

No campaign name entered

'Name is required'

No steps placed on the canvas

'Campaign must have at least one event'

No starting point selected (new campaigns only)

'Campaign must have at least one profile source'

What does not block saving

Incomplete step settings do not block saving. Steps with missing configuration are flagged with a red pencil badge, but the campaign can still be saved and the incomplete step completed at any time.

Inline validation in step settings windows

When configuring a step, clicking Save changes without completing required fields will show inline 'A value is required' messages under each missing field. The settings window will not close until all required fields are completed.


Decisions vs. conditions

Decisions check what a guest did: did they open an email, submit a form, or visit a page? Conditions check what is true about a guest right now: are they in a specific segment, do they have a valid email address, is their loyalty tier set to a particular value? Use a Decision to branch on guest behaviour and a Condition to branch on guest attributes.


Did this answer your question?