Why Route GitHub Signals to OneSignal
OneSignal powers push notifications, in-app messages, and email campaigns for millions of apps. If you use OneSignal to engage your developer audience, GitLeads can feed it high-intent developer leads captured directly from GitHub activity.
Instead of blasting your entire list, you can create OneSignal segments seeded with developers who have recently signaled buying intent on GitHub — through stars, keyword mentions, or PR activity on relevant repos.
How the GitLeads → OneSignal Flow Works
GitLeads routes signals to OneSignal via its webhook output. The flow:
- Configure a GitLeads signal (repo stargazer or keyword)
- Set up a GitLeads webhook destination pointing to an n8n, Make, or Zapier workflow
- In the workflow, extract the developer email and signal metadata
- Use the OneSignal REST API to create or update a subscriber record
- Tag the subscriber with the signal type (e.g., "arkit-star", "detox-issue") for segmentation
- Launch a targeted push or in-app campaign to that segment
OneSignal API: Adding a Developer as a Subscriber
Use the OneSignal subscriptions API to upsert a developer captured by GitLeads:
// Webhook handler: GitLeads → OneSignal
// Receives GitLeads webhook payload and creates a OneSignal subscription
interface GitLeadsPayload {
email: string;
github_username: string;
signal_type: 'stargazer' | 'keyword';
signal_context: string;
repo?: string;
keyword?: string;
}
async function addToOneSignal(lead: GitLeadsPayload) {
const appId = process.env.ONESIGNAL_APP_ID!;
const apiKey = process.env.ONESIGNAL_API_KEY!;
// Create or update subscriber (email channel)
const response = await fetch('https://onesignal.com/api/v1/players', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
Authorization: `Basic ${apiKey}`,
},
body: JSON.stringify({
app_id: appId,
channel_for_external_user_ids: 'email',
identifier: lead.email,
external_user_id: lead.github_username,
tags: {
signal_type: lead.signal_type,
repo: lead.repo ?? '',
keyword: lead.keyword ?? '',
github_lead: 'true',
},
}),
});
const data = await response.json();
return data.id; // OneSignal player ID
}Segmenting GitHub Leads in OneSignal
Once GitHub leads are tagged in OneSignal, create dynamic segments based on the tags GitLeads provides:
- Tag "signal_type = stargazer" — developers who starred a tracked repo
- Tag "repo = appium/appium" — specifically Appium users
- Tag "keyword = openxr" — developers mentioning OpenXR in GitHub discussions
- Tag "github_lead = true" — all GitHub-sourced leads for aggregate reporting
Campaign Ideas for GitHub Developer Leads in OneSignal
With GitHub-sourced leads in OneSignal, your campaigns can be highly contextual:
- Web push to developers who starred a competitor repo — "How we compare to [competitor]"
- In-app message to keyword leads — "Saw you were discussing [keyword] on GitHub..."
- Email campaign to AR/VR developers — "Build faster with our spatial computing SDK"
- Re-engagement push when a previously quiet lead shows new GitHub activity