SaaS Media

Buy Your GTM Stack, Build Agents Only on Data Nobody Else Has

Email lookups, sending and AI-engine answers come out the same for everyone who pays. The agents worth owning read your own history.

Author:
Vlad Shvets
Contributors
Vlad Shvets
Date:
November 4, 2026

Most of a go-to-market stack should be bought, even now that people are rebuilding theirs over a weekend with a coding agent. The part worth building with agents is smaller than those rebuilds assume, and the line runs through the stack step by step:

Buy every step a second vendor could sell you in the same form: email addresses and their verification, company data, mailboxes and sending, scraped pages, the answers AI engines give.
Build an agent only where it reads a record nobody can sell you: which deals closed and why, what prospects wrote back, which leads your own team turned away.

An agent earns its upkeep by making a decision your competitor’s agent cannot make, and plumbing hands every buyer the same inputs. Build the plumbing yourself and you get the decision everyone gets, plus the bill for keeping it running. A decision made on your own record is the only kind nobody can sell you, so it is the only kind worth building.

Building is worth it once a team has a record worth reading: enough closed deals, replies and rejected leads that a rule could be written from them. A team without one should buy everything and write its rules down first.

Empact Partners builds these agents, for the B2B software companies we partner with and for our own outbound. As a go-to-market consultancy, we sell the building, so read the verdict knowing that. It also costs us work: most of a stack should be bought, and a team with no record of its own has nothing for us to build on.

Anything a Second Vendor Can Sell You Is Plumbing

The test for any step is whether its output changes with the buyer. An email address is the same address whoever looks it up. So is a company’s headcount, a page scraped this morning, and the answer ChatGPT gives to a question about your category. Here is our own stack, step by step:

Step Bought or built Why
Finding and verifying email addresses Bought, from two vendors The address is the same whoever finds it
Mailboxes, domains and sending Bought A domain that stops reaching inboxes is pulled the same day
Company data, scraped pages, job postings Bought A feed stays only while it finds companies the others miss
ChatGPT and Google AI Mode answers Bought Two vendors returned the same answers
Whether an AI answer speaks well of a brand Bought since September, after we had built it The same reading for every buyer
Whether a company is worth contacting Built Calibrated on companies we labeled from our own history
What a reply to a prospect should say Built Drafts follow rules written from our own conversations
Who must never get a cold email from us Built Rebuilt from our CRM every day
Which questions a partner’s buyers ask AI engines Built Set per partner, read by a person before we spend

We measured the fourth row. The Empact Panel, our own build, buys those answers every week to measure how often AI engines name more than a dozen of our partners. In late September we put the same 555 questions in one partner’s category to two collection vendors.

The two sets of answers matched as closely as one vendor’s answers match when you ask it twice, for the partner and for eight of its nine competitors. The ninth came out lower on one vendor, which is why every report labels the week a vendor changes.

Between 8 and 9 October the vendor we bought ChatGPT’s answers from stopped running web search, and our citation check refused the answers collected after that. The fix was not code. We put the same 100 questions to the other vendor, a side-by-side that cost 54 cents, and moved every panel to it the same day.

Vlad Shvets
Founder @ Empact Partners
A step anyone can buy in the same form is a step where your agent makes the same decision as your competitor’s. Build it yourself and you have paid to reach parity, then you pay again every time a source changes its API.

The same test decides which plumbing we keep paying for. For our own outbound we bought two signal feeds in October. One sold funding rounds and found no company our free sources had not already found, so it is switched off. The other sold job postings and found two companies nobody else had, so it stays.

The platforms come out of this well. Clay’s own documentation describes its plugin and API as the way a coding agent reaches Clay’s data and the more than 200 vendors in its marketplace, for the same credits as the app. Build your agent to call that, and the upkeep of those 200 connections stays with Clay.

So the only place an agent of yours can decide differently is a step that reads something nobody else holds.

Build Where the Input Is a Record Nobody Can Sell You

The clearest case in our own outbound is the question of who is worth contacting at all. We answer it with a rubric calibrated on 191 companies we labeled ourselves: 101 that became partners or engaged with us, and 90 outside the kinds of companies we work with. On that set, 79 of the 81 companies it qualifies are right.

No vendor sells that labeling, because it is our history. We buy the model that reads each company’s pages against the rubric. The rubric, the labels and the thresholds are ours, and they are the reason the step is worth building at all.

The Panel works the same way. We buy the answers and build about a thousand questions for each market a partner sells in, from its own use cases and competitors. A person reads each set before we pay to collect the answers. We draft replies to prospects from documents we wrote after reading our whole history with 259 companies.

The judge we built, then bought

