The problem this solves
A scoring model is only as good as the fields it reads, and in most CRMs those fields are half empty. Employee count is missing on the accounts that came in through content, industry is a free-text field with forty spellings, and tech stack was never captured at all. The model still produces a number for every account, which is the dangerous part: a score computed on blanks looks exactly like a score computed on data, and the accounts it silently misranks are the ones nobody was watching.
Backfilling this by hand is the maintenance nobody budgets. It means looking up companies one at a time, transcribing what you find, and repeating the exercise every quarter as new accounts arrive and old data drifts. The work is unglamorous, unownable, and endless, so it gets done once during a scoring project and never again. Six months later the model is back to reading blanks, and the team quietly reverts to gut feel.
The durable fix is a mission that measures the gap, fills what can be filled from live sources, states its evidence, and reports coverage honestly. When you can see that a field went from sparse to substantially complete, and every filled value says where it came from, the scoring model stops being a black box built on sand and starts earning the trust the revenue team needs before they will act on its rankings.
How the mission runs
- Measure the gap. The agent inventories your HubSpot companies and reports starting coverage for each scoring input: what share of accounts have employee count, industry, and tech stack populated. This baseline is kept so the final report can state coverage before and after, making the run's value checkable rather than asserted.
- Backfill firmographics. For every company missing employee count or industry, Firmographics lookups run against the company's domain. Values that resolve confidently are queued for writing; companies that cannot be resolved are recorded as unresolved rather than guessed, because a plausible wrong industry is worse for scoring than an honest blank.
- Backfill the tech stack. Technographics fills the stack fields: what each company runs where it is publicly detectable. This is the input that separates a real fit model from a demographic one, since knowing what an account already uses is often the strongest signal of whether your product belongs in their world.
- Write back with provenance. All resolved values are written to HubSpot idempotently: re-runs never duplicate or thrash values, and each changed record notes which fields were filled and from what evidence. Fields that already held data are left exactly as they were, so nothing a rep entered by hand gets silently replaced.
- Report coverage before and after. The mission closes with a coverage report: each scoring input's fill rate at the start, its fill rate now, and the list of companies that stayed unresolved. Your scoring model can now be rerun knowing precisely which accounts it can score on full inputs and which it still cannot.
The prompt
This is the exact objective the agent receives. Swap the obvious placeholders for your own domain, segment or channel and run it as-is from the console, Slack, or the API.
What comes back
A company table where the scoring inputs are substantially filled: employee count, industry, and tech stack written back to HubSpot with a provenance note on every changed record, existing values untouched. Plus a before-and-after coverage report per field, with the unresolved remainder listed explicitly, so you know exactly how much of your database the scoring model can now rank on real data.
Make it yours
- Restrict the backfill to accounts above a deal-size threshold or inside your target segments, where scoring accuracy actually changes decisions, and let the long tail wait.
- Add a normalization pass for the industry field so historical free-text entries collapse into the same taxonomy the backfill uses, giving the model one consistent input.
- Schedule it quarterly and keep the coverage reports: the drift between runs tells you how fast your database decays and how often the sweep genuinely needs to run.
Frequently asked questions
Will this overwrite values my team entered manually?
No. The mission only fills fields that are empty, and every write is idempotent and annotated with its evidence. If you want existing values audited against live data, that is a different instruction you give explicitly, and even then the output is a discrepancy report for review rather than a silent replacement.
What happens to companies that cannot be resolved?
They are listed in the final report as unresolved, with fields left blank. The mission never fabricates a value to improve its own hit rate, because a wrong industry or headcount quietly corrupts every score downstream. An honest blank is visible and fixable; a plausible guess is neither.
How does this connect to my actual scoring model?
The playbook fills the inputs and proves coverage; your model consumes them wherever it lives. Many teams pair it with the ICP re-score playbook so the freshly filled fields are immediately used to re-rank the book, with the ranked output landing in Sheets for the revenue team.