OrchestrationCLI & MCP-native control plane · part of the TrailGuide command center

Orchestrate agentic personalization. Visualize every flow.

The Orchestration Layer is a CLI- and MCP-native control plane. Pull off any data source, stand up personalization endpoints and multi-step journeys, and ship guardrailed, AI-written messages across email and push, driven from your terminal, your CI, or any MCP client. It layers on top of the martech stack you already run, so you're no longer bound by the limits of any single tool in it.

$trailguide extract postgres://prod | personalize --strategy similar | journey deploy
Connect ClaudeRequest beta accessOne line to connect · OAuth · installs into your domain
app.trailguide.co / demo
Open full screen
Fully interactive, no signup. Click through the real product right here.
Your AI coworkers

A fleet of agents works the backlog with you.

Five agents scout the funnels, debate the ideas, and review the work, then file what survives for your team to approve. Nothing ships on its own.

  • BlazeProposerA/B a 7-day streak-nudge push for idle cooks
  • RangerCriticThat overlaps the weekly pack, tighten the cap first
  • PathfinderOpportunity scoutSave-to-first-cook drops 38% at the grocery step
  • CairnCodebase scoutThat flow lives in FeedCard.tsx, two screens to touch
  • SummitQA and reviewerTwo findings to fix before this PR can merge
Extract from any source · fire into any stack
BrazeIterableSegmentCustomer.ioOneSignalBigQueryMixpanelAmplitudePostHogRudderStackSlack
Connect in one line

Point Claude at TrailGuide and just ask.

No new dashboard to learn. Connect Claude (Code, Desktop, or web) or any MCP client, approve it once in your browser, then drive the whole layer in plain language.

$claude mcp add --transport http --scope user trailguide https://trailguide.co/api/personalizer/mcp
One brand, every variation

Draft it once. Re-render it for every audience.

Point the layer at your brand kit and data and it drafts full campaign creative, then rewrites the headline, swaps the offer, and re-cuts the art per segment and channel, all inside your guardrails.

AudienceDiabetes-friendlyChannelEmailToneWarmSeasonFall
How it comes together

From a row change to a running campaign, on one trail.

Every step stays grounded in the data and brand context you already have, and hands off cleanly to the next, so nothing is lost between the signal and the send.

Brand kit
AaIBM Plex
brand voice
CustomersGuidelinesProduct catalogPast campaigns
01Your data & brand context
Warehouse, customers, product catalog, and brand voice, pulled into one live model with no pipelines to build.
Trends identified
02Moments worth acting on
Triggers watch the rows that matter and agents turn the moment into a creative brief, before you go looking.
Fresh this fall
Shop now
SMS
New arrivals just dropped. 20% off your first order.
Video
03Guardrailed, on-brand creative
Email, push, and SMS drafted from the same brand kit, inside the tone and banned-word guardrails you set.
Journey
Start
A/B split
Send email
Hold · 2d
Upsell push
04Orchestrated end to end
Sequences chain the sends with A/B splits, holdouts, and waits across email and push, live and measured.
Agentic orchestration visualization layer

See every marketing & personalization orchestration, driven from MCP or the CLI.

TrailGuide reads the data you already have, shapes it into reusable profile and recommendation objects, and hands them to whatever tool does the sending. Compose it all from an agent or your terminal, and watch the whole flow (source, objects, and delivery) visualized end to end.

Source
Data Warehouse
Snowflake · BigQuery · Postgres
usersordersevents
Orchestration Layer
driven by MCP · CLI
Profileobject
id: "u_8821"
diet: "diabetes"
tier: "trial_d5"
Recommendationobject
strategy: "similar"
items: 12
top: "low-carb-bowl"
Delivery
Engagement Platform
Braze · Iterable · Customer.io
EmailPush
One layer, five primitives

From a row change to a sent message, without leaving the trail.

Each primitive does one job and hands off to the next. Compose them however your lifecycle demands.

01

Segments

