01 The problem
The most valuable event in any outbound system is also the most perishable: an interested reply. Someone you wrote to wrote back. From that moment, every hour of silence costs you, and the honest response, a researched, specific, personalized proposal, used to take hours to assemble. Research the company. Work out the angle. Build the deck. By the time it was ready, the warmth had drained out of the thread.
We sell systems that fix exactly this kind of bottleneck, so we built one for ourselves. This case is that system: the pipeline that runs our own sales motion. We publish it because a vendor's own operations are the one case study they cannot fake.
02 What we built
Five stages, fully automated from reply to ready-to-send, with a person holding the only send button.
- Stage 1: reply detection. Monitors on our outreach inboxes catch responses as they land and classify sentiment: interested, not interested, question. Interested replies trigger the pipeline and post to a dedicated Slack channel.
- Stage 2: research. A research agent calls Perplexity for company intelligence and Apify to read the prospect's website, then merges the findings into one research record.
- Stage 3: strategy. A three-stage model pipeline turns research into an argument. A research analyst pass (GPT-4o) extracts hooks and pain points. An ROI calculator pass (GPT-4o-mini) estimates what the prospect's current process costs and what automation would return. A message writer pass (GPT-4o) drafts the personalized follow-up.
- Stage 4: deck generation. The strategy is flattened into 40+ personalized fields and assembled into a proposal deck through PandaDoc, from template to shareable link without a human touching a slide.
- Stage 5: human approval. The finished message and deck land in a Slack channel and wait. A person reviews, edits if needed, and sends. Nothing leaves the building on the machine's judgment alone.
Each stage is a webhook-triggered script paired with a plain-text directive, running on Modal. The Slack channels mirror the stages, so the whole pipeline is watchable in real time: reply detected, research ready, strategy ready, ready to send.
03 Why the human gate is the design, not a caveat
The pipeline is fully automated precisely up to the moment the output would touch a prospect. That boundary is deliberate, and it is the same boundary we build into client systems.
Everything before the gate is assembly work: reading, extracting, calculating, formatting. Machines do that better and faster than people, and nothing is lost when they do. The send itself is a relationship decision, and a live deal is exactly the wrong place to discover an edge case. The gate costs us seconds per deal. The alternative failure mode costs deals.
04 What the output looks like
One strategy run, from a live pass of the pipeline, produced an analysis for a prospect whose manual processes the ROI pass costed out at $132,600 in annual waste, against $85,800 in projected first-year savings from automation, a 17x multiple on the proposed build.
Those numbers are an illustrative sample from a live run, not an average, not a promise, and not a measured client outcome. They show what the strategy stage produces for a single prospect from that prospect's own situation: a specific, checkable financial argument instead of a generic pitch. Every deck the pipeline builds carries its own version of that math, calculated fresh from the research record. The numbers we do stand behind as results live on the Breez case and the other measured cases on this site.
05 The technologies behind it
- GPT-4o and GPT-4o-mini run the three-stage strategy pipeline; the cheap model does the arithmetic-shaped middle pass, the stronger model does the judgment-shaped ends.
- Perplexity is the research agent for company intelligence.
- Apify reads prospect websites at the top of the research stage.
- PandaDoc assembles proposals from 40+ structured fields.
- Slack is the pipeline's face: one channel per stage, plus the approval gate.
- Modal runs every stage as a serverless webhook, no infrastructure to babysit.
Stack reasoning, including when we reach for which model, is documented at /stack.
06 What running it taught us
Three lessons from operating this on our own revenue, the kind you only learn by being your own client.
Stage isolation earns its keep on bad days. A failed research call delays one prospect, not the pipeline. We knew this in theory from client builds; running our own deals through it made it visceral.
The ROI pass is the deck. Prospects skim everything except the math about their own business. Generic capability slides lose to one page of specific, checkable numbers, which is why the calculator sits in the middle of the strategy stage rather than bolted on.
Cheap models in the middle, strong models at the edges. Cost control in an LLM pipeline is an architecture decision, not a procurement one. The same pattern now ships in client builds.
This is the engine behind the system we sell as the outbound engine: we run the pattern on ourselves first, and clients get the version that has already survived our own pipeline.
07 Related work
The client-facing version of this pattern is the Breez build, where the same reply-to-proposal discipline runs at a lead generation company, with measured results. The orchestration layer that feeds this pipeline its replies is our outreach orchestration system. And if you want to see what the strategy stage would calculate for your own operation, the free audit is the manual version of exactly that pass.