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
Unify

One engine under every motion

Unify takes a signal to a rep-approved send. Cargo holds the data model, scoring, routing and plays behind inbound, outbound and expansion.

Start building

Trusted by GTM teams at

  • <1 h to a repAugment Code
  • New signal in 2 daysWeights & Biases
  • Dust
  • −40% enrichment costWorkOS
  • Braintrust
  • 2x pipelineDescript
  • 3x card spend per oppAlaan
  • +30% pipelineEngine
  • Scaleway
  • Preply
  • DataDome
  • 80% CRM enrichedOneflow
backed by y combinator

Unify owns one motion. Cargo is the engine under all of them.

Same accounts, different scope. Unify stops at the send. Cargo holds the data and logic every motion reads.

Unify and Cargo compared
UnifyUnifyCargo
Built forUnifyUnifyWarm outbound, signal to rep-approved sendCargoEvery motion: inbound, outbound, expansion
Data modelUnifyUnifyScoped to outboundCargoA system of record other tools build on
RoutingUnifyUnifyOutside the product's scopeCargoTerritories, capacity and assignment
GTM as codeUnifyUnifyConfigured in UnifyCargoTypeScript in your git repo, written by your coding agent
Best whenUnifyUnifyOutbound is the whole jobCargoThe job is the revenue engine

In short. Use Unify for rep-approved outbound. Use Cargo when the same accounts also drive inbound, routing and expansion.

What an outbound tool leaves out

Unify's scope ends at the send. Every other motion needs these.

  • One GTM data model

    Accounts, contacts, deals and custom objects every play reads.

    Companies
    2 hours ago
    All records
    FilterSort12,480 records6/24 columns
    Name+23
    Domain
    Employees
    Country
    Industry
    ICP fit
    Add column
    Northwind
    northwind.com
    420
    United States
    Logistics
    82
    Contoso
    contoso.com
    1,200
    France
    Software
    74
    Globex
    globex.com
    3,400
    Germany
    Manufacturing
    91
    Initech
    initech.com
    260
    United States
    Software
    68
    Fabrikam
    fabrikam.com
    880
    France
    Retail
    55
    Umbrella
    umbrella.com
    2,100
    United Kingdom
    Healthcare
    79
    Stark Logistics
    starklogistics.com
    640
    United States
    Logistics
    88
    Wayne Freight
    waynefreight.com
    1,450
    Spain
    Logistics
    71
  • Signals into one score

    Hiring, funding and web intent add up to one score.

    Enabled
    Route inbound leads
    TriggerEditorRecordsMetrics
    Search...
    2/2 nodesFilter5/5 statusesAll versionsAll batchesAll dates
    1,284 records
    Startstart
    ICP fitscore_icp
    Ada Lovelace
    82/100
    Grace Hopper
    74/100
    Alan Turing
    91/100
    Katherine Johnson
    68/100
    Edsger Dijkstra
    55/100
    Mary Jackson
    77/100
    Claude Shannon
    86/100
    Barbara Liskov
    63/100
    Default
  • Plays that fire on change

    A signal lands, a play runs. Retried and traced.

    Route inbound leads
    TriggerEditorRecordsMetrics

    Schedule

    Type*
    ManualEnroll records manually
    Real-timeTrigger your play when new records are added
    IntervalSchedule your play to run on a set interval (e.g., once per hour)
    CronSchedule your play using a cron expression
    DependencySchedule after a play finished running
    Interval*
    Every hour

    Syncs are scheduled in UTC

    Conditions

    Filter
    Lifecycle stage is LeadANDEmail is not empty
    Add group

    Changes

    Mode*
    New records onlyOnly new records that match the conditions will be enrolled in the play
    New and updated recordsNew and updated records that match the conditions will be enrolled in the play
    FullProcess all matching records
    CustomAdvanced mode
    Changes included*
    AddedUpdatedUnchanged

    Enrollment

    Rule*
    Always enrollEnroll the record into a new play run every time the trigger fires for that record
    Enroll onceOnly enroll each record once, even if the trigger fires multiple times for the same record
    If is not currently enrolledOnly enroll a record if it's not already in an active run, preventing concurrent runs
    Save
    Model
    Contacts

    The model associated with this play. Each record within this model is eligible for enrollment in the play.

    Enroll manuallySync now
  • Routing that knows the org

    Territory, capacity, ownership and fallback, shared by every motion.

    Back to appWorkspaceGeneralBillingUsageUsersRolesIntegrationsDomainsRevenue organizationAPIEnvironmentSystem of record
    Revenue organization
    New territoryNew capacity
    MembersTerritoriesCapacities

    A group of members that shares incoming records. Weights and a fallback decide who is next.

    Territories3 territories
    United StatesInbound from North America
    2 membersAdded 3 days ago
    FranceInbound from France
    1 memberAdded 3 days ago
    EMEAEverything else in Europe
    1 memberAdded a week ago
    United States
    EditAllocations
    Label*
    United States

    Choose a label to your territory

    Color*

    Choose a color to represent your territory

    Description
    Inbound from North America

    Choose a description

    Members*
    AMAlice Martin
    50
    SOSam Okoro
    50
    Add member

    Pick members you want to be part of your territory

    Fallback Member
    DCDana Cole

    The member that will be used when other territory members are not available (e.g. Capacity reached).

    Save
  • CRM-safe writes

    Dedupe, protected fields and attribution on every CRM write.

    Enabled
    Route inbound leads
    TriggerEditorRecordsMetrics
    Search...
    2/2 nodesFilter5/5 statusesAll versionsAll batchesAll dates
    1,284 records
    Startstart
    Update ownerupdate_owner
    Ada Lovelace
    Owner updated
    Grace Hopper
    Owner updated
    Alan Turing
    Owner updated
    Katherine Johnson
    No Salesforce lead matches this email
    Edsger Dijkstra
    Mary Jackson
    Owner updated
    Claude Shannon
    Owner updated
    Barbara Liskov
    Owner updated
    Default
  • Built by coding agents

    Your coding agent changes it as diffs, over the CLI or MCP.

    Account researcher
    TriggerEditorActivities
    Deploy
    Instructions
    Research the account, score it against our ICP and write a two-line brief for the owner. Use our ICP definition from context, not your own.
    Actions
    Enrich companyenrich_company
    Search the webweb_search
    Get companyhubspot_get_company

    The building blocks of the agent. They are the actions the agent can take. The agent will use the actions to achieve the goal.

    Advanced settingsClaude Sonnet 5
    Research Northwind and tell me if it fits our ICP.
    Reasoned for a few seconds
    Get company0
    Enrich company1
    Search the web2

    Northwind fits: 82/100. 420 employees, logistics, and two open SDR roles, which is the growth trigger in your ICP.

    It sits in the United States territory, so the owner is Alice Martin. Lead with routing: their HubSpot assigns inbound by hand today.

    Ask agent...

