
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 it runs every time its trigger fires.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. You pick one of four trigger types when you create a journey:- API Invoke starts a run when your code posts to the journey’s invoke endpoint with a payload you control.
- Webhook starts a run when an event arrives on one of your inbound webhooks.
- Twilio Segment starts a run when a matching event arrives from your Twilio Segment event stream.
- Audience starts a run when a user joins an audience.
Core Concepts
Triggers
Choose how users enter the journey and what data comes with them
Send Node
Deliver messages through email, SMS, push, inbox, Slack, or Microsoft Teams
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
Batch
Collect events and release them together as one payload
Add to Digest
Aggregate events into a scheduled subscription-topic digest
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 you need:- 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
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 the event, audience match, or webhook to fire the trigger