Import audiences from Zero-Copy or the warehouse, with live counts and refresh cadence.

02

Triggers

Watch row mutations, thresholds, and event bursts. You set how often we check.

03

Personalizations

Live REST endpoints. Pass an ID, get personalized JSON. Preview right in the editor.

04

Webhooks

Email, push, or custom payloads. Static or agentic copy, every send within guardrails.

05

Sequences

Chain webhooks with waits and exit criteria: return events, segment changes, timeouts.

Orchestrate by prompt

Prompt the outcome. Orchestrate the rest.

Pick an app type, choose what you're shipping, and prompt it. The layer drafts the whole orchestration (segment, trigger, personalization, and message), then renders the result. Try one of the examples.

Onboarding sequence
Welcome new signups across push, email, and SMS
Win-back sequence
Win back lapsed users with a 3-message journey
In-app feed card
Surface the next best content inline
$
Examples:welcome new signupswin back lapsed userssurface the next recipe
Choose an app type & what you're shipping, then hit Orchestrate to build a live example.
01 Segments

Pull in any audience, keep it fresh automatically.

Import from your Zero-Copy hub or build straight off the warehouse. Every segment exposes its member count, attributes, and a refresh cadence you control.

  • Two sources, one model: Zero-Copy hub or custom SQL on BigQuery.
  • Live deltas: see members joining and leaving in real time.
  • Exposed attributes become available to every downstream endpoint.
segments · fighting-diabetes
Fighting Diabetes
zero-copy · refresh 5m
18,432
Weeknight Cooks
bigquery · refresh 1h
64,210
02 Triggers

Derive moments from the database, and decide how often you look.

Triggers watch for the changes that matter: a row mutation, a threshold crossing, a burst of events, or a user joining a segment. Set the polling cadence per trigger, from 30 seconds to daily.

  • Four detection kinds: row change, threshold, event burst, segment join.
  • You own the cadence: tighter polling for high-intent moments.
  • Coalesced events feed straight into webhooks and sequences.
triggers · first-recipe-cooked
First Recipe Cooked
every 30s
edit_favorite_recipes.cooked_count
row change · 0 → 1
03 Personalizations

Every personalization is a live API endpoint.

Pass a user ID, a recipe ID, or any key and get back personalized JSON ready to drop into email, push, or in-app surfaces.

  • One-to-one or content-keyed: a single user, or a recipe / ingredient.
  • Live preview with real users or arbitrary key/value pairs.
  • cURL, JS, Python, Node snippets generated for every endpoint.
cURLResponse
# GET a personalized payload for one user curl 'https://api.trailguide.co/v1/\n fighting-diabetes/recommend\n ?identifier=pHtbccS3kme8VkRj0a' \ -H 'Authorization: Bearer pk_live_••8f2a'
05 Sequences

Chain it all into a flow with real exit criteria.

A trigger drops a user in. Webhooks fire on your schedule with waits between them. The user exits the moment any criterion matches: they cook a recipe, enter another segment, unsubscribe, or time runs out.

  • Multi-step: sends and waits, visualized end to end.
  • Exit criteria: trigger fires, segment change, timeout, or unsubscribe.
  • In-flight counts at every step so nothing silently stalls.
sequences · diabetes-onboarding
Joined Fighting Diabetes
EXIT WHEN
cooks 3 recipesenters lapsed-30after 14 days
04 · Webhooks · Agentic copy

Fresh copy every send, with a human still on the trail.

Flip a webhook from static to agentic and the message rewrites itself on every run. You write the brief and the hard constraints; the model stays inside them, and a person can review before anything ships.

Guardrails, and a human in the loop.

Tone, brand voice, length, and banned words are enforced on every generation.

Must avoidbanned words & topics
dietguilt
Must includerequired elements
recipe titlessoft CTA
LATEST BATCH · 3 VARIANTS
● VARIANT A · in use
Morgan, three lower-carb dinners that won't repeat what you've cooked
You've saved a lot of lighter mains lately. Here are three weeknight dinners that fit that thread…
○ VARIANT B
Three picks for you, Morgan
We looked at the meals you saved this month and pulled three you haven't cooked yet…
Optimization lineage

