Journeys
Build it once. It keeps running. A journey is an automation your AI CMO runs over time – a welcome series, a win-back play, a weekly content engine – built on a visual canvas and executed for you, person by person.
Creating a journey
Journeys in the sidebar gives you three ways in:
- Describe it. Type what you want – "every Monday, research AI news and draft a LinkedIn post" – and press Draft it. The AI builds the journey and opens it on the canvas for review. Nothing is saved until you save it.
- Templates. A gallery of ready-made journeys in two groups – Get customers (lead welcome, launch amplifier, SEO content engine, ad creative refresh and more) and Keep customers (win-back for at-risk, reactivation, loyalty boost, referral ask). One click opens the template on the canvas.
- Blank canvas. New journey starts you from a trigger and an empty canvas.
Every journey belongs to one brand profile and works in that brand's voice – the builder header shows which.
The building blocks
Drag steps from the left rail. The main groups:
- Triggers (every journey has exactly one): Audience (a segment or picked people enter when you publish), Manual (you run it yourself), Repeat (a schedule – hourly, daily, weekdays, weekly, monthly), On event (a person enters when something happens).
- Messaging: Email, SMS, Website message – covered below.
- Flow: Wait, Condition (branch yes/no on things like "did they open the email?", "did they click a tracked link?", audience membership, or a profile attribute like total spend, days since last purchase, or RFM group), In audience?, A/B split, Notify me (an alert to you with the run's results), and Goal (the finish line).
- And the rest of the toolkit: social posts (LinkedIn, X and X threads, Facebook, Instagram), blog and SEO articles, images, ad drafts, web research, page scraping, tracked links, webhooks to call your own systems, and reusing content from your library. Content steps work draft-first – the AI writes, you approve.
Event triggers
The On event trigger enrolls a person the moment something happens. The options, exactly as they appear:
- someone submits a form
- someone clicks a tracked link
- someone is active on your website (daily)
- someone becomes At Risk / Can't Lose / a Champion / Loyal – these fire when a customer's lifecycle stage changes, so a save play can run itself the day someone starts slipping
- someone triggers one of your registered custom events – register events in Data → Events and they appear here
Event triggers are polled continuously; a matching person is enrolled and their run starts within about a minute.
The Email step
The Email step is AI-written: you give it a prompt ("Monthly product update – friendly, one CTA to the changelog"), choose Campaign (one message, one CTA) or Newsletter (a multi-section issue), and the journey drafts it for your approval before anything sends.
- Send to: by default, the person moving through the journey. You can instead broadcast to a segment – each run emails the whole audience, up to 500 people. Unsubscribed people are always skipped.
- Test send: send just that email to any address, subject prefixed [Test].
- Setup required once: email sending is configured per brand profile in settings – either The AI CMO sends for you on a verified domain, or use your own provider (Resend, Postmark, SendGrid, or any SMTP). Sending stays off until a verification email arrives, so a misconfigured domain can never send to customers.
The SMS step
SMS is literal: the text you write is the message that sends – no AI rewriting. It needs SMS sending connected first (Twilio, Telnyx, Vonage, MessageBird, or sms.to), contacts need a phone number, and opted-out numbers are always skipped. STOP replies opt people out automatically.
The Website message step
Shows a message on your own site to the person in the journey – a corner card, top banner, or modal, rendered by the Website SDK. You control when it appears (immediately, after a delay, at scroll depth, on exit intent, when they arrive from this journey's email, or after an event), how long it stays live, and whether a dismissal is final.
Each website message can carry a measured goal – "success is a purchase / a conversion / a form submitted within N days of seeing it" – counted against your warehouse, with revenue summed. The node shows its performance right on the canvas: shown, clicked, converted, and revenue.
Who enters – and who never will
- Audience triggers enroll everyone in the segment when you publish; publishing again picks up people added since. Each person goes through a journey once.
- Enroll people in the Activity panel lets you hand-pick contacts into a running journey.
- Blacklisted people are dropped at the door – they never enroll, and the block is logged. Unsubscribed and opted-out people are skipped at every send step. The weekly frequency cap (set in your sending settings: at most N messages per person per 7 days, across all journeys) skips anyone already at their limit.
Running and watching
- Save keeps a draft. Start publishes; once live, edits go out with Publish changes.
- Test rehearses the published version without publishing anything. Run now publishes what's on the canvas and runs it.
- The live canvas shows the running step pulsing, with per-step counts of who's here and who has passed.
- The Activity panel is the full ledger – every run, step by step: drafts waiting for your approval, sends, branches taken, skips with their reasons, and completions. Filter by Needs you to see only the runs waiting on your approval.
Measuring what a journey earns
Turn on the Uplift holdout and a random slice of enrollments (5, 10, or 20%) is deliberately left unmessaged as a control group. Comparing their revenue against everyone else's tells you what the journey actually caused – not just what happened near it.