Skip to main content
Product Journeys Example
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 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

  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 the event, audience match, or webhook to fire the trigger
For a hands-on walkthrough, see Create Your First Journey.