Every message is a hypothesis. Track what won, and why.

Branch any message into variants, attach the hypothesis behind each one, and let the layer measure lift against its parent. When an experiment has a winner, TrailGuide recommends the next variants to try: timing, frequency, message, and audience angles grounded in your lift and campaign context.

  • Winner-triggered suggestions: the layer analyzes lift, goals, and send history to propose what to test next.
  • Choose or modify: pick a recommendation into the clone form, or edit the hypothesis before you branch.
  • Linked generations: every variant stays in the optimization lineage, so you always know what you tested and why.
Gen 01 · baseline
v0 · baselinebaseline
Subject"3 diabetes-friendly wins for this week"
41.2% open
Gen 01 · winner
v-A● winner
HypothesisLeading with the first name lifts opens.
46.1% open+11.9%
Gen 02 · winner
v-A2● winner
HypothesisA question raises curiosity over a statement.
49.0% open+6.3%
Gen 03 · testing
v-A2a testing
HypothesisName + question together compounds both lifts.
running · 38% sent±
Recommended experimentsAI · from v-A winner
MessageUse this
Turn the subject into a question
Name personalization lifted opens 11.9%; a question may raise curiosity further.
TimingUse this
Shift send to Tuesday morning
Weekday morning sends often outperform for this audience segment.
CLI & MCP-native

Drive the whole layer from your terminal, or an agent.

Every primitive is scriptable. Extract, personalize, and deploy journeys from the CLI and your CI.

Composable by design

Pipe data through, ship a journey out.

The CLI mirrors the layer one-to-one. Chain commands with pipes, version them in git, and run them anywhere.

zsh · ~/lifecycle
# extract any source → build a personalization $ trailguide extract postgres://prod/users \ | personalize --strategy similar_to_cooked --ttl 60 ✓ endpoint live · /v1/weeknight-feed · 32ms p50
Built for developers

Hit any endpoint. See real output. Ship.

Every personalization and webhook is addressable over REST with versioning, edge caching, and per-key auth.

WEBHOOK LOGS · BRAZE
12:48:0220023 users · picks injected184ms
12:43:0120018 users · picks injected192ms
32ms
p50 endpoint latency, cached at edge
30s
tightest trigger polling cadence
5
composable primitives, one layer
0
tools to rip out. It layers on top of your stack
How it works

Live in an afternoon, not a quarter.

STEP 01

Extract from any source

Point the CLI at a database, warehouse, Zero-Copy hub, or API. Import segments with no pipelines to build.

STEP 02

Define moments & endpoints

Set triggers on the changes that matter and spin up personalization endpoints. Preview output against real users.

STEP 03

Orchestrate & ship

Wire webhooks with static or agentic copy, chain them into sequences with exit criteria, test fire, and watch the logs.

Team & Workflow

Build it, hand it off, keep the team in the loop.

Work moves between people — and between your own Claude sessions — without leaving the trail.

HAND OFF

Tag a teammate from MCP

Put a build up for handoff and tag a coworker. They get a TrailGuide email and the request — carry on, QA, or launch — waiting in their Workflow tab.

TRACK

Projects, tasks, changelog

Group work into projects, follow tasks through to done, and see what's pending or waiting on you at a glance — with a team changelog of every change.

IN SLACK

Mirrored, with a bot you can talk to

Handoffs, notes, and status post to your Slack channel — and you can @mention or DM the TrailGuide bot right there to run the same MCP workflow without leaving Slack.

Private beta

Ship the right message,
at the exact right moment.

TrailGuide is admitting new teams in waves. Drop your email and company and we'll set you up, installed straight into your domain with auth, theming, and auditing baked in.

Private beta · we admit new teams in waves · no credit card