Why GitHub Signals Belong in Saleshandy
Saleshandy is a cold email sequencing platform used by thousands of sales teams. But most Saleshandy users manually upload prospect lists — static CSVs that go stale fast. By connecting GitLeads to Saleshandy, you replace manual prospecting with real-time GitHub intent signals: developers who just starred a competitor repo, mentioned a pain point in a GitHub issue, or pushed code using your target technology stack.
GitLeads does not send emails. It captures GitHub buying signals and pushes enriched lead profiles — name, email, company, GitHub stats — into your existing outbound tools. Saleshandy handles the actual email sequences. This is the division of labor that makes the integration powerful.
Integration Architecture: GitLeads → Saleshandy
GitLeads exposes a webhook for every new lead event. Saleshandy does not have a native public API for adding prospects programmatically in all plans, so the recommended integration path uses a middleware layer — typically n8n, Make, or Zapier — to bridge the two tools.
// n8n Webhook Node receives GitLeads payload
// then calls Saleshandy API to add prospect
interface GitLeadsPayload {
username: string;
email: string;
name: string;
company: string;
signalType: 'stargazer' | 'keyword';
repoName?: string;
keyword?: string;
bio: string;
location: string;
followers: number;
topLanguages: string[];
}
// Saleshandy Add Prospect endpoint
async function addToSaleshandy(lead: GitLeadsPayload) {
const response = await fetch('https://api.saleshandy.com/v1/prospects', {
method: 'POST',
headers: {
'Authorization': `Bearer ${process.env.SALESHANDY_API_KEY}`,
'Content-Type': 'application/json',
},
body: JSON.stringify({
email: lead.email,
firstName: lead.name.split(' ')[0],
lastName: lead.name.split(' ').slice(1).join(' '),
company: lead.company,
tags: [lead.signalType, 'github-signal', lead.topLanguages[0]],
customFields: {
github_username: lead.username,
signal_context: lead.repoName
? `Starred ${lead.repoName}`
: `Mentioned "${lead.keyword}" on GitHub`,
bio: lead.bio,
location: lead.location,
followers: lead.followers,
},
}),
});
return response.json();
}Step-by-Step Setup
- In GitLeads, configure your tracked repos and keyword signals. Set the integration to Webhook.
- In n8n (or Make/Zapier), create a Webhook trigger node. Copy the webhook URL.
- Paste the webhook URL into GitLeads → Integrations → Webhook. Save.
- Add an HTTP Request node in n8n that calls the Saleshandy Prospects API with the enriched lead data.
- Map GitLeads fields: email → email, name → firstName/lastName, company → company, signal → customField.
- Optionally, add a filter step: only route leads with a public email, or only from specific signal types.
- Test by starring one of your tracked repos from a test GitHub account. Verify the lead appears in Saleshandy.
Sequence Strategy for GitHub Leads in Saleshandy
GitHub leads respond best to sequences that reference their specific signal. Use Saleshandy custom fields to personalize: "I noticed you starred [repo] — are you evaluating alternatives for [use case]?" outperforms generic cold email by 3-5x in developer-audience sequences.
- Step 1 (Day 0): Personalized email referencing the GitHub signal — repo name or keyword
- Step 2 (Day 3): Follow-up with a specific use case or case study relevant to their top language
- Step 3 (Day 7): LinkedIn connection request (manual or via Saleshandy's multi-channel feature)
- Step 4 (Day 14): Break-up email with a soft ask — "is this even relevant for you?"