HeyReach Salesforce Lead Sync

Pull leads from Salesforce, verify they're still in role, and load them into HeyReach campaigns with personalization baked in.

CRM to outreach syncLead verificationPipeline activationData hygiene

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:

  1. A list of lead emails or names + companies from Salesforce (or ask to pull from a specific Salesforce view)
  2. A HeyReach campaign ID to add qualified leads to
  3. 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

  1. 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
  2. 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
  3. For confirmed leads, pull @LinkedIn/Get ProfileName it "LinkedIn/Get Profile" and call it with @LinkedIn/Get Profile for recent activity and personalization hooks
  4. Filter out leads who have left their company or no longer match criteria
  5. 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"