- Home
- Case studies
- How a consulting firm got a weekly list of companies showing fresh buying signals
How a consulting firm got a weekly list of companies showing fresh buying signals
Instead of manually checking the press and public registers, the sales team starts Monday with a ready-made list of companies, each lead scored and assigned an owner.
4 min read
- Client
- Consulting and interim management firm
- Industry
- B2B consulting / Sales
- Scope
- AI sales agents & lead generation
- Delivery time
- approx. 1 week
Who the client was and what was getting in the way
The client runs an interim management consultancy: it steps into a company during a period of change and delivers a specific result. This kind of service sells when something is happening inside a business β a change in leadership, a new investor, an expansion, a major investment, or a restructuring. The challenge is to learn about these events before competitors do, rather than after an official press release appears.
The sales team searched for these signals by hand. One salesperson read the trade press, another browsed LinkedIn, and a third checked public registers. Everyone worked in their own way, at a different pace, with different results. There was no repeatable process, so it could not be measured or handed over to a new team member. Each person also spent several hours a week on it.
Commercial databases were ruled out for two reasons. First, they have poor coverage of privately held Polish companies with revenue above one hundred million zlotys, which were at the core of the client profile. Second, they cost too much to make sense for a team of this size. There was also a firm requirement: data had to be collected without breaking source terms and in compliance with GDPR. That ruled out many tools on the market that deal with the issue by pretending it does not exist.
What we built
We began by turning the ideal customer profile into rules the agent could understand. Revenue, industry, ownership structure, and region became hard filters. Alongside them, we defined six types of events that count as genuine buying signals in this industry.
The data collection system runs in Python and has three layers. The first consists of official registers, which provide reliable, verified, dated signals. The second uses business RSS feeds read with feedparser β they surface information faster than the registers, although it is less certain. The third layer is news search, which acts as a safety net and catches what the first two miss. Together, the layers cover most of what can be read about these companies in public sources.
Claude, running through the Agent SDK, handles lead scoring. The model receives a raw event and the client profile, checks the fit, classifies the signal type, scores it from one to five, and suggests the right contact at the company. The finished rows are sent through the Google Sheets API to a spreadsheet the team already uses. The whole process runs on a cron job on a small server; there was no reason to build anything larger.
How it works today
A new batch of companies appears in the spreadsheet on Monday morning. Each row includes the company name, a description of the event, its signal type, a score from one to five, a suggested contact, and an account owner on the clientβs team. The team gets a notification and starts the week with a ready-made list instead of a search task.
Salespeople no longer decide where to look. They decide whom to call first, which is where human judgment belongs. Implementation took about a week because most of the work went into defining the profile and signals, not writing code.
The outcome
A fresh lead list reaches the team once a week, consistently and in the same format. The agent monitors six areas of buying signals and uses three layers of data sources, so one source going offline does not stop the whole process. Each lead is automatically scored from one to five, so contact order is based on data rather than on who spotted an article first.
The biggest change is organizational. Prospecting is no longer each salespersonβs private routine; it is a company process that can be documented, handed over, and improved.
What we would do differently
Defining the ideal customer profile took the most time, but we treated it as a formality at the start. Next time, we will run a focused workshop with the sales team before anyone writes the first rule, because everything that follows depends on it.
The second lesson concerns scoring. We put the scoring model into production immediately and only then calibrated it against what the team considered a good lead. It would be better to ask salespeople to manually assess one hundred events and use those judgments to tune the model.
The third lesson is about sequencing: we reviewed source terms and GDPR requirements carefully, but too late. For this kind of agent, that should be the first step because it can rule out an entire source and change the data-collection architecture.
Related projects
A database of German HVAC installers built from scratch for export sales
More than 580 verified German B2B companies, delivered in batches within a few days, with email addresses, registry details, and a fit score.
An agent that reads LinkedIn comments and finds people with a real need
A software company reclaimed 10β15 hours a week. Its agent monitors industry leadersβ posts around the clock and filters out 98% of the noise before anyone sends a message.