Recipes
Reusable pipelines you run by name — three built-in starters, plus every graph you save.
A recipe is a pipeline with slots: the graph is fixed, and each run fills in a fresh brief (and whatever other variables the recipe declares). It's how a shape you got right once becomes something you — or an agent — runs by name forever after.
The built-in starters
Three recipes ship with every brand, no setup:
- Batch — a handful of on-brand creatives from a brief, delivered to a board. No scoring; you're the judge. The right size for "give me three posts about X".
- Reviewed campaign — the default for a real campaign brief: a spread of creatives, vision-scored, pre-sorted into Approved (75 and up) and Needs review sections on the board.
- Variations of this — N fresh takes on ONE creative you already have (new headline and imagery per take), scored and routed the same way.
Starters live in the product, so they're always current and can't be broken or deleted per brand. To customize one, save your own graph under the same name — yours shadows the starter everywhere recipes are listed.
Saving your own
On the canvas, Save as template turns the current graph into a recipe. The brief automatically becomes a required fill-in slot and the creative count an optional one, so a saved pipeline re-runs with a fresh brief out of the box. Pin templates on the Templates node before saving and you've got the classic recipe pattern: the same layouts every run, only the message changes.
Human-saved and agent-authored recipes are the same thing — anyone (or any agent) on the brand can list, run, edit and delete them.
Running one
- From the palette: "run the winter-sale pipeline, 20 this time." The agent resolves the name, fills the slots from your ask, and launches.
- From Factory → Workflows → New → From a recipe: pick one and it loads on the canvas as a draft — nothing runs and nothing is spent until you press Run. A draft always opens, even if the recipe still has empty slots or a half-built graph; the canvas shows what's missing and gates Run itself.
- From code:
braaand pipelines run <brandId> batch --bindings '{"brief":"…","count":3}'on the CLI,run_pipeline_templateover MCP, orPOST /api/brands/{id}/pipeline-templates/{id}/runwith{ bindings, mode: "run" | "draft" }. Launching for real validates everything and fails loudly on a missing slot or a graph that doesn't compile.
Managing them
The recipe picker is also where a stale one gets retired: hover a saved recipe and a trash appears (two-step confirm, inline). Starters show a quiet Starter label instead of a trash — they can't be deleted, only shadowed. Rename, edit, and delete also work from the CLI (braaand pipelines), MCP, and the REST routes.