Why GitHub Signals + HeyReach
HeyReach is a LinkedIn automation platform built for sales teams running multi-account LinkedIn outreach at scale. It lets teams send personalized connection requests and messages through multiple LinkedIn accounts with smart rotation and campaign management. When you combine HeyReach with GitLeads, every GitHub developer signal — a new stargazer on your repo, a competitor star, or a GitHub issue mentioning your target keywords — becomes a LinkedIn outreach trigger with full developer profile context.
The GitLeads + HeyReach Workflow
GitLeads monitors GitHub repos and keywords 24/7 and captures enriched developer profiles — including LinkedIn URL when publicly linked — the moment a signal fires. Here is the full workflow:
- GitLeads detects a signal: new stargazer on your tracked repo or keyword match in an issue/PR/discussion
- GitLeads enriches the profile: GitHub username, name, email, bio, company, location, follower count, top languages
- GitLeads pushes the enriched lead via webhook or n8n/Make/Zapier to your routing middleware
- Your automation adds the contact to the appropriate HeyReach LinkedIn campaign list
- HeyReach sends the connection request with personalized context from the GitHub signal
Integration: GitLeads Webhook to HeyReach API
HeyReach exposes a REST API for adding leads to lists. Use a GitLeads webhook destination to POST to your handler, then call the HeyReach API:
// GitLeads webhook payload → HeyReach campaign list
// Configure: GitLeads Settings → Destinations → Webhook
interface GitLeadsPayload {
signal_type: 'stargazer' | 'keyword';
github_username: string;
name: string;
email?: string;
company?: string;
bio?: string;
linkedin_url?: string; // present when linked on GitHub profile
top_languages: string[];
signal_context: string;
}
// Webhook handler (Hono / Express / Next.js API route)
app.post('/webhooks/gitleads', async (req) => {
const lead: GitLeadsPayload = req.body;
// HeyReach requires a LinkedIn profile URL — route others elsewhere
if (!lead.linkedin_url) {
return routeToEmailOutreach(lead); // Smartlead, Instantly, etc.
}
await fetch('https://api.heyreach.io/api/public/lead/AddLeadsToList', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'X-API-KEY': process.env.HEYREACH_API_KEY!,
},
body: JSON.stringify({
listId: process.env.HEYREACH_LIST_ID,
leads: [{
linkedInProfileUrl: lead.linkedin_url,
firstName: lead.name.split(' ')[0],
lastName: lead.name.split(' ').slice(1).join(' '),
email: lead.email,
companyName: lead.company,
customFields: {
github_username: lead.github_username,
signal_type: lead.signal_type,
signal_context: lead.signal_context,
top_languages: lead.top_languages.join(', '),
},
}],
}),
});
});Personalizing LinkedIn Messages with GitHub Signal Context
The most powerful aspect of this integration is using GitHub signal context in HeyReach message templates. GitLeads passes signal_context — the exact repo starred or the keyword phrase from their GitHub issue. Use this in your campaign templates:
# Example HeyReach message template using GitLeads signal context
Hi {{firstName}},
I saw you recently starred {{signal_context}} on GitHub —
we help teams selling to developers capture exactly those signals
and route them into outreach before competitors do.
Worth a quick 15 minutes to see how it works?Routing Leads Without LinkedIn URLs
Not every GitHub developer publicly links their LinkedIn profile. GitLeads always provides email (when public on GitHub), company, and bio regardless. For leads without LinkedIn URLs, route them to email outreach tools like Smartlead or Instantly, or enrich them via Clay to find LinkedIn profiles before sending to HeyReach.