Prerequisites
- Familiarity with Create Your First Journey (or comfortable creating a journey from scratch)
- An email provider configured in your Courier workspace
- An internal endpoint that returns whether a user completed onboarding (e.g.,
GET /users/:id/onboarding-statusreturning JSON with acompletedboolean)
What You’ll Build
Build the Journey
Create a new journey with an API trigger
Navigate to Journeys, click New Journey, and select API as the trigger type.Add the following schema fields:
| Field | Type |
|---|---|
user_name | String |
signup_plan | String |
Add the welcome email
Drag a Send node onto the canvas below the trigger. Select Email as the channel and click + Create to build the template.Design a welcome message. Set the Subject to
Welcome to Courier, {{user_name}}! and add a text block in the body: You're on the {{signup_plan}} plan. Here's how to get the most out of your account...Click the pencil icon next to the template title at the top left and rename it to “Welcome Email.” Close the designer when you’re done.Add a 24-hour delay
Drag a Delay node below the send node. Set the type to Duration and enter
24 hours.This gives the user a day to explore before you check on their progress.Add a fetch node to check onboarding status
Drag a Fetch Data node below the delay. Configure it:
The
| Field | Value |
|---|---|
| URL | https://api.yourapp.com/users/{{user_id}}/onboarding-status |
| Method | GET |
| Merge Strategy | Soft Merge |
user_id variable comes from the invocation request, not the trigger schema. If you need it in a fetch URL, add user_id as a String schema field on the trigger and pass it in the data object when invoking.The response should include a boolean field (e.g., { "completed": true }). With Soft Merge, the response fields are added to the journey context without overwriting existing data. Downstream nodes can reference them with the data. prefix.Add a branch node
Drag a Branch node below the fetch node. Configure two paths:Path 1: Completed
- Field:
data.completed - Operator: is equal
- Value:
true
Add the congratulations email
On the “Completed” path, add a Send node for email. Create a template named “Onboarding Complete” with Subject
You're all set, {{user_name}}! and a body congratulating them on completing setup.Add the reminder email
On the “Default” path, add a Send node for email. Create a template named “Reminder Email” with Subject
Need a hand, {{user_name}}? and a body nudging them to finish setup.