GTM as code, in your repo.

Your whole Cargo workspace is TypeScript in git: every change reviewed, planned and reversible.

  • In your repoThe whole workspace, declared in TypeScript.
  • Planned on every pull requestcargo-ai project plan shows the diff. Merging deploys it.
  • Undone with git revertRevert the commit and the previous version deploys.
  • Written by your coding agent: Claude Code, Cursor or Codex.
import { defineMember, defineTerritory } from "@cargo-ai/cdk";
const alice = defineMember("alice@acme.com");
const dana = defineMember("dana@acme.com");
// United States accounts go to Alice, Dana covers
export const unitedStates = defineTerritory("united-states", {
label: "United States",
members: [{ ref: alice, weight: 1 }],
fallback: dana,
});

When to choose which

Both products have a real job. The decision is which job you are hiring for.

UnifyChoose Unify when…
  • Outbound is the only motion you run
  • A rep should approve every message
  • You want signal-to-send from one vendor
  • You do not want an engine to own
Choose Cargo when…
  • Inbound, outbound and expansion share the same accounts
  • Other tools need a data model to build on
  • Routing should be company-wide, not per tool
  • Coding agents should build the plays, not a person in a UI

Both true. Unify is the better outbound tool. Cargo is the better GTM engine. Teams often let Cargo own the model and scoring, and hand warm accounts to Unify.

Cargo vs Unify, in short

If the job has grown past outbound, Cargo: one data model, signals, scoring, routing and plays that a coding agent builds over the CLI and MCP. If outbound is the whole job, Unify is built for exactly that.
One play at a time. Connect your CRM, have your coding agent rebuild one signal play on the account model, and run it next to Unify until the results match.
Unify orchestrates warm outbound: signals, waterfall enrichment across many vendors, and plays that put a prospect in front of a rep who approves the send. Their own framing is AI for SDRs rather than AI SDRs. Cargo orchestrates the revenue engine underneath that motion, where the data model, scoring, routing and territories are primitives and the whole thing is declared in code you own.
When outbound is the motion, reps are the mechanism, and you want the whole signal-to-send path owned by one vendor with a human approving every message. Unify is built for exactly that and it is a coherent product for it. If what you need is warm outbound rather than an engine, buying it beats building it.
The categories outside the outbound motion, by design: a data model other systems build on, routing as a company-wide primitive, and anything an engineer would want to version. That is not a criticism of the product, it is the scope it chose.
Yes. Cargo can own the model, the enrichment and the scoring that decide who is worth a warm touch, and hand that to Unify to run the rep-approved outbound motion.
Hypergrowth
“Essential. Innovative. Indispensable. Cargo let you build your unique growth engine, a much-needed solution in the market today.”
Guillaume CabaneGuillaume Cabane · Co-Founder @Hypergrowth
Oneflow
“Cargo allows us to aggregate data from external sources and orchestrate it to meet our go-to-market needs across different countries.”
Alexandre BejaouiAlexandre Bejaoui · Head of Revenue Operations @Oneflow
Weights & Biases
“Cargo allows us to grease the wheels across the revenue organization, surfacing signals to AEs, customer success, and leadership at just the right moment.”
Frederic PinchonFrederic Pinchon · Director Revenue Analytics @Weights & Biases

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