Why GitHub Signals Belong in Koala
Koala captures product intent signals — page visits, feature usage, trial activity — and surfaces warm accounts for sales. But for companies selling to developers, the highest-intent signals often happen before a developer ever hits your marketing site. They star your GitHub repo, mention your product in an issue, or evaluate a competitor in a PR. These GitHub signals belong in Koala alongside your product data.
GitLeads captures GitHub intent signals (stargazer activity, keyword mentions in Issues/PRs/Discussions) and enriches each signal with developer profile data. You can route these signals into Koala using Koala's Person API, creating enriched intent events that blend GitHub activity with your product analytics.
What GitLeads Captures vs. What Koala Captures
- GitLeads: GitHub stars, Issue/PR keyword mentions, commit message signals — pre-product developer intent
- Koala: website visits, trial sign-ups, feature activation, pricing page views — in-product intent
- Together: full developer buyer journey from GitHub discovery through product activation and conversion
- GitLeads enriches with GitHub profile data (languages, followers, company, bio) that Koala can use for ICP scoring
Integration Architecture
GitLeads delivers enriched lead data via webhook on every new signal. Koala exposes a Person API that accepts custom trait data and events. The integration connects these two systems:
// Route GitLeads GitHub signals to Koala Person API
// Deploy as Cloudflare Worker, Vercel Edge Function, or any serverless runtime
export async function POST(req: Request) {
const lead = await req.json();
const { developer, signal_type, signal_context, keyword, repo } = lead;
// Only process leads with email addresses
if (!developer.email) return new Response('ok');
// Identify person in Koala with GitHub signal data
await fetch('https://api.getkoala.com/web/projects/YOUR_PROJECT_SLUG/batch', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'Authorization': `Bearer ${process.env.KOALA_PRIVATE_KEY}`,
},
body: JSON.stringify({
batch: [
{
type: 'identify',
userId: developer.email,
traits: {
email: developer.email,
name: developer.name,
github_username: developer.github_username,
github_company: developer.company,
github_bio: developer.bio,
github_followers: developer.followers,
github_top_languages: developer.top_languages?.join(', '),
github_profile_url: developer.profile_url,
},
},
{
type: 'track',
userId: developer.email,
event: 'GitHub Signal Captured',
properties: {
signal_type,
keyword: keyword || null,
signal_context,
repo,
source: 'gitleads',
},
},
],
}),
});
return new Response('ok');
}Setting Up the Integration
- In GitLeads, go to Integrations → Webhook and copy your webhook endpoint URL
- Deploy the webhook handler above (Vercel, Cloudflare Workers, Railway, Render)
- Set KOALA_PRIVATE_KEY from your Koala project settings → API Keys
- Point your GitLeads webhook destination to the deployed handler URL
- In Koala, verify that GitHub Signal Captured events appear in your event stream
- Build a Koala intent signal that combines GitHub signals with product activity for your ICP accounts
Using GitHub Signals in Koala Scoring
- High-intent stargazer: developer starred your repo and later signed up for trial — Koala can surface this combined signal
- Keyword mention: developer mentioned your product name in an issue before any site visit — pre-product-aware intent
- Competitive signal: developer starred a competitor repo — Koala can flag this account for competitive displacement outreach
- Language signals: top_languages trait in Koala helps route leads to appropriate developer success teams
- GitHub followers: high-follower developers are potential community influencers — Koala can flag them for DevRel follow-up
Without Writing a Custom Handler
If you prefer no-code, use GitLeads → Zapier → Koala. GitLeads has a native Zapier trigger. Set up a Zap: trigger on New Lead from GitLeads, action on Koala "Track Event". Map the GitLeads fields (email, github_username, signal_context) to Koala event properties. This works in under 10 minutes without deploying any code.