Journey templates reference

Apex ships a library of starter Adaptive Journey templates covering common lifecycle moments across every vertical and conversion model. Each template is a fully-formed journey graph you can clone, customize, and publish without authoring anything from scratch. The gallery filters to what fits your workspace ("Available to me") and sorts the ones your data already supports to the top.

Find them at /dashboard/communications/journeys/templates.

Choosing a template

TemplateWhen to ship itSubject signalChannelsBranch / Experiment
Activation onboardingNew signups in first 7 daysuser_signed_upEmail + In-app + Mobile pushOn a rule (did they activate?)
Trial conversion (T-7d)Active trial, days before expirysubscription.trial_startedEmail + In-appOn a rule. Compare letters with an Experiment step.
Renewal / QBR prep30 days before renewal daterenewal.window_openEmailNone (linear sequence)
Expansion nudgeDetected upgrade signalusage.upgrade_signalEmail + In-appCompare offer letters with an Experiment step
Win-back30 days post-cancelsubscription.cancelledEmailOn a rule (re-engaged in window?)

If your stack matches multiple, start with Activation Onboarding. It's the most heavily exercised pattern and gives you a working journey within minutes.

What each template ships

Activation Onboarding (6 steps)

Trigger: user_signed_up
  ↓
Send: welcome email                ← marketing comm
  ↓
Wait: 3 days
  ↓
Branch: did the user activate?     ← conditional
  ↙ yes              ↘ no
Exit               Send: re-engagement
                       ↓
                       Exit

Why these defaults? Conditional branch (not adaptive) at step 4 because there's nothing to optimize — you only re-engage users who didn't activate. The 3-day wait pulls from research showing the highest activation lift comes from a 24-72h follow-up, not 12-hour or 7-day.

Common customizations:

  • Replace the welcome comm with your real brand-voiced welcome.
  • Add an in-app push at step 3 instead of (or alongside) the email.
  • Add an Experiment step if you want to compare multiple re-engagement letters against the same conversion.

Trial Conversion (4 steps)

Trigger: subscription.trial_started
  ↓
Wait: until 3 days before trial expiry  ← wait-for-event with deadline
  ↓
Send: T-3d nudge                          ← marketing comm
  ↓
Wait: until 1 day before trial expiry
  ↓
Send: T-1d urgency comm
  ↓
Exit

Why these defaults? Industry studies (Drift, Intercom, Userpilot) show ~60% of trial conversions happen in the last 48h. Two well-timed nudges at T-3d and T-1d outperform daily emails which fatigue the user.

Common customizations:

  • Add a T-7d "you're halfway through" educational email if your trial is 14d+.
  • Convert the T-1d email to an Experiment step comparing "discount" vs "education-only" copy variants.

Renewal QBR (3 steps)

Trigger: renewal.window_open  (~30 days before renewal date)
  ↓
Send: renewal-prep email   ← QBR scheduling CTA
  ↓
Wait: 14 days
  ↓
Send: renewal-confirmation reminder
  ↓
Exit

Why no branch? This template is intentionally linear. Renewal flows that branch on engagement risk over-personalizing in ways customers find creepy ("I see you haven't logged in — are you cancelling?"). Add a branch only if you have a clear pre-cancellation save mechanism.

Expansion Nudge (4 steps)

Trigger: usage.upgrade_signal      (e.g. usage > tier limit)
  ↓
Send: usage-summary email          ← educational, no push
  ↓
Wait: 5 days
  ↓
Experiment: offer variant
  ↙ A: free 14-day trial   ↘ B: 20%-off-first-month
Send (in-app)             Send (in-app)
   ↓                          ↓
Exit                       Exit

Why an Experiment step here? The lift between "free trial" and "discount" varies by who you sell to. The Experiment step finds which letter wins without you guessing.

Win-back (5 steps)

Trigger: subscription.cancelled
  ↓
Wait: 30 days                      ← cooldown — too soon = annoying
  ↓
Send: win-back email               ← marketing comm
  ↓
Wait: 7 days
  ↓
Branch: conditional — did they re-engage?
  ↙ yes (event observed)   ↘ no
Exit                       Send: final nudge (discount)
                               ↓
                               Exit

Why a 30-day cooldown? Sending a win-back the day after cancel triggers backlash. 30 days lets the customer feel the absence of your product. The 7-day branch wait gives the first email time to land before the final nudge.

Cloning a template

  1. Open /dashboard/communications/journeys/templates.
  2. Click Use template on the one you want.
  3. Apex creates a new draft journey with the full graph, Segment, and trigger pre-wired.
  4. The canvas opens automatically.

The cloned journey is independent — edits don't propagate back to the template. You can clone the same template multiple times (e.g. a "growth-tier" Activation Onboarding and a "free-tier" variant).

Authoring your own templates

The shipped starters live in the template gallery. To make a workspace-specific starter other authors can clone, publish a journey, then use Duplicate on the canvas.

What's not in any template (and why)

  • SMS — Apex does not send SMS. Use a Webhook step to your own SMS provider if you need it.
  • Reverse triggers ("don't trigger if X is true") — use NOT predicates on the Segment, not the trigger contract.