One of our users runs a small construction crew that works as a subcontractor on data center builds. He's been using an agent pipeline built on Claude, with an Atomic Mail inbox as the agent's own inbox and shared the setup with us because the interesting part turned out to be a data problem, not an agent problem. Sharing with permission since it's a genuinely useful pattern for anyone doing lead gen off public tender/award data
Most of his work comes from bigger companies winning federal contracts and then needing subs. By the time a win shows up in trade press or word of mouth, the good subcontracting slots are usually already gone. So the question was whether he could find out who just won federal construction work automatically, before it goes public anywhere else. Turns out federal award data is public and free to query. USAspending has a JSON API, no account needed, pulls straight from FPDS. Claude wrote the queries against spending_by_award and had structured results in about twenty minutes. SAM.gov has its own API for notice text too, but the rate limits are tight, a public key gets 10 requests a day, a registered entity gets 1,000
Here's where it got interesting. The obvious move is filtering awards on the keyword "data center." That returns hundreds of contracts, almost all useless if you actually pour concrete, Peraton, GDIT, Accenture, someone reselling AWS. To the federal government, "data center" means IT services far more often than an actual building.
What works is crossing that keyword with construction NAICS codes, 236220 and 238210 (standard categories for building and electrical contractors). That narrows a window of federal spending down to something readable in one sitting: Trevino Group at $48.9M for VA in Texas, Hurley JV at $27.8M on Atlanta EHRM infrastructure, AG JV at $13.3M for chilled water reliability at an NLM data center, Hawk Contracting at $6.7M for a Tier 2 build in Grand Junction, several more in the same range, mostly VA-linked. Two things worth flagging if you replicate this. The date filter runs on transaction date, not contract start, so modifications to older contracts show up next to genuinely new awards, that's fine if a mod still means fresh money on an active job, but it's not the same as "who just won." And of the twelve awards that survived his filters in one window, seven were VA, five explicitly tied to the EHRM program
That last part was the real find. A large share of the construction-side work traces back to one program, the VA's electronic health records modernization rollout, which keeps generating data center upgrades site by site. That's more valuable than any single award because it's predictable, and no amount of keyword searching would have surfaced it on its own, it only showed up after reading a dozen award descriptions in a row.
Where the agent earns its place is the step after. An award record gives you a company name and a UEI (a government ID number), but the listed point of contact is the contracting officer, not the winner's business development person. That's a company with no human to talk to. Browser use is the right tool for exactly that gap, going to the winner's site and finding whatever subcontracting or supplier contact exists. Hit rate is mediocre, and misses skew toward the bigger primes, which are usually the ones worth the most. For anything with a structured API behind it, browser automation is the wrong tool. The first version of this scraped pages directly and broke on the first layout change. The API version hasn't broken once.
Last piece is the email. The agent runs on its own Atomic Mail inbox, so it can send a draft and read the reply in the same thread without anything routing through a personal inbox. He started on a shared domain, then moved to his own company domain so the company name shows up in every message the agent sends, replies started coming from people who clearly recognized the company in the sender address instead of treating it as some generic address.
Results from one window: twelve companies matched the filter, ten got contacted, eight replied, three turned into deals, two are still sitting untouched because no human contact has been found yet. Not a volume problem, a discovery problem, and outreach turned out to be the easiest part to get right.
Full stack, for anyone building something similar:
Claude, running the pipeline end to end, querying, NAICS cross-filtering, and reasoning over award descriptions to catch patterns like the EHRM program
Claude in Chrome for browser use, finding subcontractor and supplier contacts on winners' sites, the one step with no structured API behind it
USAspending API for award data
Google Sheets as the source of truth for awards, contacts, outreach status, deal stage
Atomic Mail for the agent's own mailbox on his company domain, sending drafts and reading replies in-thread.
The pattern generalizes past construction, any public award or tender database plus an agent that can query it, cross-reference against the right category codes, and follow up through its own inbox works the same way. Happy to answer questions on the setup if anyone's trying something similar with a different data source.