Office hours: Build your self-driving GTM engine·Oct 29, 9:00am PT, onlineRegister→
Cargo
  • PrimitivesData ModelsYour companies, contacts and deals, merged from every sourceContextWhat your team knows, as files every agent readsTerritoriesWho sells where, defined onceMailboxesMailboxes in your reps' names, warmed up and kept under limitsToolsThe actions your agents, plays and reps callAgentsAI that researches, decides and writes, reading your contextPlaysWorkflows that run on a trigger or a schedule, with retriesAppsInternal apps for your reps, hosted on Cargo
    Add-onsChrome ExtensionSell faster, right in your browserButtonTrigger AI agents inside your CRMFormTurn any tool into an embeddable formSlackTag Cargo in Slack. It does the GTM workGitHubPlan on every pull request, deploy on merge
    MoreProjectsDefine your entire GTM in codeCLIUse Cargo from your terminalMCPUse Cargo from Claude and ChatGPTDeveloper resourcesCargo API docs, OpenAPI spec, auth docs, webhooks, MCP serverAPI ReferenceExplore the Cargo APIDocumentationLearn how to use CargoIntegrationsConnected to your entire GTM stack
  • VeriffHow Veriff replaced MuleSoft with Cargo under NetSuite, Stripe and SalesforceAugmentHow Augment Code routes developer sign-ups to reps in under an hourWeights & BiasesHow Weights & Biases ships a new purchase signal in 2 days on CargoSee all
  • Pricing
  • Cookbooks
  • Blog
Sign in
~/gtm-as-code/

Your GTMbelongs in git

Your ICP, your plays and your agents, declared as code: the foundation of a self-driving GTM engine.Your coding agents write it, Cargo keeps it working, and the repo is yours.

What GTM as Code meansRead the quickstart
$npx @cargo-ai/cli@latest project init my-gtm
Works signed out. Scaffolds the repo, and deploys nothing.
Install Cargo by following https://api.getcargo.io/INSTALL.md, then run npx @cargo-ai/cli@latest project init my-gtm and help me seed the repo for my company.
Paste into Claude Code, Cursor, Codex, Gemini CLI, Devin or Replicas.
my-gtm
plan/

The number you are chasing this period, the moves that get you there, and the outcomes that have to become true.

plan/company-plan.md
---title:description:period:--- ## The one goal _One number, with the number it starts from andthe date it has to be true by._ ## The forecast
context/

ICP, personas, objections and proof. One claim per file, in the folders a rep would recognise.

context/icp/_template.md
---title:description:--- ## Firmographic - Industry:- Size:- Geo: ## Pains
initiatives/

One file per bounded bet, with an owner, a deadline and success criteria you can check as true or false.

initiatives/_template.md
---title:status: proposedowner:deadline:--- ## Success criteria _Checkable true or false. No adjectives._ - [ ]
cadence/

A weekly plan, a daily log, and a carryover file that keeps the dropped balls visible.

cadence/weekly/_template.md
---week:serves:--- ## Theme _One sentence. The single thing this weekis about._ ## Deals to move | Account | Stage | The move | Owner |
infra/

Models, segments, tools, agents and plays in TypeScript, deployed with one command. The only layer that needs Cargo.

infra/README.md
# Infra What runs in production. A self-contained CargoCDK project: every `.ts` file here declares aresource, and deploy reconciles the workspaceto match. | File | What it does || --- | --- || `context.ts` | Brings `../context` under CDK |
context.ts

Puts the folder above under project management, so what your agent reads and what production runs on are the same files.

infra/context.ts
import { defineContext } from "@cargo-ai/cdk"; // Brings the repo's context/ directory under// CDK management.export const context = defineContext({  path: new URL("../context", import.meta.url)    .pathname,});
evals/

Test cases that catch a prompt change making your agents worse, before it ships.

evals/promptfooconfig.yaml
# Prompt regression tests. One suite per agent# whose prompt you own.description: GTM prompt suites providers:  - id: openai:gpt-4o    config:      temperature: 0 tests:  - file://_template/cases.yaml
outputs/

An append-only archive of the work, dated and tagged with what it produced. This is what gives an agent memory.

outputs/_template/README.md
---title:outcome:date:serves:--- ## What ran - Play:- Trigger:- Context used:
AGENTS.md

The operating manual your coding agent reads first, so it works the repo by its conventions rather than guessing.

AGENTS.md
# my-gtm GTM This repository is my-gtm's GTM engine:knowledge, infrastructure, and run history forthe whole go-to-market, managed as code. The knowledge layers ship empty, not populated.Every repeating artifact has a `_template.md`beside it to copy.
cargo.state.json

What is live right now, which is how a change can be previewed as a diff and rolled back to any earlier state.

cargo.state.json
{  "stateUuid": "<your deploy state>"}

Scaffolded from a template you can read. Plain text you can edit and delete, all of it MIT licensed.

~/how-it-runs/

Run it, then talk to your agent

You are not expected to write code. Your agent handles git and the deploys, and you review its work like a campaign brief.

Run one command, then ask your agent

The repo scaffolds signed out. Your agent reads AGENTS.md and opens a branch.

