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.
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.
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.
Segments
Import audiences from Zero-Copy or the warehouse, with live counts and refresh cadence.
Triggers
Watch row mutations, thresholds, and event bursts. You set how often we check.
Personalizations
Live REST endpoints. Pass an ID, get personalized JSON. Preview right in the editor.
Webhooks
Email, push, or custom payloads. Static or agentic copy, every send within guardrails.
Sequences
Chain webhooks with waits and exit criteria: return events, segment changes, timeouts.
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.
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.
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.
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.
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.
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.
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.
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.
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.
Hit any endpoint. See real output. Ship.
Every personalization and webhook is addressable over REST with versioning, edge caching, and per-key auth.
Live in an afternoon, not a quarter.
Extract from any source
Point the CLI at a database, warehouse, Zero-Copy hub, or API. Import segments with no pipelines to build.
Define moments & endpoints
Set triggers on the changes that matter and spin up personalization endpoints. Preview output against real users.
Orchestrate & ship
Wire webhooks with static or agentic copy, chain them into sequences with exit criteria, test fire, and watch the logs.
Ship the right message,
at the exact right moment.
The Orchestration Layer installs straight into your domain with auth, theming, and auditing baked in, like every TrailGuide app.