# Journey Canvas Visualization

Ask the AI to "show me the onboarding journey" and it renders a full visual canvas — stages flow left to right, decision points branch into paths, and every node is clickable to reveal the segment rules, wait conditions, or activation configs underneath.

Note
The journey canvas renders from the same YAML definition that gets pushed to production. What you see on the canvas is what will execute. This makes the canvas a validation tool, not just a visualization — you can catch misconfigured branches, missing activations, or incorrect wait durations before a single customer enters the journey.

## Objective

Use the journey canvas to visualize customer journeys, understand branching logic, inspect step configurations, and validate journey definitions before deployment.

## Prerequisites

- Signed in to Treasure AI Studio ([Getting Started](/products/ai-studio/getting-started))
- Familiarity with the chat interface ([AI Chat Interface](/products/ai-studio/chat/chat))
- A journey definition created or in progress (see [Skills & Marketplace](/products/ai-studio/skills/skills) for the **journey** skill)


## Why Visual Journeys Matter

Journey YAML definitions are powerful but dense. A 200-line YAML file with nested decision points, A/B tests, and merge steps is hard to reason about in text form. The canvas solves this:

- **See the full flow at a glance** — Every stage, branch, and merge is laid out spatially
- **Validate before you launch** — Spot missing activations, unreachable stages, or illogical branch conditions visually
- **Communicate with stakeholders** — Show a marketer or executive the journey without asking them to read YAML
- **Debug live journeys** — Understand why customers are taking unexpected paths by tracing the flow


## How to Request a Journey Canvas

Ask the AI to visualize any journey — one you've just built, one loaded from your Treasure AI account, or one you're designing from scratch.

**Example requests:**


```
You: Show me the welcome series journey

You: Visualize the journey I just created

You: Preview this journey before I push it to production
```

The AI renders the canvas in the file panel. For journeys you're building in conversation, the AI automatically offers a preview after generating the YAML definition.

## Reading the Canvas

The canvas reads **left to right**. Each journey is composed of **stages**, and each stage contains a **step tree** — a flow of steps connected by dashed lines.

### Stages

Stages are the top-level containers. Each stage displays:

| Element | What It Shows |
|  --- | --- |
| **Stage title** | The stage name in large gray text |
| **Entry criteria badge** | The segment condition that gates entry into this stage |
| **Exit criteria badge** | Conditions that remove customers from the stage |
| **Milestone badge** | The event or condition that marks stage success |


Stages flow left to right, and customers progress through them sequentially (unless a jump step redirects them).

### Step Types

Within each stage, steps are the individual actions and decisions. Each step type has a distinct visual identity:

| Step Type | Shape | Color | What It Does |
|  --- | --- | --- | --- |
| **Entry** | Circle | Blue | Starting point — where customers enter the stage |
| **Wait** | Circle | Red | Pauses the customer for a duration or until a condition is met |
| **Activation** | Square | Green | Sends data to an external system (email, webhook, Salesforce) |
| **Decision Point** | Diamond | Yellow | Branches customers based on segment membership |
| **A/B Test** | Diamond | Yellow | Splits customers into test variants by percentage |
| **Merge** | Diamond | Yellow | Reconverges branches back into a single path |
| **Jump** | Diamond | Purple | Redirects customers to a different stage |
| **End** | Diamond | Purple | Terminates the customer's journey |


### Connecting Lines

- **Dashed horizontal lines** connect steps in sequence within a path
- **Branching lines** split downward from decision points and A/B tests into sub-paths
- **L-shaped merge lines** bring branches back together at merge points
- **Vertical dotted lines** span the height of multi-branch sections


## Inspecting Step Details

Click any step node or branch badge to reveal its configuration in a detail panel.

### Activation Details

Click an activation step to see:

| Field | What It Shows |
|  --- | --- |
| **Connection** | The external system (e.g., Salesforce Marketing Cloud, SendGrid) |
| **Connector config** | Field mappings and settings for the activation |
| **Columns** | Which customer attributes are sent |


### Wait Condition Details

Click a wait step to see:

| Field | What It Shows |
|  --- | --- |
| **Duration** | How long customers wait (e.g., 7 days) |
| **Condition** | The segment condition that ends the wait early |
| **Timeout behavior** | What happens when the wait expires without the condition being met |


### Decision Point / A/B Test Details

Click a branch badge to see:

| Field | What It Shows |
|  --- | --- |
| **Segment rule** | The condition that determines which branch a customer takes |
| **Percentage** (A/B test) | The traffic split between variants |
| **Branch name** | The label for each path |


### Entry Criteria Details

Click the entry criteria badge on a stage to see the full segment definition — including nested conditions and operators — that gates entry.

Pro Tip
Use detail panels to validate your journey logic. Click through each decision point to confirm the segment rules match your intended targeting. This is faster and more reliable than reading YAML.

## Canvas Layout and Navigation