~/my-gtm
$ npx @cargo-ai/cli@latest project init my-gtm✓ Scaffolded my-gtm from getcargohq/cargo-manifest✓ Initialized a git repository.✓ Created the initial commit. nothing deployed, works signed out # in Claude Code, Cursor or Codex> seed this repo for my company reading AGENTS.md asking about your ICP and plays opened agent/tighten-icp, waiting on you # when you want Cargo running infra/$ cargo-ai login

Review what it changed

Every change is a diff on a branch, waiting for you before anything ships.

agent/tighten-icp2 files changed
context/icp/mid-market-saas.md
segment: mid-market SaaS
confidence: validated
- fit_signals: uses a CRM
+ fit_signals: uses a CRM, 50+ seats, hiring RevOps
infra/context.ts
model: accounts,
- signals: [fundingRound],
+ signals: [fundingRound, headcountJump],
owner: territory(region),
Waiting on your review
~/the-idea/

What “your GTM belongs in git” means

Your GTM belongs in git is the idea that go-to-market logic is software. Your ICP, your scoring, your plays and your agents live in a repository, so every change to them gets what a change to software gets: a diff, a review, a preview of what it moves, and a way back.

  1. 01

    Every change is a diff

    Scoring logic that lives in CRM settings and local folders has no memory and nothing to revert to. Plain rebuilt its model five times before moving it into a repo, which took under a day.

    4:42Cole D'Ambra, Plain
  2. 02

    Nothing ships without a review

    A broken payment system fails loudly. A broken go-to-market workflow keeps running, and an agent repeats the mistake every day. The faster agents write, the more the review is worth.

    23:10Karl Rafidimanana, TRA
  3. 03

    See the blast radius before the merge

    A pull request that changes a threshold says how many accounts it re-tiers before anyone approves it. A human still says yes.

    4:42Cole D'Ambra, Plain
  4. 04

    Files first, a database when you need one

    Files are versioned, readable and consumable by agents. Graduate to a warehouse when concurrent writers make pull requests the bottleneck, not before.

    49:55John Kutay, Rippling
  5. 05

    Learn the architecture, not the syntax

    Your agents write the code. What the person who owns the system needs is data architecture: durable tables, unique keys, system design.

    1:09:32Aurelien Aubert and Noah Adelstein
Watch the full recordingRead the GTM as Code guideBrowse the template on GitHub
Augment Code<1 h to a rep
Weights & BiasesNew signal in 2 days
Dust
WorkOS−40% enrichment cost
Braintrust
Descript2x pipeline
Alaan3x card spend per opp
Engine+30% pipeline
Scaleway
Preply
DataDome
Oneflow80% CRM enriched
Gorgias60% less eng. work
Ashby1,000+ h saved
Veriff5x fewer API calls
Mooncard
Qobra
Upfluence80% less upkeep
Augment Code<1 h to a rep
Weights & BiasesNew signal in 2 days
Dust
WorkOS−40% enrichment cost
Braintrust
Descript2x pipeline
Alaan3x card spend per opp
Engine+30% pipeline
Scaleway
Preply
DataDome
Oneflow80% CRM enriched
Gorgias60% less eng. work
Ashby1,000+ h saved
Veriff5x fewer API calls
Mooncard
Qobra
Upfluence80% less upkeep
Augment Code<1 h to a rep
Weights & BiasesNew signal in 2 days
Dust
WorkOS−40% enrichment cost
Braintrust
Descript2x pipeline
Alaan3x card spend per opp
Engine+30% pipeline
Scaleway
Preply
DataDome
Oneflow80% CRM enriched
backed by y combinator

Build the self-driving GTM engine

Your coding agents build it on Cargo.Or our team builds, operates and improves it with you.

Start building
Cargo
Backed byY CombinatorSOC 2 Type IICertified
LinkedinX

Product

Data ModelsContextTerritoriesMailboxesToolsAI AgentsPlaysAppsIntegrationsPricing

Add-ons

Chrome extensionButtonFormSlackGitHub

Build

DocsDeveloper resourcesCargo API docsCargo OpenAPI specCargo auth docsCargo webhooksCargo MCP serverProjectsClaude CodeCodexCursorAll coding agents

Resources

ReportsBlogCustomer storiesCookbooksEnrichmentRoutingSignalsScoringCRM hygieneAd audiencesGTM skillsGTM EngineeringGlossaryCompareCargo x ClayCargo x WorkatoCargo x n8nCargo x DeeplineCargo x DefaultCargo x LeanDataCargo x UnifyCargo x ValleyCargo x GojiberryCargo x PhantomBusterCargo x ZapierCargo x ApolloCargo x Chili PiperCargo x Common RoomCargo x MakeCargo x Tray.io

Company

ManifestoCommunityEventsJobsPartners DirectoryPartner Program

Legal

SecurityTerms of servicePrivacy PolicyRefundsDPASupport
© 2026 Cargo
 ////////    ///////    ////////     ////////    ///////
///         ///   ///   ///   ///   ///         ///   ///
///         ///   ///   ///   ///   ///         ///   ///
///         /////////   ////////    ///  ////   ///   ///
///         ///   ///   /// ///     ///   ///   ///   ///
///         ///   ///   ///  ///    ///   ///   ///   ///
 ////////   ///   ///   ///   ///    ///////     ///////

$ npm install -g @cargo-ai/cli