Sales Blueprint
Automate Unclaimed SMB Profile Claims at Scale
Scale vendor outreach from 100 to 2,000+ SMB decision-makers weekly with automated contact enrichment and one-click profile claims, closing the loop automatically when vendors engage.
2 Files Included
Unclaimed_SMB_Flow_Blueprint.md
11 KB
Weekly_Digest_Scheduler.md
10 KB
What problem does this solve?
Generates automated outreach to decision-makers at small businesses with unclaimed product profiles on G2, enriching contact data and driving profile claims through email. Manual outreach maxed at ~100 vendors per week, leaving a large universe of dormant profiles with minimal vendor engagement.
How does it work?
- Apex scheduler selects 2,000 unclaimed SMB profiles twice weekly (Monday and Wednesday), splitting them 50/50 between AI-category products and those with recent reviews, then stamps them as Queued in Salesforce.
- Python orchestrator running on GitHub Actions fetches queued profiles and calls ZoomInfo Search (free) to find up to 25 candidate contacts per company, then Enrich (1 credit per contact) to retrieve email, phone, and management level.
- Client-side filter keeps only C-level, VP-level, and Director-level contacts, ranked by seniority, capped at 5 per company, then writes each to Salesforce with campaign attribution and the product profile slug for a magic-link claim URL.
- Groove auto-enrolls new contacts into the SMB Starter email sequence; when a vendor clicks the claim link and claims their profile, a Salesforce trigger removes them from the sequence to prevent duplicate outreach. Output: a fully attributed pipeline of decision-makers receiving one-click claim emails, with automatic loop-closure when profiles are claimed.
What's the biggest win?
331 profile claims and ~$1.19M Starter pipeline opened in 13 weeks with zero manual outreach pulls.
What should I know technically?
Built via Claude Code using Salesforce MCP to deploy Apex scheduler, custom fields (Outreach_Queue_Status__c, Outreach_Batch_Date__c, Unclaimed_Product_Profile_Slug__c), and trigger logic. Python orchestrator uses simple-salesforce library and httpx for REST calls. ZoomInfo authentication uses RS256 PKI JWT (5-minute client assertion); requires empty user-agent header. Search is free; Enrich costs 1 credit per contact, plan budget accordingly since all search candidates are enriched before seniority filtering. Unclaimed_Product_Profile_Slug__c must be written on both Contact create and update because Groove email template uses it for the magic-link URL. Weekly reporting runs via Claude scheduled task on Mondays at 7 PM IST, executing chunked SOQL queries to compute strict-attribution claim count (profiles claimed after first contact date), category breakdown (AI vs Other), and email metrics, then posts digest to Slack and overwrites live canvas. Fallback to prior canvas snapshot if queries return implausibly low values.
What are the constraints?
ZoomInfo coverage is uneven; historical enrichment hit rate ranges 7, 74% per run, averaging 50, 60%. ~70 SMB profiles have no Account.Website, requiring slug-to-companyName fallback or those profiles are skipped. Email send volume from Groove/inbox limits is now the throughput bottleneck, scaling further requires raising email capacity or adding non-email outreach channels. 74% enrichment coverage was a one-time peak; realistic sustaining target is 60% per run. Prioritization split (50/50 AI-category and review-recency) is a config choice that can be tuned as data shows.
Tools in this Blueprint
About This Blueprint
- Industry
- Advertising & Marketing