How to Push GitHub Leads to Listrak

Send enriched developer lead profiles captured from GitHub directly into Listrak for email marketing. Step-by-step guide for GitLeads + Listrak integration using webhooks.

Published: May 7, 2026Updated: May 7, 20267 min read

Why Push GitHub Leads to Listrak

Listrak is an email and SMS marketing platform with strong subscriber list management, transactional email, and automation workflows. If your team already uses Listrak for customer communications, adding GitHub-sourced developer leads to your Listrak lists lets you nurture them through existing infrastructure without switching platforms.

GitLeads captures developer buying signals from GitHub — new stars on your tracked repos, competitor repos, and keyword mentions in Issues/PRs/Discussions — and enriches each signal with a full lead profile including name, email (when public), GitHub username, company, bio, top languages, and the specific signal that triggered the capture. Pushing those leads to Listrak means your email marketing workflows can immediately activate on fresh developer intent.

Integration Architecture: GitLeads to Listrak

GitLeads does not have a native Listrak connector, but the integration is straightforward via GitLeads webhooks and the Listrak REST API. There are two implementation paths:

  • Direct webhook: GitLeads sends lead data to a serverless function (Vercel, AWS Lambda, Cloudflare Worker) that calls the Listrak API to add the subscriber
  • Via Zapier or Make: GitLeads webhook triggers a Zapier/Make flow that calls the Listrak "Add or Update Subscriber" action — no-code path
  • Via n8n: GitLeads webhook to n8n HTTP trigger to Listrak API node — self-hosted option

Step 1: Configure GitLeads Webhook

In your GitLeads dashboard, navigate to Integrations → Webhooks. Create a new webhook with your endpoint URL. GitLeads will POST the following JSON payload for each new lead:

{
  "event": "lead.captured",
  "signal_type": "stargazer",
  "repo": "your-org/your-repo",
  "captured_at": "2026-05-07T10:30:00Z",
  "lead": {
    "github_username": "devuser123",
    "name": "Alex Developer",
    "email": "alex@company.io",
    "company": "Acme Corp",
    "bio": "Platform engineer. Go, Kubernetes, Postgres.",
    "location": "San Francisco, CA",
    "followers": 342,
    "top_languages": ["Go", "TypeScript", "Python"],
    "profile_url": "https://github.com/devuser123"
  }
}

Step 2: Add Subscriber to Listrak via API

The Listrak REST API accepts subscriber additions at POST /v1/Lists/{listId}/Contacts. Obtain a bearer token using your Listrak API client ID and secret, then call the contacts endpoint:

async function getListrakToken(clientId: string, clientSecret: string): Promise<string> {
  const res = await fetch('https://auth.listrak.com/OAuth2/Token', {
    method: 'POST',
    headers: { 'Content-Type': 'application/x-www-form-urlencoded' },
    body: new URLSearchParams({
      grant_type: 'client_credentials',
      client_id: clientId,
      client_secret: clientSecret,
    }),
  });
  const data = await res.json();
  return data.access_token;
}

export async function handleGitLeadsWebhook(payload: GitLeadsPayload) {
  const { lead, signal_type, repo } = payload;

  if (!lead.email) return { skipped: true, reason: 'no_email' };

  const token = await getListrakToken(
    process.env.LISTRAK_CLIENT_ID!,
    process.env.LISTRAK_CLIENT_SECRET!
  );

  const listId = process.env.LISTRAK_LIST_ID!;

  await fetch(`https://api.listrak.com/email/v1/Lists/${listId}/Contacts`, {
    method: 'POST',
    headers: {
      Authorization: `Bearer ${token}`,
      'Content-Type': 'application/json',
    },
    body: JSON.stringify({
      emailAddress: lead.email,
      subscribeStatus: 'Subscribed',
      overrideUnsubscribe: false,
      segmentationFieldValues: [
        { segmentationFieldId: +process.env.LISTRAK_FIELD_GITHUB_USERNAME!, value: lead.github_username },
        { segmentationFieldId: +process.env.LISTRAK_FIELD_COMPANY!, value: lead.company ?? '' },
        { segmentationFieldId: +process.env.LISTRAK_FIELD_SIGNAL!, value: `${signal_type}:${repo}` },
        { segmentationFieldId: +process.env.LISTRAK_FIELD_LANGUAGES!, value: lead.top_languages.join(', ') },
      ],
    }),
  });

  return { success: true, email: lead.email };
}

Step 3: Create Listrak Segmentation Fields

Before inserting subscribers, create custom segmentation fields in Listrak to store GitHub-specific data. In Listrak admin, go to Lists → [Your List] → Segmentation Fields and create:

  • github_username (String) — stores GitHub username for personalization tokens
  • company (String) — company from GitHub profile bio
  • signal_source (String) — stores "stargazer:repo-name" or "keyword:keyword-value" for segmentation
  • top_languages (String) — comma-separated primary languages for content targeting
  • github_followers (Number) — follower count for lead scoring in automation rules

Step 4: Trigger Listrak Automation Workflows

With GitHub leads flowing into Listrak as subscribers, use Listrak's automation engine to trigger workflows:

  • Welcome series: trigger on new subscriber with signal_source contains "stargazer" — send 3-email educational sequence
  • Competitor awareness: filter by signal_source containing a competitor repo name — send competitive positioning email
  • High-intent fast-track: filter by github_followers > 500 — trigger personal email from founder instead of automation
  • Language-specific nurture: segment by top_languages = "Go" → Go-specific content; "Python" → Python-specific docs

No-Code Path: Zapier to Listrak

If you prefer no-code, GitLeads Zapier integration handles the trigger side:

  1. Create a new Zap. Trigger: Webhooks by Zapier → Catch Hook, then point GitLeads webhook to that URL
  2. Add a Filter step: only continue if "lead.email" is present
  3. Action: Listrak → Add or Update Subscriber, map email and segmentation fields from the GitLeads payload
  4. Optional: add a second action to post a Slack notification for high-follower leads (500+)
GitLeads captures developer intent signals on GitHub and pushes enriched lead profiles — name, email, company, top languages, signal context — to Listrak, HubSpot, Slack, Smartlead, and 12+ other tools. Start free at [gitleads.app](https://gitleads.app). Related: [push GitHub leads to HubSpot](/blog/push-github-leads-to-hubspot), [push GitHub leads to Instantly](/blog/push-github-leads-to-instantly), [push GitHub leads to Smartlead](/blog/push-github-leads-to-smartlead).

Want more like this? Get the weekly developer lead playbook.

No spam. 5 emails over 2 weeks. Unsubscribe anytime.

Related Articles

How to Find Leads on GitHub: The Complete Guide (2026)
10 min read
GitHub Leads vs LinkedIn Leads: When to Use Which (2026)
9 min read
GDPR Compliance for GitHub Lead Scraping: What You Must Know
8 min read