For the complete documentation index, see llms.txt. This page is also available as Markdown.

Journey Components

Use this page to understand what each journey component does, when to use it, and how it changes the path a user follows. After reading it, you will be able to choose the right component for timing, branching, and delivery inside a journey.

Journey components fall into three groups:

Group
Purpose
Typical outcome

State components

Control when the journey waits or continues

Users move forward after an event or delay

Branch components

Split users into different paths

Different users receive different follow-up actions

Action components

Send messages or update data

The journey performs an outbound or profile-changing action

State components

State components control pace and progression. Use them when the next part of the journey should depend on time, an event, or a future profile change.

On Event

Use On Event when the journey should move only after a specific event happens. The event can come from user behavior or from the product itself.

This component works well when the next message should react to a clear signal. That signal might be a signup, a purchase, a completed booking, or any tracked event that marks a meaningful change.

Common uses:

  • Start a welcome flow after account creation.

  • Send post-purchase messaging after checkout.

  • Trigger a survey after a support case closes.

For example, a learning app can wait for a course_enrolled event before sending onboarding content for that course. Users who sign up but never enroll do not receive course-specific guidance.

Delay

Use Delay when users should wait for a fixed amount of time before the next action runs. This helps you pace the journey and avoid sending several messages too close together.

Delay is useful when timing matters more than immediate reaction. It is often placed between two actions, or after an event, to create space before the next message.

Common uses:

  • Wait 24 hours before a cart reminder.

  • Spread onboarding emails over several days.

  • Hold a follow-up until closer to an event date.

For example, if a user abandons a cart, you can wait 24 hours before sending the first reminder. You can then add another 48-hour delay before a second reminder with an incentive.

Attribute Wait (Coming Soon)

Use Attribute Wait when the journey should pause until a profile attribute reaches a specific value. This is useful when the next action depends on user state rather than elapsed time.

This component is relevant for workflows that depend on subscription status, profile completeness, account tier, or another field stored on the user profile.

Common uses:

  • Wait until subscription_status becomes active.

  • Hold a premium onboarding flow until payment succeeds.

  • Pause reward messaging until a loyalty tier updates.

For example, a fitness app can wait until subscription_status = active before sending premium workout recommendations. Users with a pending payment stay in the wait state until that profile value changes.

On Interaction (Coming Soon)

Use On Interaction when the journey should react to how users engage with an earlier journey step. This is meant for reactive flows where the next action depends on whether users open, click, or otherwise interact.

Unlike a fixed delay, this component changes the path based on behavior. That makes it useful for follow-ups that should respond to engagement rather than time alone.

Common uses:

  • Continue only if a user clicks a message.

  • Send different follow-ups after email engagement.

  • React to in-app actions after a prompt appears.

For example, a course platform can send an assessment email, then wait for interaction. Users who complete the quiz move to a feedback message. Users who do not interact can receive a reminder path later.

Branch components

Branch components divide users into separate paths. Use them when one journey should adapt to different audiences, behaviors, or test variants.

User Branch

Use User Branch when users should follow different paths based on segments, attributes, or audience traits. This lets one journey handle more than one user type without duplicating the whole flow.

The branch decision happens at the point where the component is evaluated. Each user continues only through the matching path.

Common uses:

  • Separate new users from returning users.

  • Change messaging by region or language.

  • Personalize content by loyalty tier or lifecycle stage.

For example, an ecommerce journey can branch by purchase history. First-time buyers receive onboarding and product education. Returning buyers receive cross-sell recommendations based on prior orders.

Check Interaction

Use Check Interaction when you need to branch based on engagement with a push notification or campaign that was sent before this journey step. This component is useful for follow-up logic that depends on past engagement.

This component does not wait for a future interaction inside the current journey. It checks whether the user already interacted with a relevant push notification or campaign before the branch is evaluated.

Use Check Interaction for engagement that already happened before this branch runs.

Use On Interaction for interaction-based progression inside the journey after that component becomes available.

Common uses:

  • Follow up differently for users who opened a prior push.

  • Send a reminder to users who ignored an earlier campaign.

  • Reward users who engaged with an announcement.

For example, after a webinar invitation push, you can branch users by engagement. Users who opened the push can receive registration details. Users who ignored it can receive a reminder with a stronger reason to attend.

Variants

Use Variants when you want to test different versions of a message or path. This component helps you compare alternatives inside the same journey.

Variants are commonly used for experiments. You can test message copy, offers, timing, or channel decisions without building separate journeys for each version.

Common uses:

  • Compare two subject lines.

  • Test a discount against free shipping.

  • Compare different push message phrasing.

For example, a promotion can split users into two email variants. One variant offers 10% off. The other offers free shipping. You can then compare engagement or conversion and reuse the stronger option in future journeys.

Action components

Action components do the actual work of the journey. Use them to send a message, write data to the user profile, or emit an event for downstream use.

Update Profile

Use Update Profile when the journey should write or change a user attribute. This is useful when later logic depends on a value that the journey itself can set.

Profile updates help keep user data aligned with behavior. They can also support future segmentation, targeting, and reporting.

Common uses:

  • Store product or content preferences.

  • Update subscription or lifecycle fields.

  • Adjust loyalty points or membership tier.

For example, after a purchase, the journey can increase a loyalty score on the profile. Later journeys can then target users who reached a reward threshold.

Send Mobile Push

Use Send Mobile Push when the message should reach users on their mobile device. This is best for fast, time-sensitive communication.

Push works well for reminders, nudges, and urgent updates. It is often used when the value of the message drops quickly if delivery is delayed.

Common uses:

  • Remind users about an upcoming event.

  • Bring inactive users back into the app.

  • Send transaction-related updates.

For example, a fitness app can send a push 30 minutes before a scheduled workout. That timing gives the user enough notice to act while the message is still relevant.

In App Message

Use In App Message when users should see the message while they are already active in the app. This keeps the communication inside the product experience.

This component is useful when context matters. Because the user is already present, the message can react to what they are doing right now.

Common uses:

  • Introduce a feature during relevant app usage.

  • Show a limited-time offer while users browse.

  • Ask for feedback after a completed action.

For example, an ecommerce app can show an in-app message with a category discount while the user is viewing products in that category. The offer appears at the moment of highest intent.

Fire Event

Use Fire Event when the journey should emit a custom event. This is useful for logging milestones, triggering downstream workflows, or making journey activity available to other systems.

This component does not deliver a message to the user. Instead, it records or broadcasts that something happened at this point in the journey.

Common uses:

  • Log that a user reached a milestone.

  • Trigger an external automation.

  • Mark a state that later journeys can use.

For example, a music app can fire an event when a user creates a playlist after onboarding. That event can then trigger recommendation logic in another connected system.

Send E-Mail

Use Send E-Mail when the message should arrive through email. This is a good fit for longer content, transactional updates, and messages users may need to revisit later.

Email is often better than push when the content needs more detail, richer formatting, or a longer decision window.

Common uses:

  • Send onboarding or welcome series messages.

  • Deliver promotional campaigns with more detail.

  • Send receipts, confirmations, or shipping updates.

For example, after checkout, a retailer can send an order confirmation email with the order summary, estimated delivery date, and tracking details. Users can return to that email later without needing the app open.

Choose the right component

Use this quick guide when deciding which component to place next:

  • Choose a State component when timing or progression is the main requirement.

  • Choose a Branch component when different users need different paths.

  • Choose an Action component when the journey needs to send, update, or log something.

If you need to build the full flow after choosing your components, learn more in Build Journey.

Last updated

Was this helpful?