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
Blog

Answering Positive Replies in Minutes, Not Hours

30 Sept6min read
AurelienAurelien

The most expensive leak in outbound is not a bad list or weak copy. It is a positive reply that sits unanswered. Most GTM automation stops at the first message: find the lead, research it, write, send. Then the prospect says yes, and the reply waits in an inbox until an SDR gets to it. An agent can close that gap: read every response, classify it, draft the answer, and put it in front of a human to approve in seconds.

Johnathon Kidd, technical lead at Growth Alliance, built exactly this and ran it live on the room at our September event in San Francisco. Everyone in the audience got an email, replied however they liked, and watched the drafted answers come back.

Where the deal dies #

The story is familiar to anyone who has run campaigns. A campaign gets a genuinely positive response. You check a few minutes later and the SDR has not answered. You ping them and move on. An hour later it is still sitting there.

Nobody decided to ignore it. The SDR is working other accounts, the reply landed in a shared inbox, or it came in on LinkedIn while they were on email. At a million emails a month, SDR attention is the bottleneck, and it is spent on the wrong end of the funnel: triaging replies instead of working the conversations that need a person.

The loop, end to end #

Growth Alliance’s system runs in three stages, all on Cargo:

  1. Leads in. Leads are sourced automatically or pulled from an existing list into a model.
  2. First touch. A play researches each person, writes the message, and sends it by email or LinkedIn. Then it waits.
  3. The reply. When a response arrives, the play wakes up, classifies it, and, if it is positive or neutral, drafts an answer. It keeps looping: if the prospect replies again, the cycle runs again.

Two agents do most of the work, and each has one narrow job:

  • The research agent turns web search results into one short, factual sentence about the person or their company. One sentence, not a dossier, because that is all a good reply needs.
  • The writer agent writes the message from that sentence and the conversation so far.

Classification runs as a seven-step process before anything is drafted. That ordering matters: an agent that drafts first and classifies second will cheerfully write a warm reply to an unsubscribe request.

Johnathon built the whole workflow with the Cargo CLI and Claude, from a single prompt, with minor adjustments along the way.

Keep the human, for now #

In the demo, every drafted reply went to a Slack channel for approval before it was sent. Johnathon’s roadmap is to remove that step, then add calendar booking to the reply, then let the copy improve itself as it sends more.

Our view: remove the approval step one reply class at a time, and only once the classifier has earned it.

  • Start with everything approved by a human in Slack. Approving a correct draft takes seconds. The reply still goes out in minutes instead of hours, which is most of the win.
  • Track agreement. For each class (interested, wants a meeting, asks a question, not now, wrong person, unsubscribe), log how often the human sends the draft unchanged.
  • Graduate the safe classes first. “Send me a time” with a booking link is low risk once it has been approved unchanged a few hundred times. Pricing questions and objections are not.
  • Never automate the negative classes. Unsubscribes and complaints go to suppression and a human, not to a writer agent.

The same logic applies to every agent that reaches a person: approval is priced by blast radius, and it is withdrawn class by class as evidence accumulates, not all at once because the demo worked.

What this frees the SDR to do #

The point is not fewer SDRs. It is SDRs spending time where a human is actually needed: the conversation that has turned into a real opportunity, the objection that needs judgment, the account worth calling. The agent handles speed. The person handles nuance.

A note on voice #

Someone asked about AI voice agents for cold calling. Johnathon’s answer was that they are fun to build and the hard part is legal: in the US, AI-voiced calls need the recipient’s explicit prior consent, which is a conversation for your legal team before it is one for your GTM engineer. Email and LinkedIn replies to someone who wrote to you first are a much simpler place to start.

For measuring whether the agents are getting better, see LLM evals for revenue agents.

FAQ #

Yes. An agent can read replies across email and LinkedIn, classify each one, and draft an answer using research on the person and the conversation so far. Start with a human approving every draft, and automate reply types only once the drafts are consistently sent unchanged.

Unsubscribe requests, complaints and anything negative. Those should update suppression lists and go to a person. The first replies to automate are low risk ones, such as a prospect asking for a meeting time.

Because the class decides whether to respond at all and how. Drafting first risks writing an enthusiastic answer to an unsubscribe or a complaint. Classification first routes each reply to the right path.

No. It removes the triage work so SDRs spend their time on conversations that need human judgment, such as real opportunities, objections and accounts worth a call.

~/run-it-on-cargo/

Build this workflow instead of reading about it.

Cargo is the GTM infrastructure your coding agent builds on: enrichment, scoring, routing and outreach, defined in code and run in production.

Start building
AurelienAurelienSept 30, 2026
On this page
  • Where the deal dies
  • The loop, end to end
  • Keep the human, for now
  • What this frees the SDR to do
  • A note on voice
  • FAQ

Stay Informed with our
weekly Newsletter

Related articlesSee all articles
AI & Automation
Agentic Email Conversations With Leads From a Mailbox You Own

How to let an agent answer the leads who reply to you, on the same thread, from a mailbox your Cargo workspace owns: what it deploys, what the mailbox costs each month, the 5 to 40 sends a day warm-up ramp, and the suppression rules the send path enforces. A conversation agent, not a sequencer.

AurelienAurelien·Oct 16, 2026
AI & Automation
Draft LinkedIn Posts Every Week From Your Own Proof Points

How a go-to-market team keeps a founder or sales leader posting from real material: every Monday an agent drafts three LinkedIn posts from the proof points, objections and lessons already in your repository, cites the file behind every claim, and opens one pull request. Nothing is published automatically.

AurelienAurelien·Oct 16, 2026
AI & Automation
Keep Company and Competitor Context Fresh Every Week

How a go-to-market team keeps its positioning, ICP and competitor notes current for every agent that reads them: once a week one agent reads your site, competitors' pricing and changelog pages and the news, lets git show what changed, and opens one pull request. The reads cost at most 0.625 credits a run.

AurelienAurelien·Oct 16, 2026

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