Workspace scoped
Keys and permissions stay tied to the workspace they belong to.
01Your coding agent is the operator
Codex or Claude does the reasoning. Pipeline supplies workspace context, skills, providers, tables, validation, approvals, and execution. The UI remains the evidence layer.
Native LinkedIn sending · Pure BYOK · Approval before sendNo disconnected handoffs. No opaque credit balance. You decide what runs and which providers it uses.
Pipeline installs the workflow skills and managed instructions that let Codex or Claude Code reason with your subscription, then execute deterministic operations against your workspace.
npm install -g pipeline-gtm
pipeline init
pipeline agents setup --targets codex,claude-code --project .02Built for accountable autonomy
Choose the interface that fits the job without creating a second source of truth or bypassing workspace controls.
Keys and permissions stay tied to the workspace they belong to.
Typed inputs make agent calls easier to inspect and harder to misuse.
Live sends, CRM updates, and external actions respect workspace gates.
Tables, run logs, drafts, and outcomes remain available in the UI.
03Start with the job
Your coding agent authors the strategy and artifacts locally. Pipeline validates, persists, executes provider calls, and stops at approval boundaries.
Build a brief, validate it, apply a table blueprint, and activate in manual Scout mode.
get-agent-skill-loadout → save-campaign-brief → apply-table-blueprintInspect connected providers, bind credentials, run a 10-row canary, then persist results.
list-enrichment-providers → validate-table-blueprint → update-table-rowsAuthor pillars and drafts locally, save them for review, and schedule only after approval.
save-content-strategy → save-content-post → schedule-postVerify an influencer through Unipile, track posts, and prepare comments without sending.
track-influencer → save-comment-draft → review-comment-draftUse the typed SDK or REST for product-owned webhooks, schedulers, and data synchronization.
PipelineClient → typed method → workspace-scoped result03The contract in motion
Authentication, policy checks, human approvals, provider calls, and table writes share one run ID.
pipeline.workflows.run {
"workflow_id": "wf_7M2P",
"input": { "limit": 50 }
}ws_northstarscheduled-icp-buildapproval_requiredscope: this run50 requested42 rows written05The live operation surface
Browse the generated catalog with execution classifications, schemas, and examples for CLI, MCP, SDK, and REST.
get-strategy-snapshot
Preflight distillation of your GTM context into a compact, high-signal strategy snapshot: best ICP, commercial offerings, campaign offers, lead magnets, the only valid proof points (case studies), banned phrases, and the channels the Strategist may plan. Reason on this small snapshot instead of the raw GTM dump - fewer tokens, and any proof you cite traces to a real artifact so it survives validate-campaign-brief. Returns the snapshot object.
create-strategy-ideas
Run the Strategist diverge pass: brainstorm and curate campaign ideas (hook angle, archetype, personalization elements, CTA, proof point, differentiation, estimated audience) for your workspace. Same canonical engine the in-app Strategist uses, so the output matches the UI. Pass guidance when the operator has a specific ICP, offer, signal source, competitor post, or playbook direction. Returns { agentRunId, ideas }. Pick the strongest idea id and pass it to create-campaign-brief.
create-campaign-brief
Expand a chosen idea into a full structured campaign brief (ICP rubric, targeting filters, required research signals, message decision tree, frameworks, cadence). For kind=campaign pass the ideaId from create-strategy-ideas. kind=content or engagement build single-shot from workspace context (no ideaId). The brief persists as draft; run activate-brief to launch it. Returns { agentRunId, brief, kind }.
save-campaign-brief
Validate and persist a campaign brief authored by the caller. This deterministic write never invokes Pipeline hosted inference and always saves as a draft.
update-campaign-brief
Edit an existing campaign brief without hosted AI. Pass a partial plan, including name, frontEndOffer {name, description, whyIcpWantsIt}, or operatingContract with offerScore {deliveryCost, prospectValue, competenceProof, painFit, linkedinFriction, reasoning, total, verdict}. Scores are integers 1-5; total is their sum; verdict strong at 21+, usable at 16+, otherwise weak. Preserve other operatingContract fields. Asset selection uses selectedAssetBinding and is validated server-side.
preview-campaign-revision
Deterministically preview a prelaunch campaign revision. Returns changed fields, exact impact, row cohort, and a proposal fingerprint. Does not invoke AI or write data.
apply-campaign-revision
Apply an exact previewed prelaunch campaign revision after confirmation. Refuses stale previews and live or scheduled campaigns. Does not source, research, write, schedule, or send.
list-gtm-assets
List offering-scoped direct offers, front-end offers, and lead magnets, optionally filtered by lifecycle. Read-only.
create-gtm-asset-candidate
Create a caller-authored GTM asset candidate for one core offering. Does not invoke hosted AI or approve the asset.
update-gtm-asset-candidate
Edit an unapproved GTM asset candidate, or create a superseding version when the selected asset is immutable.
approve-gtm-asset
Approve and freeze one reviewed offering-scoped GTM asset version. Requires explicit confirmation.
retire-gtm-asset
Retire one GTM asset from new selection while preserving historical bindings. Requires explicit confirmation.
delete-gtm-asset-draft
Hard-delete only an unapproved, unbound GTM asset draft. Requires explicit confirmation.
validate-campaign-brief
Run the deterministic brief quality gate (the parity enforcer): proof points must trace to real GTM case studies/offers, decision-tree conditions must reference declared signals, the value proposition must link to a distinct ICP pain, and audience size must be sane. Pass briefId (a stored brief) OR plan (a raw brief plan you authored locally) - exactly one. mode launch (default) demotes generation-quality findings to warnings; strict treats them as errors. Returns { valid, errors, warnings }. Always run this before activating a brief you reasoned yourself.
activate-brief
Run the brief: validate it (launch-mode gate), flip it to active, and provision its agent-pipeline enrichment table. scoutExecutionMode defaults to manual, which pauses before hosted Scout work. pipeline_hosted enqueues Scout and requires allowHostedAi=true. A brief that fails always-broken validation is refused (422) unless force=true. Returns { activated, briefId, status, alreadyActive, scoutEnqueued, scoutPaused, scoutExecutionMode, warnings }.
The first 50 paid seats lock in $99 per seat per month, forever. After the cohort fills, the seat moves to $149. Pure BYOK, no credits, no usage markup. Most teams pay $20 to $60 a month in real provider costs on top of the seat, paid straight to those providers.
$99/mo locked for life while seats last, then $149/mo. Cancel anytime.
A live walkthrough of Pipeline. We'll show how the agents, tables, and signals work together, take any questions you have, and figure out whether it's a fit for what you're working on.
Connect your keys and the agents start tonight. Lists built, copy written, replies handled, meetings on the calendar by morning. You take the calls.