### Scrolling

Large journeys with many stages or deeply nested branches extend beyond the visible area. Use horizontal and vertical scrolling to navigate the full canvas.

### Visual Hierarchy

The canvas uses a consistent spatial grammar:

- **Horizontal position** = sequence (left is earlier, right is later)
- **Vertical position** = branching (branches stack downward from decision points)
- **Indentation** = nesting depth (sub-branches indent further from their parent)


### Theme Support

The canvas adapts to your Studio theme:

| Element | Light Mode | Dark Mode |
|  --- | --- | --- |
| Background | White | Dark slate |
| Connector lines | Light gray | Medium gray |
| Stage titles | Muted gray | Light gray |
| Badge text | Indigo | Light indigo |
| Node colors | Pastel palette (green, blue, red, yellow, purple) | Same pastel palette (consistent across themes) |


## Common Journey Patterns on the Canvas

### Linear Journey

The simplest pattern: Entry leads to a sequence of wait steps and activations.


```mermaid
flowchart LR
    A([Entry]) --> B([Wait 3 days]) --> C[Send Welcome Email] --> D([Wait 7 days]) --> E[Send Follow-up] --> F{End}
```

### Decision Branch

A decision point splits into two or more paths based on segment membership, then merges back:


```mermaid
flowchart LR
    A([Entry]) --> B{Decision}
    B --> C([Visited Pricing]) --> D[Send Pricing Email] --> F{Merge}
    B --> E([Excluded]) --> G[Send General Email] --> F
    F --> H{End}
```

### A/B Test Split

An A/B test divides traffic by percentage:


```mermaid
flowchart LR
    A([Entry]) --> B{A/B Test}
    B -->|50%| C[Email Template A] --> E{Merge}
    B -->|50%| D[Email Template B] --> E
    E --> F{End}
```

### Multi-Stage Journey

Stages flow sequentially, each with its own entry criteria:


```mermaid
flowchart LR
    subgraph S1[Stage 1: Awareness]
        A([Entry]) --> B[Ads] --> C([Wait])
    end
    subgraph S2[Stage 2: Consideration]
        D([Entry]) --> E[Email] --> F([Wait])
    end
    subgraph S3[Stage 3: Conversion]
        G([Entry]) --> H[Offer] --> I{End}
    end
    C --> D
    F --> G
```

## Using the Canvas for Validation

The journey canvas is a validation tool. Before pushing a journey to production with `tdx journey push`, use the canvas to check:

| Check | What to Look For |
|  --- | --- |
| **Complete paths** | Every branch reaches either an End step, a merge, or a jump — no dead ends |
| **Correct activations** | Each activation step connects to the right external system with proper field mappings |
| **Logical branching** | Decision point conditions match your targeting intent — click each branch to verify segment rules |
| **Reasonable waits** | Wait durations align with your campaign timing — no accidentally long or short delays |
| **Proper merges** | Branches reconverge where expected — customers don't get stuck in a branch indefinitely |
| **A/B test percentages** | Variant splits add up correctly and the control group is accounted for |


**Workflow:**

1. Build or modify the journey in conversation using the **journey** skill
2. Ask the AI to "preview this journey"
3. Review the canvas — click through decision points and activations
4. If something looks wrong, describe the fix: "Change the A/B split to 70/30" or "Add a 3-day wait before the second activation"
5. Preview again to confirm
6. Push to production: ask the AI to run `tdx journey push`


## Verification

After reading this guide, you can:

- [ ] Request a journey canvas visualization from the AI
- [ ] Read the canvas layout — stages flow left to right, branches stack vertically
- [ ] Identify step types by their shape and color (circle, square, diamond)
- [ ] Click a step node to inspect its configuration (activation details, wait conditions, segment rules)
- [ ] Use the canvas to validate journey logic before pushing to production


## Troubleshooting

| Issue | Solution |
|  --- | --- |
| Canvas doesn't render | Verify the journey YAML is valid — ask the AI to "validate this journey" or ask it to run `tdx journey validate` |
| Steps are missing | Check that all steps are connected via `next` references. Orphaned steps won't appear on the canvas |
| Branches don't merge | Add a merge step that references the branches. The canvas shows unmerged branches as open-ended paths |
| Canvas is very wide | Large journeys with many stages scroll horizontally. Use the scrollbar or trackpad to navigate |
| Detail panel doesn't open | Click directly on the step node shape (circle, square, diamond) — not the label text |


## Next Steps

- [Skills & Marketplace](/products/ai-studio/skills/skills) — Activate the **journey** and **validate-journey** skills for building journeys
- [TDX Commands](/products/ai-studio/query/tdx-commands) — Push journeys to production with `tdx journey push`
- [Charts & Data Visualization](/products/ai-studio/visualization/charts) — Visualize journey performance data
- [Artifact Output](/products/ai-studio/files/artifacts) — Export journey documentation as PPTX or PDF