Blueprints
Install a whole GTM motion at once — tables, columns, prompts, and a disabled workflow — then turn it on yourself.
A blueprint installs a motion in one command: the tables, the columns, the prompt templates, and one workflow, created disabled. Preflight tells you exactly what will land before anything is written.
oxygen blueprints is the live surface. oxygen workflows templates search|describe|preflight|apply still respond, but they are deprecated aliases onto the same endpoints. oxygen workflows templates run is removed — it answers HTTP 410 with error code workflow_template_run_deprecated. Replace it with oxygen blueprints apply <slug> followed by oxygen workflows call <workflow>.Browse
In the app, blueprints are workflow templates: open Workflows and choose Templates (/workflows/templates). It lists your workspace's saved blueprints under This workspace and the shipped seeds under Official, with a search box above them. /blueprints redirects there. Plays, the prompts built on these templates, are on Plays.
/blueprints/<slug> shows what the template produces (You get, for a shipped seed), what it Creates (tables and columns) and Needs (connected integrations and knowledge), the plays it belongs to, and the commands under Use with an agent, with the full envelope JSON under Definition. A seed with a declarative graph has Open in editor, which loads /workflows/builder?template=<id> and saves nothing until you publish. Applying happens from the CLI or MCP; the page has no apply button.
From a terminal:
oxygen blueprints list --json
oxygen blueprints list --tag outbound --json
oxygen blueprints describe outbound-pilot --json
oxygen blueprints marketplace --json # the public marketplace; no auth neededPreflight
Preflight first. It costs 0 credits, makes no provider calls, and changes nothing.
oxygen blueprints preflight outbound-pilot --input-json '{...}' --jsonThe preflight object carries ok, issues[], missing_integrations[], missing_context_keys[], table_collisions[], and prompt_collisions[]; alongside it the envelope returns a spend block pinned at credits_used: 0 and next[] — the exact apply command that preserves the inputs you just validated. Price-aware seeds add pricing_forecast with cap_status, cap_scope, and cap_remediation; an insufficient cap affects live and scheduled runs only. ok: false means fix what issues lists, then preflight again.
To reapply against an existing workflow, pass --workflow-id <uuid-or-slug>. next keeps the exact selector you supplied plus any reused table bindings.
Apply
oxygen blueprints apply outbound-pilot --input-json '{...}' --jsonapply costs 0 credits and makes no provider calls or external writes — but it is not read-only. It creates real workspace tables, columns, and prompt templates, plus the blueprint's workflow, disabled. Reapplying cuts a new revision even when your inputs are unchanged — schedule authority is revision-bound — and workflows[].revision says which. Only the shipped LinkedIn monitor reuses its installed tables automatically; for any other blueprint a name clash surfaces as table_collisions, and you reuse that table explicitly with --table-ref <ref>=<table_id>. The response reports each workflow's future per-run credit ceiling. Nothing executes until you ask for it.
Run it — this spends credits
oxygen workflows get <workflow> --json # inspect what landed
oxygen workflows call <workflow> --mode dry_run --json # free rehearsal, works while disabled
oxygen workflows enable <workflow> --json # a disabled workflow refuses --mode live
oxygen workflows call <workflow> --mode live --approved --max-credits 25 --jsonA live call needs both --approved and --max-credits, and refuses with workflow_disabled until the workflow is enabled. Enabling an autonomous trigger (cron, webhook, event) on a workflow that calls tools additionally needs oxygen workflows enable <workflow> --approved --max-credits <n>, where --max-credits is the ceiling per delivery.
Save and share your own
oxygen blueprints export --workflow <id> --out ./motion.json --json
oxygen blueprints save --file ./motion.json --json
oxygen blueprints share <slug> --json # returns oxygen-agent.com/b/<code>A share URL is public: anyone holding it can apply the bundle. shares lists your share links, unshare <code> revokes one, tag <slug> --tags "..." replaces a saved bundle's workspace tags, archive <slug> hides it (seeds cannot be archived). publish <slug> lists it on the public marketplace — it first scans the envelope for API tokens, tenant UUIDs, and email addresses, and refuses without --approved if it finds any. unpublish <slug> delists it; the share URL keeps working.
Workflow templates are the shipped seeds
The shipped seed blueprints are the workflow templates, so they are listed once, under Workflows → Templates. /workflows/templates/<id> redirects to /blueprints/<id>, which carries Open in editor.
Related
- Workflows — what a blueprint installs.
- Modes —
smoke_test,dry_run,live. - Durable workflows — logic no blueprint covers.