We got the line wrong once ourselves. Until September the Panel read the tone of each AI answer about a brand with a judge we had built. We replaced it with a bought model that read better against a blind test set, because whether a sentence speaks well of a brand is the same question for every buyer. It was plumbing all along.

Vlad Shvets
Founder @ Empact Partners
A step is worth building when you can name the record it reads and the decision that record changes. Our own sentiment judge could name neither, and a bought one replaced it in September. A model inside a step does not make the step yours.

Could a rule make the same call?

The sharpest challenge to the build half came in an April thread where a team described an agent that sorts intent signals before reps see them. One reply asked:

“Why would your ICP and stages be “too nuanced to hard code”?” — r/gtmengineering, Apr 2026

The question is fair, and the same reply made the point that automation platforms run rules well and for less. Most of our qualification is code: sectors we do not serve, sanctioned countries, a cap on staff. No rule can read a company’s homepage and say whether it sells software to businesses, so that judgment goes to a model, against our rubric.

If a written rule makes the same call, write the rule, in the platform you already pay for. Clay’s documentation lists scoring and routing among the workflows it runs, and a rule over fields it already holds belongs there.

A Home-Built Agent Is One More System Only Its Builder Can Fix

A narrow build is still a build, and somebody has to keep it alive. Part of that objection is true of us: in September we replaced a bought pipeline board with a CRM of our own. I am the only person who has changed its code, and it took 114 pull requests in its first month.

We built it because the board held stages people typed in. The import carried seven deals at “proposal” that had never been sent one. Our CRM works out a deal’s stage from our own mail, calendar, call notes and campaign replies, records the board never read. Keeping the CRM running is the price of reading them.

The best statement of that price came in May, from a team running a stack it had stitched together itself:

“It works fine but also breaks every time a source API changes, something downstream fails quietly.” — r/gtmengineering, May 2026

What breaks in that sentence is the wiring to the source APIs, the plumbing the team chose to connect and own. That is the half this verdict says to buy, and our own incident record has the same shape:

What broke Layer How it ended
The ChatGPT answers we buy stopped searching the web, 8 to 9 October Bought Moved to the second vendor the same day
Four of our sending domains reached the inbox in 0 of 88 tests at Google, 3 November Bought Pulled from every campaign that night
A paid funding feed found nothing our free sources had missed, October Bought Switched off
A sync would have shrunk our do-not-contact list if one source went missing, 31 October Built Caught in code review and fixed 38 minutes after the commit
The Panel counted ads as citations, found in a September audit Built One citation reader on every panel, and ads never count

The bought rows ended in a swap or a cut, because a second vendor sells the same thing. The built rows needed someone who knew what the output was for. A do-not-contact list exists to keep people out of a campaign, so a smaller one is a defect even when nothing throws an error.

Buy anything a second vendor could sell you tomorrow. Build only what reads a record nobody else holds, and give it an owner by name.

The seam between a bought service and your build is yours either way. One email-finding service sent its refusals back to our pipeline as ordinary answers with no address in them, which reads exactly like “no address found.” That check is ours to write, whoever sells the addresses.

Vlad Shvets
Founder @ Empact Partners
The upkeep of an agent you built is the price of the one decision only your record can make. Pay it for that layer and nowhere else, because on a step a vendor sells in the same form, the upkeep buys you nothing.

So the build stays narrow, and it gets an owner. The Panel has the shape we want: the consultants who run each partner’s panel collect its answers on their own machines and can merge a fix themselves. Our CRM is not there yet. The upkeep is real, so we pay it for one layer per job and buy everything under that layer.

Label Every Step Before Anyone Opens a Coding Agent

Before the weekend build, write down every step your go-to-market work repeats, from finding an address to drafting the follow-up. Mark a step bought if a second vendor could sell you the same output. Every step left has to answer two questions before anyone builds it:

The record: what it reads that nobody can sell you, named as a system or a file your team already keeps.
The decision: what it decides differently because it read that record, in terms your sales team would notice.

A step that cannot answer both stays bought, however easy the build looks. A step with both is the only kind where an agent can pay for its own upkeep, and it is usually much smaller than the stack anyone proposed to rebuild.

That list is where Empact Partners starts its RevOps work with a partner, and we call the building half marketing engineering:

Audit: we go through the work the team repeats, from routing to reporting, and label each step bought or built.
One agent: we build it for one step that reads the partner’s own record, such as the deals, the replies, or the leads their team turned down.
An owner: a named consultant on our side owns what the agent produces.
A measure: agreed before the build, in a number the team already reports, such as hours returned or pipeline moved.

If your team is about to rebuild its stack and nobody can say which step reads a record only you hold, book a call with me, and we’ll see whether it is work we should do together.

Ready
To Connect?

Let's Partner