Systems in practice
AI-Qualified Lead Generation for a Commercial Fitness Supplier
How we built a connected lead generation system that turns business listings into qualified sales prospects while reducing irrelevant and duplicate records in HubSpot.
Commercial fitness equipment / B2B sales operations
- Make
- Apify
- Apollo
- Claude
- HubSpot
- Google Sheets
Business challenge
A commercial fitness equipment supplier needed a more structured way to identify relevant businesses and potential decision-makers.
Local business listings provided useful starting information, including company names, categories, addresses, and websites. However, that information alone was not enough to determine whether a business matched the supplier's target customer profile.
The challenge was to connect business discovery with company research and qualification while preventing irrelevant or duplicate records from entering HubSpot.
The solution also needed to preserve source information, handle businesses without usable websites, and support contact research based on the type of facility being evaluated.
Solution overview
We designed three independent Make scenarios to handle business discovery, company enrichment, and AI-assisted qualification.
Google Sheets serves as a shared staging layer, allowing each scenario to process records independently while preserving the information generated at previous stages.
Apollo provides company and contact research, while Claude evaluates businesses against the client's qualification criteria. Explicit workflow rules determine which records proceed to HubSpot and how existing companies and contacts are matched.
This architecture separates AI-assisted decision-making from CRM operations, making the system easier to maintain and reducing the risk of irrelevant or duplicate records.
How the system works
Discover → Enrich → Qualify & Sync
Make / 3 independent scenarios
1Business discovery
Collect business listings
Receive business information and place IDs from Apify.
Apify
Check existing records
Check source records before adding new candidates.
Google Sheets / Make
2Company enrichment
Prepare company records
Normalize website information and separate records without usable websites.
Make
Enrich eligible companies
Retrieve company information for domain-based research.
Apollo
3AI qualification & CRM
Qualify candidates
Evaluate company fit using available evidence.
Claude
Synchronize qualified records
Process qualified companies and contacts using domains and available contact emails.
HubSpot / Apollo
Google Sheets
Shared staging & handoffs
Google Sheets
Scenario 1 — Business discoveryAn Apify dataset notification supplies the listing data.
The collection scenario preserves business names, categories, addresses, phone numbers, websites, Maps URLs, and source place IDs. A sheet lookup and zero-result gate precede insertion, keeping record checks separate from collection.
The business listings are stored in Google Sheets. The original listing remains available as the starting point for later research.
Scenario 2 — Company enrichmentThe enrichment scenario reads unprocessed business records from Google Sheets.
JavaScript trims values, normalizes website hostnames, removes the www prefix, and groups records by domain. Businesses without usable websites are routed to a separate sheet rather than sent into domain-based enrichment requests.
Apollo returns available company context, including industry, employee estimates, location, description, and keywords. Response matching associates organization data with the input businesses using exact domains, a root-domain approximation, and name-based fallbacks.
The resulting company information is written back to the Google Sheets staging layer for qualification.
Scenario 3 — AI qualification & CRMClaude receives listing and company evidence alongside the supplier's target-facility criteria, including relevance to indoor cycling programs.
It returns structured fields for target fit, model-generated confidence, facility type, indoor cycling activity, supporting evidence, estimated bike brands, product opportunities, priority, and research notes.
The workflow parses those fields, records the assessment in Google Sheets, and gates company processing on a positive target decision. HubSpot company handling searches by domain before creation or updates.
Facility type informs Apollo contact research and role criteria. Email-bearing contacts are looked up by email before create/update actions; new contacts receive company associations.
Engineering decisions
- Separate processing responsibilitiesDiscovery, enrichment, and qualification operate as independent scenarios. This keeps responsibilities distinct and makes each processing stage easier to inspect and maintain.
- Use appropriate identity matchingSource place IDs retain business-listing identity. Normalized domains support company enrichment and HubSpot company matching. Email addresses support contact matching. These identifiers should not be treated as interchangeable, and email matching applies to contacts with an available email address.
- Handle incomplete company informationBusinesses without usable websites are routed separately instead of being sent into domain-based enrichment requests. This preserves incomplete records without introducing avoidable API errors.
- Keep AI decisions explainableClaude returns structured qualification information with supporting evidence and research notes. The model-generated confidence score is an assessment, not a statistically calibrated probability.
- Protect CRM data qualityAI qualification is separated from HubSpot record operations. Explicit workflow logic controls qualification gates, company lookups, contact matching, and record synchronization.
Results & business impact
The implemented system connects business discovery, enrichment, qualification, and CRM synchronization into a structured prospecting process.
Businesses are evaluated against the target customer profile before entering HubSpot. Existing company and contact records are checked before new records are created, while incomplete source records remain available for further processing.
The result is a more controlled lead generation process with clearer qualification evidence and less reliance on manual data handling.
Structured qualification
Business relevance is assessed using enriched company information and target customer criteria.
CRM data quality
Company and contact lookups are performed before record creation or updates.
Traceable prospect research
Source listings, enrichment data, and qualification results remain available through the staging workflow.
Controlled AI integration
AI assessments are separated from CRM synchronization logic.
Technology stack
- Make
- Workflow orchestration across the three scenarios.
- Apify
- Business listing collection.
- Google Sheets
- Shared staging, processing handoffs, and qualification records.
- Apollo
- Company enrichment and contact research.
- Claude
- Structured AI-assisted qualification.
- HubSpot
- Company and contact management.
- JavaScript and HTTP APIs
- Data normalization, response matching, and integration logic.