GitLeads + Trengo: Route GitHub Intent to Your Inbox
Trengo is an omnichannel customer engagement platform used by sales and support teams to manage conversations across email, WhatsApp, live chat, and social channels. When developers show buying signals on GitHub — starring your repo, mentioning your product in issues, or searching for alternatives — GitLeads captures those signals and can push the enriched lead data into Trengo so your team can act immediately.
GitLeads does not send emails. It captures GitHub intent signals and pushes structured lead data to your stack. Trengo receives the enriched contact — with GitHub profile, company, location, and signal context — and your team takes it from there.
How the GitLeads → Trengo Integration Works
Trengo supports contact creation and conversation creation via its REST API. GitLeads can push GitHub leads to Trengo through two paths:
Option 1: Webhook → Trengo API (Direct)
GitLeads fires a webhook on each new lead. Use a lightweight relay (Cloudflare Worker, Vercel Edge Function, or a self-hosted service) to forward the payload to Trengo:
// Cloudflare Worker: relay GitLeads webhook → Trengo contact
export default {
async fetch(request: Request): Promise<Response> {
const lead = await request.json() as {
name: string;
email: string;
github_username: string;
company: string;
signal_type: string;
signal_context: string;
};
// Create or update contact in Trengo
const contactRes = await fetch('https://app.trengo.com/api/v2/contacts', {
method: 'POST',
headers: {
'Authorization': `Bearer ${TRENGO_API_TOKEN}`,
'Content-Type': 'application/json',
},
body: JSON.stringify({
name: lead.name || lead.github_username,
email: lead.email,
custom_attributes: {
github_username: lead.github_username,
company: lead.company,
signal_type: lead.signal_type,
signal_context: lead.signal_context,
},
}),
});
const contact = await contactRes.json();
// Optionally create a conversation/ticket for keyword matches
if (lead.signal_type === 'keyword_match') {
await fetch('https://app.trengo.com/api/v2/tickets', {
method: 'POST',
headers: {
'Authorization': `Bearer ${TRENGO_API_TOKEN}`,
'Content-Type': 'application/json',
},
body: JSON.stringify({
contact_id: contact.id,
channel_id: TRENGO_INBOX_ID,
subject: `GitHub signal: ${lead.signal_type} — @${lead.github_username}`,
}),
});
}
return new Response('ok', { status: 200 });
},
};Option 2: GitLeads → Zapier/Make → Trengo
If you prefer no-code routing, connect GitLeads via webhook trigger in Zapier or Make, then use the Trengo app to create contacts or send internal messages. This takes about 10 minutes to configure and requires no code.
What Data GitLeads Sends to Trengo
- name — GitHub display name (falls back to username)
- email — public email from GitHub profile (when available)
- github_username — GitHub handle for lookup and profile link
- company — company field from GitHub profile
- location — city/country from GitHub profile
- followers — follower count (proxy for influence)
- top_languages — programming languages they use most
- signal_type — stargazer | keyword_issue | keyword_pr | keyword_discussion
- signal_context — the repo starred or the keyword that matched
- triggered_at — ISO timestamp of signal capture
Use Cases: Trengo + GitHub Leads
- Route stargazers of your OSS repo to a Trengo inbox for outbound follow-up
- Create a ticket when a developer mentions your product name in a GitHub issue
- Alert your DevRel team in Trengo when a high-follower developer stars your repo
- Track competitor stargazers as contacts in Trengo for future nurturing
- Create conversations for warm inbound leads before they submit a trial request
Trengo API Endpoints Used
- POST /api/v2/contacts — create or update a contact
- POST /api/v2/tickets — create a conversation/ticket
- GET /api/v2/inboxes — list available inboxes for routing
- PATCH /api/v2/contacts/{id} — update contact custom attributes