Push GitHub Leads to Freshsales

Connect GitHub developer intent signals to Freshsales CRM. GitLeads auto-creates contacts from stargazers, keyword mentions, and repo watchers and pushes them into your Freshsales pipeline.

Published: May 5, 2026Updated: May 5, 20266 min read

Freshsales is a popular CRM choice for growth-stage B2B SaaS companies — clean UI, built-in phone and email, AI lead scoring, and competitive pricing. If your buyers are developers and you're already running Freshsales, GitLeads can push enriched developer leads directly into your pipeline the moment they show intent on GitHub.

How the GitLeads → Freshsales Integration Works

GitLeads supports two paths for Freshsales: native webhook destination (Freshsales REST API) or via Zapier/n8n. The webhook approach gives you more control over field mapping and deduplication logic. Here's the direct API approach:

// Push GitLeads webhook payload → Freshsales contact
interface GitLeadsPayload {
  leadName: string;
  githubUsername: string;
  profileUrl: string;
  company?: string;
  email?: string;
  bio?: string;
  followers: number;
  topLanguages: string[];
  signalType: 'stargazer' | 'keyword';
  signalContext: string;
}

async function pushToFreshsales(lead: GitLeadsPayload): Promise<void> {
  const FRESHSALES_DOMAIN = process.env.FRESHSALES_DOMAIN!; // yourcompany.myfreshworks.com
  const API_KEY = process.env.FRESHSALES_API_KEY!;

  const headers = {
    Authorization: `Token token=${API_KEY}`,
    'Content-Type': 'application/json',
  };

  // 1. Check if contact already exists
  const searchRes = await fetch(
    `https://${FRESHSALES_DOMAIN}/crm/api/contacts/search?q=${encodeURIComponent(lead.githubUsername)}`,
    { headers }
  );
  const searchData: any = await searchRes.json();
  const existingId: number | null = searchData.contacts?.[0]?.id ?? null;

  const contactBody = {
    contact: {
      first_name: lead.leadName.split(' ')[0],
      last_name: lead.leadName.split(' ').slice(1).join(' ') || '',
      email: lead.email,
      company: { name: lead.company },
      custom_field: {
        cf_github_username: lead.githubUsername,
        cf_github_profile: lead.profileUrl,
        cf_github_followers: lead.followers,
        cf_top_languages: lead.topLanguages.join(', '),
        cf_signal_type: lead.signalType,
        cf_signal_context: lead.signalContext,
      },
      lead_source_id: 8, // 8 = "Other" — set to your GitHub source ID
    },
  };

  if (existingId) {
    await fetch(`https://${FRESHSALES_DOMAIN}/crm/api/contacts/${existingId}`, {
      method: 'PUT',
      headers,
      body: JSON.stringify(contactBody),
    });
  } else {
    await fetch(`https://${FRESHSALES_DOMAIN}/crm/api/contacts`, {
      method: 'POST',
      headers,
      body: JSON.stringify(contactBody),
    });
  }
}

Setting Up Custom Fields in Freshsales

  1. Go to Admin → Custom Fields → Contacts in Freshsales
  2. Add text fields: GitHub Username, GitHub Profile URL, Top Languages, Signal Context
  3. Add a number field: GitHub Followers
  4. Add a dropdown: Signal Type (stargazer / keyword)
  5. Note the field API names (cf_github_username format) for use in your webhook handler
  6. Create a "GitHub Lead" segment in Freshsales to filter all GitLeads-sourced contacts

Using Zapier or n8n Instead

Both Zapier and n8n have native Freshsales actions. In GitLeads, add a Zapier or n8n destination, then build a "GitLeads new lead → Freshsales create contact" workflow. No code required. The n8n approach is recommended for teams that want deduplication logic and field transformation without managing a serverless function.

Lead Scoring in Freshsales with GitHub Signals

  • Use Freshsales AI scoring rules: contacts with GitHub followers > 500 → high priority
  • Keyword signal contacts (active intent) score higher than passive stargazers
  • Contacts whose bio mentions your target tech stack → auto-assign to specialist SDR
  • Set up Freshsales sequences triggered when a contact enters the "GitHub Lead" segment
GitLeads captures developer intent signals from GitHub and pushes enriched contacts to Freshsales, HubSpot, Salesforce, Pipedrive, and 15+ other tools. Start free with 50 leads/month — no credit card required. Related: push GitHub leads to HubSpot, push GitHub leads to Pipedrive, push GitHub leads to Clay.

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