HeyReach Salesforce Lead Sync
Pull leads from Salesforce, verify they're still in role, and load them into HeyReach campaigns with personalization baked in.
The Challenge
Your Salesforce is full of leads, but half of them have changed jobs since they were added. You can't just dump stale contacts into a LinkedIn campaign and hope for the best. Every bounced connection request hurts your sender reputation, and generic outreach gets ignored. You need verified leads with fresh personalization, not a CSV from six months ago.
What This Prompt Does
Pull from Salesforce
Start with your existing CRM leads and their context
Verify Employment
Check via Apollo that each lead is still at their company
Personalize with LinkedIn
Pull recent posts and activity for outreach hooks
Load into HeyReach
Add verified leads with custom fields ready for campaign
The Prompt
The Prompt
Task
Take a list of leads from Salesforce, verify and enrich each one using @Apollo/Enrich Person and @LinkedIn/Get ProfileName it "LinkedIn/Get Profile" and call it with @LinkedIn/Get Profile, then use @HeyReach/Add Leads to CampaignName it "HeyReach/Add Leads to Campaign" and call it with @HeyReach/Add Leads to Campaign to load qualified prospects into a LinkedIn outreach campaign with personalized custom fields.
Example: Pull my Salesforce contacts from the "Q1 Outbound" list, verify they're still in role, and add them to HeyReach campaign 54321.
Input
The user will provide:
- A list of lead emails or names + companies from Salesforce (or ask to pull from a specific Salesforce view)
- A HeyReach campaign ID to add qualified leads to
- Optional: qualification criteria (title, seniority, company size)
Example: "Here are 15 leads from my Salesforce pipeline. Verify they're still at their companies and add the confirmed ones to HeyReach campaign 54321."
Context
What to Verify and Enrich
From Salesforce (starting data):
- Contact name and email
- Company name and account details
- Last activity date and lead status
Apollo enrichment:
- Current title and company (verify they haven't left)
- LinkedIn profile URL (required for HeyReach)
- Seniority level and department
- Phone number and verified email
LinkedIn enrichment:
- Recent posts and activity (for personalization)
- Current role confirmation
- Tenure at company
- Mutual connections
Sync Strategy
- Use @Salesforce/Find Contact by EmailName it "Salesforce/Find Contact by Email" and call it with @Salesforce/Find Contact by Email to pull each lead's current Salesforce data
- Enrich with @Apollo/Enrich Person using their emailName it "Apollo/Enrich Person using their email" and call it with @Apollo/Enrich Person using their email to get LinkedIn URL and verify employment
- For confirmed leads, pull @LinkedIn/Get ProfileName it "LinkedIn/Get Profile" and call it with @LinkedIn/Get Profile for recent activity and personalization hooks
- Filter out leads who have left their company or no longer match criteria
- Use @HeyReach/Add Leads to CampaignName it "HeyReach/Add Leads to Campaign" and call it with @HeyReach/Add Leads to Campaign with full profile data and custom fields for personalization
Qualification Rules
- Skip leads where Apollo shows a different company (they've moved on)
- Skip leads without a LinkedIn profile URL (HeyReach requires it)
- Flag leads with title changes (promoted or moved teams)
- Prioritize leads with recent LinkedIn activity (more likely to respond)
Output
Sync Summary:
- Leads processed: [X]
- Still at company (verified): [X]
- Left company / stale: [X]
- Added to HeyReach: [X]
- Skipped (no LinkedIn URL): [X]
Leads Added to HeyReach Campaign [ID]: | Name | Title | Company | LinkedIn Activity | Personalization Hook | |------|-------|---------|-------------------|---------------------| | [Name] | [Title] | [Company] | Active/Inactive | [Hook] |
Stale Leads (need Salesforce update): | Name | Salesforce Title | Current Title | Current Company | |------|-----------------|---------------|-----------------| | [Name] | [Old] | [New] | [New Company] |
Custom Fields Set in HeyReach:
- firstName, lastName, companyName, position
- personalization_hook: [from LinkedIn activity]
- salesforce_status: [lead status from CRM]
- verified_date: [today's date]
Example Usage
Try asking:
- →"Verify these 10 Salesforce leads and add confirmed ones to HeyReach campaign 54321"
- →"Sync my Q1 pipeline contacts to a new HeyReach outreach campaign"
- →"Check which of these leads have changed jobs and flag the stale ones"