ooligo

Cargo

ai-agent-platform gtm-orchestration · revenue-operations · data-enrichment
AI-NATIVE MCP API
RevOps
8.2 /10

What it is

Cargo is a GTM orchestration platform where the workspace is a folder of TypeScript files. Each resource is one define* call — defineModel for a table sourced from a connector, defineTool for a reusable function, defineAgent for an LLM worker, definePlay for a workflow that fires on a data change, defineMcpServer for an endpoint that exposes any of the above to an outside assistant. You wire them together by variable reference and ship the whole graph with cargo-ai cdk deploy. There is a UI, and most teams start there, but the product’s actual argument is that revenue logic should be versioned, reviewed, and deployed like the rest of your infrastructure.

The company was founded in 2023 by Aurelien Aubert and Maxence De Villepion, went through Y Combinator’s Summer 2023 batch, is based in San Francisco, and has raised $19.4M. It names Descript, Gorgias, Ashby, Swile, Oneflow, Upfluence, Weights & Biases, and Qobra as customers, claims 10,000-plus GTM engineers on the platform, and holds SOC 2 Type II.

Why it shows up in RevOps stacks

  • One definition, four call sites. A waterfall enrichment function written once as a defineTool is callable from a nightly play over new signups, from an SDR agent mid-research, over the REST API, from cargo-ai orchestration in CI, and from Claude Code. Most GTM stacks rebuild that logic three times — once in the enrichment tool, once in the sequencer, once in a script.
  • MCP runs both directions. defineMcpServer bundles a chosen set of your tools, agents, and data models behind a single endpoint that Claude or Cursor can discover and call as native actions, with per-model readOnly flags. In the other direction, Cargo consumes hosted MCP servers from HubSpot, Salesforce, and Notion as agent actions. Separately, the open-source cargo-skills packages teach Claude Code and Cursor the CLI’s commands and UUID-discovery flow, so “trigger the MQL scoring play on leads added this week” resolves to real commands rather than guesses.
  • The metering is legible. Every response from @cargo-ai/cli is JSON, every failure exits non-zero, and cargo-ai billing usage returns consumption as data. You can price a play before you run it at scale.

Pricing reality

Published, usage-based, no minimum commitment. A free trial gives 100 credits with no card. Paid plans are credit allocations: from $165/month for 1.5K credits, $250 for 2.5K, $1,190 for 17K, and $3,000 for 50K-plus. Every tier ships every feature and all 100-plus integrations — the only differences are the credit allocation and the support level, with SSO reserved for Enterprise.

The effective rate improves roughly twofold across the range: about $0.11 per credit at the $165 tier, about $0.10 at $250, about $0.07 at $1,190, and about $0.06 at $3,000. Buying credits off the slider rather than on a plan runs $0.25, so the plan discount is the real pricing decision.

What credits buy is the part that changes the math. Orchestration is 1 credit per 100 steps and storage is 1 credit per 1,000 upserts — both close to free at realistic volumes. Integration tasks are listed per integration, and AI providers bill per model per 1,000 tokens. Your bill is therefore dominated by enrichment vendor calls and model tokens, not by how many workflow steps you run, which is the opposite of the intuition most teams carry over from row-metered tools. Budget by data volume and model choice, not by workflow complexity.

Best for

GTM engineers and RevOps leaders at Series A through C companies with at least one person who writes TypeScript, whose orchestration has outgrown a spreadsheet. It is the right call specifically when the same enrichment or scoring logic needs to be callable from a scheduled play, an agent, your API, and a terminal — and you want it in git with a diff and a review.

Skip it if nobody on the revenue team can review a TypeScript pull request, if your work is list-building rather than always-on orchestration, or if you need a certified partner ecosystem behind the platform.

Versus the alternatives

Clay is the dominant tool in this segment and the honest default for most teams: pick Clay when the job is spreadsheet-shaped — build a list, enrich it, push it — and the people doing it are not engineers. n8n and Zapier are the general workflow engines: pick either when the automation is not GTM-specific and you do not need a revenue data model or territory logic underneath it. Unify is the fastest-growing entrant here and the closer substitute on outcomes: take Unify when you want the signal-to-sequence path packaged and running this month, and Cargo when you want to own the graph and are willing to build it.

Watch-outs

  • The CDK is the product, and it is TypeScript. A team that stays in the UI is buying a mid-tier workflow builder and paying for a code platform. Guard: before signing, name the person who owns the workspace repo. If nobody can review a TypeScript pull request, run one quarter in the UI and treat the CDK as unpurchased when you evaluate renewal.
  • Credit forecasting is the hard part, and the public rates will mislead you. Per-integration costs and per-model token rates move with each provider’s lineup, so the CLI is the authoritative source, not the pricing page. Guard: during the trial, run cargo-ai connection integration get <name> for every enrichment and model provider you plan to use, run one play at real batch size, then read cargo-ai billing usage — and size your tier from that number rather than from the slider rate.
  • Credits reset each term and overage is Enterprise-only. A play looping on a bad filter can burn a month’s allocation, and below Enterprise your workflows then stop rather than overrun. Guard: enable auto-topup on anything customer-facing, and cap batch size on every new play until you have watched one full run in the spans table.
  • Small vendor, small team. YC S23 and $19.4M raised, against a segment leader with far more capital. Guard: keep the system of record in your CRM or warehouse rather than in Cargo data models, hold the workspace TypeScript in a repo you control, and confirm during the trial that a fresh workspace can be rebuilt from that repo with cargo-ai cdk deploy.