How Journeys Work
A journey is a directed graph of nodes that executes when triggered. You build it visually in the journey editor, publish it, and invoke it from your application or an event stream.Trigger → Node → Node → Node → …
Every journey starts with a trigger that defines how users enter the workflow. From there, nodes execute in sequence. Branch nodes can split the flow into multiple paths. The journey continues until all paths reach their end.Core Concepts
Send Node
Deliver messages through email, SMS, push, or inbox
Journey Templates
Create notification content inline, scoped to the journey
Branch
Split execution into conditional paths at runtime
Delay
Pause execution for a duration or until a specific time
Fetch Data
Pull data from external services during execution
Throttle
Limit how often a user passes through a point in the journey
Journeys vs Send API
The Send API is the right choice for most notifications. It handles rendering, routing, preferences, and delivery in a single call. You don’t need journeys for straightforward transactional messages. Journeys are for when your messaging involves:- Multi-step sequences with timing between steps (onboarding flows, reminder chains)
- Conditional logic that routes users down different paths based on their data or behavior
- Data enrichment from external services during execution
- Rate limiting to prevent notification fatigue
- Auditability where you need to step through exactly what happened for a specific user
| Send API | Journeys | |
|---|---|---|
| Complexity | Single call | Multi-step workflows |
| Data contract | None (accepts any payload) | Typed schema with editor autofill |
| Timing | Immediate (or with delay parameter) | Built-in delays and scheduling |
| Conditional logic | In your code | Built-in branching |
| Debugging | Message logs | Step-by-step run inspection |
| Best for | Transactional messages | Complex messaging experiences |
Getting Started
- Navigate to Journeys in the Courier app
- Click New Journey and choose a trigger type
- Add nodes to define your workflow
- Publish the journey to activate it
- Invoke via API or wait for a Segment event