GitLeads + Mailjet: The Setup
GitLeads captures developers who show buying signals on GitHub — new stargazers on repos you track, and keyword mentions in Issues/PRs/Discussions. Each lead is enriched with name, email (when public on their GitHub profile), GitHub username, bio, company, location, followers, and top languages. You can route these directly into Mailjet contact lists or trigger automated email workflows.
GitLeads does not send emails. It finds leads and pushes them into the tools you already use. Mailjet handles the actual sending. Your existing Mailjet transactional or marketing email infrastructure stays intact — GitLeads adds a new top-of-funnel source of warm, intent-based developer leads.
Option 1: Direct Webhook Integration
GitLeads supports outbound webhooks. Each new lead triggers a POST request to your endpoint with the full lead payload. You can write a small serverless function that receives the webhook and calls the Mailjet Contacts API.
// Serverless function: receive GitLeads webhook → add to Mailjet
import Mailjet from 'node-mailjet';
const mailjet = Mailjet.apiConnect(
process.env.MJ_APIKEY_PUBLIC!,
process.env.MJ_APIKEY_PRIVATE!
);
export async function POST(req: Request) {
const lead = await req.json();
if (!lead.email) return new Response('skipped', { status: 200 });
await mailjet.post('contact', { version: 'v3' }).request({
Email: lead.email,
Name: lead.name || lead.githubUsername,
IsExcludedFromCampaigns: false,
Properties: {
github_username: lead.githubUsername,
github_company: lead.company,
signal_type: lead.signalType, // 'stargazer' | 'keyword'
signal_context: lead.signalContext?.slice(0, 255),
top_languages: lead.topLanguages?.join(', '),
},
});
await mailjet
.post('listrecipient', { version: 'v3' })
.request({
ContactAlt: lead.email,
ListID: process.env.MJ_LIST_ID,
IsUnsubscribed: false,
});
return new Response('ok', { status: 200 });
}Option 2: Via Zapier or Make
GitLeads has native integrations with Zapier and Make. In Zapier, use the GitLeads trigger "New Lead" and the Mailjet action "Add or Update Contact". In Make, create a scenario with the GitLeads module as trigger and the Mailjet module to add contacts and subscribe them to a list. No code required.
- Zapier: GitLeads trigger → Mailjet "Add or Update Contact" → Subscribe to List
- Make: GitLeads module → Mailjet add contact → Subscribe to contact list
- n8n: HTTP Request node (GitLeads webhook) → Mailjet node
- Direct webhook: serverless function → Mailjet Contacts API v3
Enriching Mailjet Contacts With GitHub Signal Data
Mailjet supports custom contact properties. Store the signal type (stargazer vs keyword), the exact keyword that triggered the signal, the repo they starred, and their top GitHub languages. Use these in Mailjet segmentation and personalisation — a developer who starred your competitor repo gets a different first email than one who mentioned "migrating from" in a GitHub issue.
Email Strategy for GitHub Developer Leads
GitHub leads are warm — they have already shown intent. Treat them differently from cold list members. Set up a dedicated Mailjet contact list for GitHub-sourced leads, create a short onboarding sequence (3–5 emails maximum), and keep the tone technical and direct. Reference what they were doing on GitHub. Avoid generic marketing language.