CLI & MCP

Waymaker journeys

Manage email marketing journeys and campaigns in Commander. Create automated email sequences, track performance, and manage subscribers.

Email JourneysMarketing
Last updated: January 21, 2026

Overview

Manage email marketing journeys and campaigns in Commander. Create automated email sequences, track performance, and manage subscribers.

Usage

waymaker journeys <subcommand> [options]

Subcommands

SubcommandDescription
listList journeys
getGet journey details
createCreate a new journey
updateUpdate journey settings
startStart a journey
pausePause a journey
statsGet journey statistics

List Journeys

waymaker journeys list --workspace <workspace-id>

Output:

Journeys (6)

id           name                    status    subscribers   sent      opened
-----------------------------------------------------------------------------
jrny_abc123  Welcome Sequence        active    1,250         4,500     68%
jrny_def456  Onboarding Flow         active    890           2,670     72%
jrny_ghi789  Re-engagement           paused    450           900       45%
jrny_jkl012  Product Launch          draft     0             0         -

Filter by Status

waymaker journeys list --workspace ws_xxx --status active

JSON Output

waymaker journeys list --workspace ws_xxx --json
[
  {
    "id": "jrny_abc123",
    "name": "Welcome Sequence",
    "status": "active",
    "subscriber_count": 1250,
    "emails_sent": 4500,
    "open_rate": 0.68,
    "click_rate": 0.24,
    "workspace_id": "ws_xxx",
    "created_at": "2026-01-01T00:00:00Z"
  }
]

Get Journey Details

waymaker journeys get <journey-id>

Output:

Welcome Sequence

ID: jrny_abc123
Workspace: ws_xxx
Status: active
Created: January 1, 2026

Trigger: New subscriber signup

Steps: (4)
  1. Welcome Email (immediate)
     - Sent: 1,250 | Opened: 68% | Clicked: 24%

  2. Getting Started Guide (Day 1)
     - Sent: 1,180 | Opened: 72% | Clicked: 31%

  3. Feature Highlights (Day 3)
     - Sent: 1,050 | Opened: 65% | Clicked: 28%

  4. First Week Check-in (Day 7)
     - Sent: 920 | Opened: 58% | Clicked: 19%

Overall Stats:
  Subscribers: 1,250
  Completed: 820 (66%)
  Unsubscribed: 25 (2%)

JSON Output

waymaker journeys get jrny_abc123 --json

Create Journey

waymaker journeys create \
  --workspace <workspace-id> \
  --name "New Journey" \
  --trigger signup

Output:

✓ Journey created (draft)
ID: jrny_new123
Name: New Journey
Status: draft

Add steps with:
  waymaker journeys add-step jrny_new123 --template welcome --delay 0

Start journey with:
  waymaker journeys start jrny_new123

Trigger Types

  • signup - New subscriber signup
  • tag - Tag added to subscriber
  • event - Custom event triggered
  • date - Specific date reached
  • segment - Added to segment

Create with Steps

waymaker journeys create \
  --workspace ws_xxx \
  --name "Onboarding Flow" \
  --trigger signup \
  --steps '[
    {"template": "welcome", "delay": 0},
    {"template": "getting-started", "delay": "1d"},
    {"template": "features", "delay": "3d"}
  ]'

Add Journey Step

waymaker journeys add-step <journey-id> \
  --template <template-id> \
  --delay "1d"

Delay formats:

  • 0 - Immediate
  • 1h - 1 hour
  • 1d - 1 day
  • 1w - 1 week

Add with Conditions

waymaker journeys add-step jrny_abc123 \
  --template follow-up \
  --delay "2d" \
  --condition "opened:previous"

Update Journey

waymaker journeys update <journey-id> \
  --name "Updated Name"

Update Step

waymaker journeys update-step <journey-id> \
  --step 2 \
  --template new-template \
  --delay "2d"

Start Journey

waymaker journeys start <journey-id>

Output:

✓ Journey started
ID: jrny_abc123
Name: Welcome Sequence
Status: active

New subscribers will enter this journey automatically.

Pause Journey

waymaker journeys pause <journey-id>

Output:

✓ Journey paused
ID: jrny_abc123
Name: Welcome Sequence
Status: paused

Active subscribers paused at current step.
Resume with: waymaker journeys start jrny_abc123

Get Statistics

waymaker journeys stats <journey-id>

Output:

Journey Statistics: Welcome Sequence

Period: Last 30 days

Overall:
  Entered: 450
  Completed: 312 (69%)
  Active: 98 (22%)
  Exited: 40 (9%)

Email Performance:
  Sent: 1,580
  Delivered: 1,564 (99%)
  Opened: 1,063 (68%)
  Clicked: 376 (24%)
  Bounced: 16 (1%)
  Unsubscribed: 8 (0.5%)

Step Breakdown:
  Step 1: 68% open, 24% click
  Step 2: 72% open, 31% click
  Step 3: 65% open, 28% click
  Step 4: 58% open, 19% click

Stats as JSON

waymaker journeys stats jrny_abc123 --json

Stats for Time Period

waymaker journeys stats jrny_abc123 --period "7d"
waymaker journeys stats jrny_abc123 --from "2026-01-01" --to "2026-01-21"

Options Reference

list

OptionTypeDescription
--workspacestringRequired. Workspace ID
--statusenumFilter by status (active, paused, draft)
--jsonflagOutput as JSON

get

OptionTypeDescription
--jsonflagOutput as JSON

create

OptionTypeDescription
--workspacestringRequired. Workspace ID
--namestringRequired. Journey name
--triggerenumRequired. Trigger type
--stepsstringInitial steps as JSON array

add-step

OptionTypeDescription
--templatestringRequired. Email template ID
--delaystringRequired. Delay before sending
--conditionstringConditional logic
--positionnumberInsert position

stats

OptionTypeDescription
--periodstringTime period (7d, 30d, 90d)
--fromstringStart date (YYYY-MM-DD)
--tostringEnd date (YYYY-MM-DD)
--jsonflagOutput as JSON

AI Agent Workflow

# List active journeys
JOURNEYS=$(waymaker journeys list --workspace ws_xxx --status active --json)

# Analyze performance
for journey in $(echo $JOURNEYS | jq -r '.[].id'); do
  echo "Journey: $journey"
  waymaker journeys stats $journey --json | jq '{open_rate, click_rate}'
done

# Find underperforming journeys
STATS=$(waymaker journeys stats jrny_abc123 --json)
OPEN_RATE=$(echo $STATS | jq '.open_rate')
if (( $(echo "$OPEN_RATE < 0.5" | bc -l) )); then
  echo "Journey needs optimization"
fi

# Create journey from AI-designed sequence
waymaker journeys create \
  --workspace ws_xxx \
  --name "$AI_JOURNEY_NAME" \
  --trigger signup \
  --steps "$AI_GENERATED_STEPS"