Skip to main content
Journeys give you a visual, opinionated interface for building customer messaging experiences. Define your data contract, design your workflow, and let Courier handle the execution logic; timing, branching, enrichment, and delivery across every channel. You define the shape of the data your journey expects. Courier uses that contract to power autofill and variable hints throughout the editor, and makes the data available to every node in the workflow. When something goes wrong, you can step through an individual run against real production data and see exactly what happened at every node.

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

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 APIJourneys
ComplexitySingle callMulti-step workflows
Data contractNone (accepts any payload)Typed schema with editor autofill
TimingImmediate (or with delay parameter)Built-in delays and scheduling
Conditional logicIn your codeBuilt-in branching
DebuggingMessage logsStep-by-step run inspection
Best forTransactional messagesComplex messaging experiences

Getting Started

  1. Navigate to Journeys in the Courier app
  2. Click New Journey and choose a trigger type
  3. Add nodes to define your workflow
  4. Publish the journey to activate it
  5. Invoke via API or wait for a Segment event
For a hands-on walkthrough, see Create Your First Journey.

What’s Next