End-to-end agentic profile claim flow
Category: Sales / Growth Automation
Author: Abhishek Singh (G2)
Systems: Salesforce · Python · GitHub Actions · ZoomInfo · Groove · Claude Code (Salesforce MCP)
Industry: B2B SaaS
Summary
A Claude-built pipeline that pulls unclaimed SMB product profiles from Salesforce, enriches decision-maker contacts via ZoomInfo, drives them to claim their listing through Groove, and closes the loop automatically when the claim happens. Runs Mon+Wed on schedule. Claude also runs the weekly reporting.
The result in 13 weeks: 29,837 profiles processed · 331 profile claims · ~$1.19M in Starter pipeline opened · 0 manual pulls.
What problem does this solve?
We had a large universe (~100,000) of unclaimed SMB product profiles on G2. Vendors weren't claiming their listings on their own, and manual outreach didn't scale past ~100 vendors/week. The result: dormant profiles, no vendor engagement, and a slow trickle of Starter conversions.
This pipeline runs autonomously twice a week, ingests 2,000 profiles per pull, finds the right decision-maker contact for each, and sends a one-click magic-link claim email — with a feedback loop that removes contacts the moment their profile is claimed so we never send duplicate emails.
How does it work?
Six layers stitched together, all deployed and monitored by Claude Code via Salesforce MCP.
1. Trigger & Cadence — Apex Scheduler
- Apex class
UnclaimedProfileQueueScheduler runs Mon & Wed at 06:00 UTC
- Filters:
Territory_Segment__c = "Small Business" · Claimed_Listing__c = false · Outreach_Queue_Status__c = Pending or null
- Selects 2,000 profiles, stamps
Outreach_Queue_Status__c = Queued and Outreach_Batch_Date__c = now()
2. Prioritization — 50/50 cohort split
The 2,000-profile batch is split evenly into two prioritization cohorts. Both flow into the same downstream enrichment pipeline.
| Cohort | Size | Signal |