Skip to main content
The YAML editor lets you edit a journey as human-readable YAML. It’s an alternative view of the same journey definition — changes made here are immediately reflected in the Visual editor, and vice versa. Switch between the two at any point without losing work.

When to use it

  • You prefer editing text over clicking through a UI.
  • You want to make bulk structural changes quickly (reorder steps, copy-paste blocks, rename fields across the journey).
  • You’re reviewing or auditing a journey definition and want the full picture in one place.
  • You’re working from a YAML definition generated elsewhere (e.g., imported or templated externally).

Key concepts

  • Journey-as-YAML — the YAML editor surfaces the full journey schema: steps, value references, assertions, metadata, and overlays.
  • Round-trip editing — the Visual and YAML editors share one source of truth. There is no export/import step; switching views is instantaneous.
  • Schema validation — the editor validates your YAML against the journey schema in real time and highlights errors inline. Invalid YAML will not save.
  • See /reference/yaml-schema for the full field reference.

How it works

Open the journey in Build mode and use the view toggle at the top of the canvas to switch to YAML. The editor loads your current journey as valid YAML. Edit freely. The editor highlights schema violations as you type. When you switch back to the Visual editor, your changes are applied to the canvas.
If the YAML contains a schema error, you cannot switch back to the Visual editor until the error is resolved. Fix the highlighted issue, then switch views.

Examples

A minimal two-step journey in YAML:
name: Create and fetch order
description: Creates an order then fetches it by ID.
steps:
  - id: create-order
    name: Create order
    type: request
    template: orders/create-order
    values:
      customer_id:
        source: run-input
      item_sku:
        source: run-input
      api_key:
        source: secret
        secret_name: orders_api_key

  - id: fetch-order
    name: Fetch order
    type: request
    template: orders/get-order
    values:
      order_id:
        source: step-output
        step: create-order
        path: body.id
      api_key:
        source: secret
        secret_name: orders_api_key
Key things to note in this example:
  • template references a request template by path in the library.
  • source: run-input means the value is supplied at run time.
  • source: secret with secret_name selects a secret reference by name — the value is never stored in the journey.
  • source: step-output pulls a value from a previous step’s response using a path expression.
For the complete field reference, see YAML schema.

Visual editor

The canvas-based editing view — same journey, different interface.

YAML schema reference

Full field reference for the journey YAML format.

Values panel

How value sources work in journey configuration.

Step types

Supported step types and their YAML fields.