Why Twenty CRM for Developer Leads
Twenty is an open-source CRM built for technical teams that want full control over their customer data. It runs self-hosted or on Twenty Cloud, stores contacts and companies in Postgres, and exposes a metadata-driven REST API and GraphQL API. Developer-first companies adopt Twenty because they can customize it without vendor lock-in. GitLeads routes GitHub developer signals into Twenty so those leads land in your pipeline automatically, enriched with GitHub context.
How GitLeads Sends Leads to Twenty
GitLeads uses Twenty's REST API via webhook to create or update records whenever a new GitHub signal fires. The integration works in three steps:
- GitLeads detects a developer signal — new star on a tracked repo or keyword match in Issues/PRs
- GitLeads enriches the lead with GitHub profile data (email, company, bio, languages, follower count)
- GitLeads calls the Twenty API to upsert a Person and linked Company record
Twenty API Integration via GitLeads Webhook
Configure a GitLeads webhook pointed at a proxy function that forwards enriched lead data to Twenty's People API:
// GitLeads webhook -> Twenty CRM People API
export async function handler(req: Request) {
const lead = await req.json();
const body = {
name: {
firstName: lead.name?.split(' ')[0] ?? '',
lastName: lead.name?.split(' ').slice(1).join(' ') ?? '',
},
emails: lead.email
? { primaryEmail: lead.email }
: undefined,
links: {
primaryLinkUrl: lead.profileUrl,
primaryLinkLabel: 'GitHub',
},
city: lead.location ?? '',
jobTitle: lead.bio ?? '',
};
const res = await fetch('https://api.twenty.com/rest/people', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
Authorization: `Bearer ${process.env.TWENTY_API_KEY}`,
},
body: JSON.stringify(body),
});
return new Response(res.ok ? 'ok' : 'error', {
status: res.ok ? 200 : 500,
});
}Enriched Fields Available in Twenty
Each lead pushed from GitLeads to Twenty includes:
- Name and public email address (if public on GitHub)
- GitHub username and profile URL as a linked field
- Company (from GitHub profile bio)
- Location and bio/title
- Signal type (stargazer or keyword), repo name, and signal timestamp
- Follower count and top programming languages for quick ICP qualification
Twenty CRM Workflow for GitHub Developer Leads
- Set up GitLeads to track your target repos and keywords
- Configure a GitLeads webhook to your proxy endpoint or n8n/Make workflow
- Use the proxy to call Twenty's People API and create records
- In Twenty, create a Pipeline for "GitHub Developer Leads" and auto-assign new people
- Use Twenty's Filter + Sort to segment leads by company, location, or signal type
- Assign high-priority leads to reps directly inside Twenty