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 arunId, 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 therunId 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.