Thomas Schiavone
May 01, 2026

When customer messaging works, it feels timely, relevant, and specific to what someone is doing in your product. A new user gets the right onboarding nudge. A high-intent account gets routed toward the right follow-up. A disengaged user gets a different path before they disappear.
The hard part has always been making that happen at scale. You can write more branches, more template variants, and more routing rules, but that complexity piles up quickly. The more personalized the experience gets, the harder it becomes to maintain.
The AI node in Journeys gives you a better way to build adaptive messaging. It can classify users, score intent, generate notification copy, enrich profiles, and route each journey based on the context you already have. Instead of mapping every possible path by hand, you define what you want the model to return and use that structured output in the rest of the workflow.
The AI node rolled out to enterprise customers when we launched Journeys in March. Today, it's generally available to every Courier customer.

AI is useful in user messaging when it can do more than generate text. In Journeys, the AI node sits inside the workflow, so its output can decide what happens next: which branch a user takes, which notification they receive, what copy appears in the template, or what gets saved back to their profile.
Here's what that looks like in practice:
Each of these would normally live in a separate service or require you to maintain conditional logic across dozens of templates. With the AI node, they're one step on the canvas.
All of these patterns use the same core loop: prompt, schema, structured output, downstream action.
You place an AI node anywhere on the journey canvas. When a run reaches it:
From that point, every downstream node can reference the AI output the same way it references any other data in the journey. Use it in branch conditions, send templates, fetch URLs, or pass it into another AI node.
You pick the model per node, so different steps in the same journey can use different models. Use a smaller model for predictable structured tasks. Use a larger model when the prompt needs more context, more reasoning, or higher-quality generated copy.
| Model | Best for |
|---|---|
| GPT-5.5 | Complex reasoning, multi-step analysis, nuanced copy generation |
| GPT-5.4 | Strong general-purpose performance across classification and generation |
| GPT-5.4 Mini | Reliable structured output for scoring, extraction, and routing |
| GPT-5.4 Nano | Low-cost option for high-volume classification and simple field extraction |
| GPT-5 Nano | Lowest-cost option for boolean flags and single-field parsing |
| Model | Best for |
|---|---|
| Claude Opus 4.7 | Deep analysis, long-form generation, complex multi-field output |
| Claude Opus 4.6 | Detailed reasoning, structured summaries, profile enrichment |
| Claude Sonnet 4.6 | Balanced performance for personalization and content generation |
| Claude Haiku 4.5 | Fast classification, intent detection, simple structured responses |
Anthropic models also support web search, letting the model query the internet for real-time information before it responds.
The practical starting point: use Haiku or GPT-5.4 Mini for classification, extraction, and scoring. Move up to larger models when the output needs more reasoning or when copy quality matters more than throughput.

You define the shape of the model's response upfront. Add fields with names and types (string, number, boolean) in form mode, or paste a JSON Schema directly. The model returns structured JSON that your branch conditions, send templates, and downstream nodes use directly.
No free-form text to parse. You define the contract, the model fills it.
Your prompt has access to everything available in the journey at that point: trigger schema fields, user profile data, and responses from upstream fetch nodes. Type {{ in the prompt editor to autocomplete available fields. A token counter shows prompt size in real time.
Web search is available for Anthropic models. When toggled on, the model can query the internet before responding. Use it when your prompt needs current information that isn't in the journey context, like a company's latest funding round or pricing from a public pricing page.
AI nodes support conditions. If the conditions aren't met when the run reaches the node, it's skipped and no credits are consumed. This lets you run AI selectively (only for certain segments, only on certain paths) and keep costs predictable.
The configuration drawer has a Test button that runs the prompt against the selected model with sample variable values. You see the parsed JSON output immediately, so you can validate structure, check quality, and handle edge cases before the journey goes live.
Iterate on prompts and schemas without triggering real runs. When the output looks right, publish.
Every AI node execution is inspectable in Run Inspection. Click the AI node step in any run to see:
If the node fails (model error, timeout, malformed response), the step surfaces the error. The journey continues, but no AI output merges into context. You can add a branch condition downstream to handle the missing fields gracefully.
The AI node is available to all Courier customers today. If you've been using Journeys, you already have access.
Or start with the AI node documentation for full configuration details and examples. For pricing, see AI node billing.
New to Journeys? The Journeys overview covers the visual workflow builder, triggers, branching, and all the other node types. Add AI nodes wherever you need intelligence in your flows.

Your Entire Lifecycle Marketing Department, Run from Claude Fable 5
With the rollout of Claude' Fable model, one thing is becoming increasingly clear. Marketing execution (especially the long-tail work), will be done in an AI editor. In Courier, connect your agent to the MCP server or CLI, install Courier Skills, and keep a small folder of markdown context files. From there, one person with a coding agent covers the work that used to require a lifecycle marketer, an email designer, a marketing ops hire, and an engineer: building journeys, shipping templates, auditing every notification, and debugging delivery without opening a dashboard.
By Kyle Seyler
June 09, 2026

Create a customer journey from AI coding agent
Use Courier's Journey API to create multistep customer engagement workflows from your coding agent of choice. Describe the kind of journey you'd like to create, answer a few questions, and publish to the platform.
By Kyle Seyler
May 20, 2026

Using Claude Design, Claude Code, and Courier AI to Create a Multichannel Onboarding Series in 30 Minutes
A walkthrough of building a four-part multichannel onboarding series (email, in-app inbox, mobile push, and Slack) in 30 minutes using Claude Code and Cowork to orchestrate, Claude Design to mock each channel, the courier-template-builder skill to translate mocks into Elemental JSON, the Courier MCP to publish templates, and the Courier CLI to test sends. Covers the strategy behind the sequence and recommendations for anyone doing the same.
By Kyle Seyler
April 17, 2026
© 2026 Courier. All rights reserved.