La Growth Machine + GitHub signals: the developer GTM stack
La Growth Machine (LGM) is a multi-channel sales automation platform combining LinkedIn, email, and Twitter outreach. GitLeads finds developers who show buying intent on GitHub — new stargazers on tracked repos, keyword mentions in issues and PRs. Together: LGM handles the outreach, GitLeads handles the signal capture.
Integration architecture: GitLeads → La Growth Machine
GitLeads pushes leads via webhook. La Growth Machine imports contacts via its API or through intermediary tools. The recommended flow:
- GitLeads detects a GitHub signal (star, keyword match)
- GitLeads enriches the developer profile (name, email, GitHub URL, company, bio)
- GitLeads fires a webhook to your endpoint or Clay/n8n/Make
- Your middleware maps fields and calls the La Growth Machine API to add the contact to a campaign
- LGM executes the LinkedIn + email + Twitter sequence
Webhook payload from GitLeads
{
"event": "lead.created",
"signal_type": "stargazer",
"repo": "your-org/your-repo",
"lead": {
"github_username": "devuser42",
"name": "Alex Chen",
"email": "alex@acme.com",
"github_url": "https://github.com/devuser42",
"bio": "Platform Engineer @ Acme Corp | Kubernetes, Terraform",
"company": "Acme Corp",
"location": "San Francisco, CA",
"followers": 312,
"top_languages": ["Go", "Python", "TypeScript"],
"starred_at": "2026-05-10T09:14:22Z"
}
}Adding contacts to La Growth Machine via API
// n8n / Make / custom webhook handler
// POST https://api.lagrowthmachine.com/v2/leads
async function pushToLGM(lead: GitLeadsPayload) {
const response = await fetch('https://api.lagrowthmachine.com/v2/leads', {
method: 'POST',
headers: {
'Authorization': `Bearer ${process.env.LGM_API_KEY}`,
'Content-Type': 'application/json',
},
body: JSON.stringify({
campaign_id: process.env.LGM_CAMPAIGN_ID,
email: lead.lead.email,
first_name: lead.lead.name.split(' ')[0],
last_name: lead.lead.name.split(' ').slice(1).join(' '),
company: lead.lead.company,
custom_attributes: {
github_username: lead.lead.github_username,
github_url: lead.lead.github_url,
signal_type: lead.signal_type,
repo: lead.repo,
top_languages: lead.lead.top_languages.join(', '),
},
}),
});
return response.json();
}Recommended LGM sequence for GitHub leads
GitHub developer leads respond best to sequences that reference their technical activity. A 4-step LGM sequence that converts:
- **Day 1 — LinkedIn visit** (LGM auto-visits their profile): creates awareness, increases connection acceptance rate
- **Day 2 — LinkedIn connection request**: short and contextual — reference the repo or technology, no pitch
- **Day 4 — LinkedIn message** (if connected): reference their stack from GitHub signal, ask about a specific problem your product solves
- **Day 7 — Email** (if email available from GitLeads): longer message with social proof from similar developers, link to relevant docs or case study
Filtering leads before pushing to LGM
Not every GitHub signal is ready for LinkedIn outreach. Filter in your middleware:
function shouldPushToLGM(lead: GitLeadsPayload): boolean {
const { followers, top_languages } = lead.lead;
// Only push developers with LinkedIn-findable profiles
if (followers < 10) return false;
// Skip if no name (bots/anonymous accounts)
if (!lead.lead.name) return false;
// Prioritize relevant language stack
const relevantLanguages = ['TypeScript', 'Python', 'Go', 'Rust', 'Java'];
const hasRelevantLang = top_languages.some(l => relevantLanguages.includes(l));
if (!hasRelevantLang) return false;
return true;
}Using Clay as middleware between GitLeads and LGM
Clay is the most popular middleware for enriching GitLeads signals before pushing to LGM:
- Receive GitLeads webhook in Clay HTTP source
- Run LinkedIn enrichment to find profile URL (required for LGM LinkedIn steps)
- Add company enrichment — employee count, funding, industry
- Filter by ICP criteria (company size, title, industry)
- Push to LGM via Clay's native La Growth Machine integration