Keeping good records takes effort. Somebody has to look things up, check them and write them down, and to make it useful, they have to do it to the same standard every time. Most businesses that keep good records know what it costs them, and they also know data quality dips when demand on their time spikes.
I do several jobs in this business and the commercial role is only one of them, so I look for efficiencies wherever I can find them. Frankly, I need all the help I can get. Creating and maintaining good data is one area because, to be generous, the quality of records in my CRM system is inconsistent.
And if I’m being really honest, it’s shitty in too many areas; to illustrate this (I feel I am oversharing here) think of a record with just an email address. No actual name, organisation, phone number, address or even a website url. Granted, these tend to be records from a different era of the business, but they illustrate that just because you invest in the tools, people won’t necessarily use them as intended. I include myself in that wholeheartedly, but who really has time for this? Donkeywork no one likes doing but is really useful.
Last month I wrote a piece about what happens when you fill in our contact form: an AI reads each message, scores it against rules we wrote, and a person decides what happens next. This article covers the step immediately after that, where the AI does the research and keeps the record accurate.
The first filter decides what gets researched
Firstly, research costs something. Every company looked up is a set of searches, pages read, a model’s time (and tokens), and much of what arrives through a contact form is someone selling: offshore development houses, SEO specialists, link builders. Researching those would be paying to learn about companies we were never going to speak to. Not a fan of that.
So the research only runs on what the first filter lets through. A message scored as a vendor pitch or spam never creates a record in our CRM, and with no record there is nothing for the research step to pick up. A message scored as a prospect, or as unclear, does create one, and that new record is what triggers the research process.
What runs overnight
To unpack this a bit, early each morning a routine looks for records created from the website since its last run. For each one it researches the company from public sources: Companies House for the registered name, number, address, status and age of the business, the company’s own website for what it does, and LinkedIn for the size of the team and who leads it. It does the same for the person who wrote in.
Then it fills in the fields on the record that were empty, and pins a note to the top with a short write-up of who they are, what they do, how big they are and who the key people are.
The instructions for this are a couple of pages of plain English that we wrote, the same way we wrote the scoring rules for the form. The model has been taught how we want a record to look and what counts as a reliable source.
A practical example
An enquiry arrived late one evening recently. Someone wanted to talk about redesigning their website, improving how it ranks in search and fixing some bugs. They gave a company name and wrote from a free webmail address which is ‘normally’ a strong red flag but not always.
The first filter scored it 38 out of 100 and marked it unclear. Its reason, in a sentence, was that the need was plausible but the company couldn’t be verified from the message, and someone should check that it was a real, established business.
Unclear is enough to create a record, so the research ran the next morning. The note it left said the company was registered at Companies House, active, and had been trading for several years. It was a small training consultancy with a named founder and a working website. The question the first filter had raised was answered on the record, with the sources beside it.
So I approved the enquiry that afternoon, and the rest of the booking process progressed as usual.
What it left blank
Three things on that record were left empty, and the note the AI created says why for each.
The person who wrote in had no public profile connecting them to the company, so their job title was left empty. The note says nothing was found and that it had not guessed at whether that was a blocker or not.
Our CRM has a fixed list of sectors (which is a bit irritating), and the company did not fit any of them well, so the sector field was left empty too, rather than being forced into the nearest one which may not be correct.
The public figure for the size of the team was a range, so it went into the note as a range, and the headcount field was left alone, because a single number there would have looked more certain than the source actually was.
A blank field tells me something - it’s a negative signal that catches my eye. I know to either spend a couple of minutes sleuthing on LinkedIn or, if they are not on LinkedIn (some people aren’t, and I applaud them), ask about that person’s role on the call. A confident wrong answer would have told me nothing, not caught my attention and I would not have known to check it.
What it changes for me
Having a note already on the record means I go into a call with a clearer understanding of the prospect’s context and what they currently offer. I can ask smarter questions and make some educated assumptions about where we might add value.
It also means the record is researched to the same standard whether it arrived in a quiet week or a full one. My time goes on the conversation and the judgement, which the research cannot do for me. This is a win. Over a year the amount of my time saved, coupled with the increased quality of data is very valuable and worth the effort to set the system up.
The same approach on a different job
We also bid for public sector work. Tender notices are published on procurement portals every day, most have nothing to do with us, and reading them properly is a job that fills whatever time you can give it.
Every Monday morning, a routine collects the week’s new notices and ranks them against rules we wrote about the work we do, the contract size that suits us, and where it is. A model then reads the new ones and writes a line on what each one is. That line is often the useful part: a notice whose title sounds like a digital project and turns out to be electrical hardware, or a software licence purchase with no design or build in it. The result goes into a workbook for our commercial lead, who decides what deserves a proper look, and we collectively decide what we bid for. Again, the machine does the donkey work of trawling reams of data and the human does the final selection based on judgement and understanding of nuances.
A little patience goes a long way
We got one thing wrong a few weeks in. The ranking was colour-coded, and a notice near the top in green was read as a recommendation to bid, when it was a product purchase we would never have gone for. We changed the rules so that kind of purchase ranks lower, and we changed how the output is described. The ranking sets the order to read in, and a person makes the call.
This is another key element of effective AI implementation: a series of corrective inputs that refine the process. It’s easy to throw the baby out with the bathwater when it makes a mistake, and it’s easy to think it doesn’t or won’t work.
That can certainly be true, but my experience of this is: stick with it, keep correcting it, you’ll start correcting less and less, and eventually you get to something that is reliable and robust.
Some field notes
The two jobs have little in common, and the same four things are true of both.
It says what it could not establish. A gap is marked as a gap, with the reason. Nothing is filled in on a guess.
It works inside the tools we already used. The CRM, a spreadsheet, Slack. Nobody had to learn a new system, and the records live where they always did.
It does the legwork, and a person makes the decision. The research and the first read are done for us. Approving an enquiry, or choosing what to bid for, is still very much our choice.
It leaves a trail. Anyone on the team can see what was done, when, and where the information came from.
Where else this could sit
A process is a candidate if four things are true.
- Something arrives regularly.
- A record has to be created or updated each time.
- Someone looks things up, from sources you could name, to complete it.
- The quality of the result depends on how busy that person is.
If you can think of one, and you would like to talk through what a version of this would look like on the tools you already use, I offer a free 30-minute call with no obligation attached.
Fill in the form on our contact page. You know how that works ;-).






