Skip to main content
Build the smallest journey that works, start a run from your code, then open the run and read what it did. One send node is enough to see the whole loop. Delays, branches, and digests are the same graph with more nodes on it. To build a journey entirely with the API instead, see .

Prerequisites

Build it

1

Create the journey

Open , select New Journey, and name it. Choose the API Invoke trigger, which is what lets your code start each run.
2

Add one send node

Drop a send node on the canvas, pick email, and select + Create to write its content inline. Each send node owns one Template scoped to this journey, so there is nothing to create separately.Address the recipient by user_id. The profile supplies the email address, which means preferences apply and the address can change without touching this journey.
3

Publish

Select Publish. That locks the draft as a version and makes it the one new runs use. Copy the journey ID from the editor.

Invoke it

carries the call in every language. The response returns a runId, which is the handle for everything below. Send an Idempotency-Key if the call sits anywhere a retry could reach it, because a repeated key returns the stored result instead of starting a second run.

Read the run

Inspect runs in the console. Take the runId from the invoke response, open the journey’s Logs tab, and search for it. The detail view draws each node’s outcome on the graph. Click a node to see its step context: the input data, the profile, any conditions evaluated, and the output. cover the run states and what each view shows. A journey that sends nothing looks identical to one that was never invoked until you open the run and see which node it stopped at.

Verify

1

The run completed

Invoke for a test user, then confirm the run reads as complete rather than sitting on the send node.
2

The message arrived

Check the inbox for the address on that user’s profile, then open and confirm the send is recorded against the journey.
3

A second invoke starts a second run

Invoke again without an Idempotency-Key and confirm two runs appear. Repeat with the same key and confirm only one does.

What to add next

Onboarding sequence

Delays and a branch, so only stalled users get nudged.

Nodes

Every node type, one page each.

Publish your changes

  • Publish the journey to ship a content edit. Editing a send node saves a template draft, and the journey keeps sending its published version until you publish again.
  • Runs finish on the version they started with. A new publish applies to runs that start after it.
  • Only a published journey runs. Publish before you invoke.