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
~/scoring/

Tier every account by fit and timing

Your coding agent builds the scoring on Cargo, with the rubric in your repo. Cargo runs it every hour and writes the result onto the account.

Start building
NNorthwindAccount
Employees140
IndustryB2B SaaS
Last roundSeries B, 12 days ago
Careers pageHiring a GTM engineer
AFit tier
Fits the ICP, hiring the persona
Timing 74 / 100

Trusted by GTM teams at

  • Augment Code
  • Weights & Biases
  • Dust
  • WorkOS
  • Braintrust
  • Descript
  • Alaan
  • Engine
  • Scaleway
  • Preply
  • DataDome
  • Oneflow
backed by y combinator

Two scores, two questions

Fit says whether an account is worth working. Timing says whether now is the moment.

Fit

An agent tiers each company A, B, C or disqualified against your ICP and rubric.

TAM companies
2 hours ago
All records
FilterSort6 records4/4 columns
Name+3
Tier
Tier rationale
Tiered at
Add column
Northwind
A
Fits the ICP band, and its careers page lists a GTM engineer.
Nov 3, 2026
Contoso
B
Fits the firmographics; the persona is inferred, not seen.
Nov 3, 2026
Globex
A
Fits the ICP band, and runs the motion in public.
Nov 2, 2026
Initech
disqualified
Acquired: the sourced record is wrong about the company.
Nov 2, 2026
Fabrikam
C
Fits the firmographics and nothing else.
Nov 1, 2026
Umbrella
B
Fits the firmographics, with a growth pattern but no persona.
Nov 1, 2026

Timing

Recent signals add to a score, and each one counts for less as it ages.

Unify Accounts
2 hours ago
All records
FilterSort5 records3/3 columns
Domain+2
Readiness score
Readiness stage
Add column
northwind.com
11.6
ready_now
contoso.com
8.4
ready_now
umbrella.com
9.1
ready_now
globex.com
3.2
cold
initech.com
2.5
cold

Every tier comes with its reason

Two sentences naming the rubric lines that decided it, and the page that proved it.

The judgment

The agent reads your rubric, searches once when it must, and decides.

Account tier analyst
TriggerEditorActivities
Deploy
Instructions
Read the ICP and the account tiering rubric from the workspace context before every judgment. Judge on the supplied firmographics first. Search the web at most once per company, on the one doubt that would change the tier. Never invent a firmographic.
Actions
Read contextcontext
Search the webweb_search

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
Tier Northwind (northwind.com) against the ICP and the tiering rubric in the workspace context.
Reasoned for a few seconds
Read context: icp.md, tiering-rubric.md
Search the web: does Northwind employ a GTM engineer

Tier A.

Northwind is in the ICP's headcount band and industry, which meets the firmographic bar for every tier. Its careers page lists an open GTM engineer role, the persona the rubric's tier A bar asks to see employed.

Ask agent...

What gets written

The rubric line it cites, and what it hands back. The evaluator fails any tier with no grounded reason.

## Tiers
A Work it now
Fits the firmographics AND shows strong
evidence of the motion the ICP sells into:
the persona employed, or the practice
visible in public.
{
"tier": "A",
"rationale": "Northwind is in the ICP's headcount
band and industry, which meets the firmographic
bar for every tier. Its careers page lists an
open GTM engineer role, the persona the rubric's
tier A bar asks to see employed.",
"evidence_url": "northwind.com/careers"
}

When an account crosses the line

Scores land in segments, in Slack and in your CRM, where the team already works.

A ping, once per climb

An account that enters ready_now is posted once. If it cools and climbs back, it is posted again.

ready-accounts
CargoAPP8:20 AM

contoso.com is ready (readiness score 8.4)

Its recent signals crossed the ready line this hour. The events behind it are on the account's Account Events.

CargoAPP10:20 AM

northwind.com is ready (readiness score 11.6)

Its recent signals crossed the ready line this hour. The events behind it are on the account's Account Events.

CargoAPP2:20 PM

umbrella.com is ready (readiness score 9.1)

Its recent signals crossed the ready line this hour. The events behind it are on the account's Account Events.

The tier in your CRM

Tier, reason and scored-at update the matching HubSpot or Salesforce company. Nothing is created.

Tier accounts
TriggerEditorRecordsMetrics
Hourly
TAM companiesUntiered or stalestart
Account tier analystAgenttier_analyst
Write tierTier, reason, tiered atwrite_tier
Update companyHubSpotupdate_hubspot
Update accountSalesforceupdate_salesforce
HubSpotSalesforce
~/scoring-as-code/

Change the rubric with a pull request

What tier A means is a markdown file in your context repo, beside the ICP. The agent reads it on every run, so a merged edit changes the next tier with no deploy.

  • Reviewed like code. A rep can read the same file the agent read, and git keeps the history of why a tier changed.
  • Timing in TypeScript. Weights, half-lives and thresholds live in your project. Edit them, run the plan, and read what moved.
  • Your coding agent does the edit. It works on the same files, in the repo you own, and Cargo runs what you deploy.
$ git diff context/tiering-rubric.md
## Ties
Fit, but the disqualifier is uncertain:
tier C, and say what would disqualify it.
Strong evidence, headcount one band off:
- tier B.
+ tier A when the persona is observed,
+ tier B when it is only inferred.

Cookbooks built on scoring

Accounts tiered by fit, ranked by timing, ready to adapt.

AS

Account scoring

Score every account against your ICP on a schedule.

IQ

Inbound qualification

Qualify and route inbound demo requests from your website form.

RS

Readiness scoring

Keep a sales readiness score on every account.

See all cookbooks

Frequently Asked Questions

Can't find the answer here? Contact our team.

Fit asks whether an account is worth working at all: an agent tiers each company A, B, C or disqualified against your ICP and tiering rubric. Timing asks whether now is the moment: a readiness score adds up the account's recent signals, each weighted by type and halved every half-life, and sorts the account into ready_now, warming or cold.
In your context repo, as a markdown file beside the ICP. The agent reads both before every judgment, and nothing in its prompt overrides them. Edit the rubric and the next run tiers differently, with no deploy and a git history of why. The timing weights, half-lives and thresholds live in your project's TypeScript.
Yes. Every tier is written with a rationale of at most two sentences naming the rubric lines that decided it, the URL of the page that decided it, and a timestamp. The agent's evaluator fails a tier that has no grounded rationale.
Anything that lands as an account event: Cargo Signals feeds such as funding rounds and job posts, and your own models such as demo requests, signups or CRM meetings. You set a weight and a half-life per signal type. A signal with no weight counts for nothing, so a new source never moves scores until someone has decided what it is worth.
The tier can. Name HubSpot or Salesforce in the settings and each run updates the matching company with tier, reason and scored-at, in three properties you create. It updates and never creates, and when a domain matches more than one company it writes to none of them. When an account becomes ready, a play posts it to a Slack channel once.
The tiering play runs hourly and only judges accounts that are new or older than your re-score window, six months by default. That is one agent run per company, so pilot ten rows before the backfill. The readiness score uses no model at all: its columns are recomputed hourly in your workspace's warehouse, and Cargo Signals bills per event delivered.

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 Gojiberry

Company

ManifestoCommunityEventsJobsPartners DirectoryPartner Program

Legal

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

$ npm install -g @cargo-ai/cli