XeniaXenia Docs

Simulation

PreviousNext

Test a journey with sample details, watch every step run, and follow real runs as they happen.

Simulation runs a journey and shows you what happened, node by node. It answers the question every launch depends on: given this input, which path does a person actually take, and does every node on that path succeed?

It has two modes. Simulation runs a journey on demand with details you supply. Live follows real runs as they happen.

Simulating a journey

Pick the journey

Choose the journey to run. The canvas loads with the same nodes and layout as the builder, so you are reading the flow you designed.

Provide the trigger input

Fill in the details the trigger would normally arrive with, such as the customer's email address or the order that set it off.

Run it

Xenia invokes the trigger and the canvas comes alive as execution progresses.

Read the result

Each step shows how it went, and the log underneath lists what happened and when.

Each step ends up in one of four states:

StateMeaning
Not startedNever reached on this run
RunningHappening now
CompletedFinished successfully
FailedSomething went wrong, with the reason in the log

The steps that were never reached tell you as much as the ones that ran: they show which way the journey branched, which is usually where a rule turns out to be wrong.

You can stop a run part way through, and step back through it to see the order things happened rather than only where it ended up.

Watching real runs

The Live tab follows a published journey as real people move through it. You pick the journey, and each run appears separately with its own view of the flow and its own log.

A live session can be saved and reopened later, or handed to a colleague, with everything intact.

What simulation does and does not do

So be deliberate about what you put in:

  • Use an email address or phone number you control, not a customer's.
  • Remember that steps which act on other systems really act on them. A HubSpot deal step creates a real deal, and a Shopify discount step creates a real discount code.
  • Consent and frequency limits still apply, so a test send to someone who has not opted in is correctly blocked. That is the guardrail working, not a broken test.

What to check before you send it for approval

  • Every path you care about has been tried at least once, including the one where the customer does not qualify.
  • Nothing ended in Failed.
  • Personalization filled in. If a subject line still shows {{first_name}}, that detail is not available at that point in the journey.
  • Waits are the lengths you meant.
  • Journey Orchestrator has a Simulation tab for the journey currently on the canvas
  • Approvals, where reviewers expect a journey to have been simulated already