Route on records you trust
LeanData is mature at matching and routing in Salesforce. Cargo enriches, dedupes and scores the record first, then routes it across any CRM.
Trusted by GTM teams at
LeanData routes the record. Cargo makes the record right first.
Leads reach the wrong rep because of duplicates, missing fields and unmapped territories more often than because of rules.
| Cargo | ||
|---|---|---|
| Built for | Lead routing and matching in Salesforce | The revenue engine, with routing as one primitive |
| GTM as code | A routing graph in a Salesforce builder | Territories and assignment in TypeScript, in your git repo |
| CRM | Salesforce | Salesforce, HubSpot, a warehouse, or several |
| Before assignment | Left to other tools | Enrichment, dedupe and scoring on the same record |
| Changing a rule | Edited in the graph | Planned as a diff, tested before production |
In short. Use LeanData to route inside Salesforce. Use Cargo when the data under the routing is the problem, or the engine spans more than Salesforce.
What routing depends on
A route is only as good as the record it reads.
Routing that knows the org
Territory, capacity, ownership and fallback, not tied to one CRM.
Revenue organizationNew territoryNew capacityMembersTerritoriesCapacitiesA group of members that shares incoming records. Weights and a fallback decide who is next.
Territories3 territoriesUnited StatesInbound from North AmericaFranceInbound from FranceEMEAEverything else in EuropeUnited StatesLabel*United StatesChoose a label to your territory
Color*Choose a color to represent your territory
DescriptionInbound from North AmericaChoose a description
Members*AMAlice Martin50SOSam Okoro50Add memberPick members you want to be part of your territory
Fallback MemberDCDana ColeThe member that will be used when other territory members are not available (e.g. Capacity reached).
SaveMatching and dedupe
Lead-to-account matching and dedupe before assignment.
EnabledRoute inbound leadsSearch...2/2 nodesFilter5/5 statusesAll versionsAll batchesAll datesStartstart
Update ownerupdate_owner
Ada LovelaceOwner updated
Grace HopperOwner updated
Alan TuringOwner updated
Katherine JohnsonNo Salesforce lead matches this emailEdsger DijkstraMary JacksonOwner updated
Claude ShannonOwner updated
Barbara LiskovOwner updated
DefaultEnrichment waterfalls
Fill the fields a route depends on before it runs.
EnabledEnrich inbound leadsSearch...4/4 nodesFilter5/5 statusesAll versionsAll batchesAll datesStartstart
Find emailfind_email
Enrich companyenrich_company
ICP fitscore_icpAda Lovelaceada@northwind.com
Northwind, 420 employees
82/100Grace Hoppergrace@contoso.com
Contoso, 1,200 employees
74/100Alan TuringNo email found, 0 credits
Globex, 3,400 employees
91/100Katherine Johnsonkatherine@initech.com
Running...DefaultEvery assignment traced
Each run leaves a log, so why a lead reached a rep has an answer.
TracesAll triggers4/4 statusesLast 7 daysRecordTriggerSpansUserDurationStarted atFinished atCreditsAda LovelaceRoute inbound leads
6 spans602.41sNov 3rd, 2026 10:14:02Nov 3rd, 2026 10:14:041NorthwindAccount researcher3 spans30AMAlice Martin8.62sNov 3rd, 2026 10:11:40Nov 3rd, 2026 10:11:493Katherine JohnsonRoute inbound leads
5 spans411.97sNov 3rd, 2026 10:09:13Nov 3rd, 2026 10:09:151ContosoEnrich new accounts4 spans403.18sNov 3rd, 2026 09:58:21Nov 3rd, 2026 09:58:242Grace HopperRoute inbound leads
6 spans602.06sNov 3rd, 2026 09:51:07Nov 3rd, 2026 09:51:091GlobexAccount researcher4 spans40MDMarc Dubois11.3sNov 3rd, 2026 09:44:52Nov 3rd, 2026 09:45:034Alan TuringRoute inbound leads
6 spans602.28sNov 3rd, 2026 09:39:18Nov 3rd, 2026 09:39:201InitechEnrich new accounts4 spans314.05sNov 3rd, 2026 09:31:46Nov 3rd, 2026 09:31:502One GTM data model
Accounts, contacts, deals and custom objects every play reads.
CompaniesAll recordsFilterSort12,480 records6/24 columnsName+23
DomainEmployeesCountryIndustryICP fitAdd columnNorthwindnorthwind.com420United StatesLogistics82Contosocontoso.com1,200FranceSoftware74Globexglobex.com3,400GermanyManufacturing91Initechinitech.com260United StatesSoftware68Fabrikamfabrikam.com880FranceRetail55Umbrellaumbrella.com2,100United KingdomHealthcare79Stark Logisticsstarklogistics.com640United StatesLogistics88Wayne Freightwaynefreight.com1,450SpainLogistics71Built by coding agents
Your coding agent changes it as diffs, over the CLI or MCP.
Account researcherDeployInstructionsResearch 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.ActionsEnrich 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 secondsGet 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 request
cargo-ai project planshows 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 coversexport 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.
- You are Salesforce-native
- Routing is the whole problem and the data is clean
- RevOps should keep routing where they already work
- You need scheduling in the same product
- Leads go to the wrong rep because the data is wrong
- Your engine spans more than Salesforce
- Routing changes should be tested before production
- Coding agents should own territories and assignment
Both true. LeanData is the better Salesforce router. Cargo is the better GTM engine. A common split: Cargo enriches, dedupes and scores, and LeanData keeps routing inside Salesforce.
Cargo vs LeanData, in short
“Essential. Innovative. Indispensable. Cargo let you build your unique growth engine, a much-needed solution in the market today.”
Guillaume Cabane · Co-Founder @HypergrowthBuild the self-driving GTM engine
Your coding agents build it on Cargo.Or our team builds, operates and improves it with you.

