GitLeads + Warmly: Two Layers of Developer Intent
Warmly identifies companies and individuals visiting your website using IP de-anonymization and intent data enrichment. GitLeads captures developer buying signals directly from GitHub — new stars on tracked repos, keyword mentions in issues, PRs, and discussions. Together, they give your GTM team two complementary intent layers: who is visiting your site and who is actively engaging with relevant GitHub activity.
Developers who show up in both signals (visiting your site AND interacting with GitHub signals) are your highest-intent buyers. This overlap is the most actionable segment in your pipeline.
How the Integration Works
GitLeads pushes enriched developer profiles to Warmly via webhook. Warmly can receive the lead data through its native webhook endpoint or via Zapier/n8n/Make. The recommended flow:
- GitLeads captures a GitHub signal (new stargazer, keyword mention)
- GitLeads enriches the profile: name, email, GitHub username, company, bio, top languages, location, follower count
- GitLeads fires a webhook to your Zapier/n8n automation
- The automation creates or updates a person record in Warmly with the GitHub signal context
- Warmly correlates the GitHub lead with website visits and adds them to your sales team's live view
Setting Up the Webhook
GitLeads sends a structured JSON payload on every signal. Here is what Warmly receives when a developer stars a tracked repo:
// GitLeads webhook payload — GitHub stargazer signal
interface GitLeadsWebhookPayload {
event: 'stargazer' | 'keyword';
lead: {
name: string;
email: string | null; // public GitHub email if available
github_username: string;
profile_url: string;
bio: string;
company: string;
location: string;
followers: number;
top_languages: string[];
signal_type: 'stargazer' | 'keyword';
signal_context: string; // e.g. "Starred acme/sdk at 2026-05-13T09:14Z"
tracked_repo?: string; // for stargazer signals
tracked_keyword?: string; // for keyword signals
};
fired_at: string; // ISO 8601 timestamp
}
// Example Warmly person upsert via their REST API
async function pushToWarmly(payload: GitLeadsWebhookPayload) {
const response = await fetch('https://api.warmly.ai/v1/people', {
method: 'POST',
headers: {
'Authorization': `Bearer ${process.env.WARMLY_API_KEY}`,
'Content-Type': 'application/json',
},
body: JSON.stringify({
email: payload.lead.email,
name: payload.lead.name,
company: payload.lead.company,
custom_attributes: {
github_username: payload.lead.github_username,
github_signal: payload.lead.signal_context,
github_languages: payload.lead.top_languages.join(', '),
github_followers: payload.lead.followers,
},
}),
});
return response.json();
}Warmly Configuration for GitHub Leads
Once GitHub leads are flowing into Warmly, configure these views for your team:
- Create a "GitHub Intent" segment in Warmly filtering on the github_signal custom attribute being present
- Set up Slack notifications when a GitHub lead visits your pricing or docs page — this is your highest-intent trigger
- Route GitHub stargazer leads to SDRs with a "warm intro" flag — these are developers who already know your product
- Use Warmly's AI agent to auto-engage GitHub keyword leads that visit your homepage but don't convert
- Create a Warmly view sorted by github_followers descending to prioritize influential developers first
Why GitHub Signals Complement Warmly's Intent Data
Warmly's strength is identifying anonymous website visitors using firmographic data. Its weakness: it cannot tell you what a developer is actively researching or building. GitHub signals fill this gap. When a developer mentions "switching from Firebase to Postgres" in a GitHub issue, that context tells your sales team exactly what pain they're experiencing — before they ever land on your site.
- Warmly alone: "Someone from Stripe visited your pricing page"
- GitLeads alone: "Alex from Stripe starred your SDK repo and mentioned pain with current auth solution"
- GitLeads + Warmly: "Alex from Stripe starred your SDK repo, mentioned auth pain, and just visited your pricing page for the third time this week"