Why SMS Outreach Works for Developer Leads
Email inboxes for developers are saturated. SMS — especially when triggered by a real intent signal rather than a mass campaign — achieves dramatically higher open and reply rates. Salesmsg provides two-way SMS and MMS for business outreach. GitLeads provides the GitHub intent signals. Together they let your team send a timely, personalized text to a developer who just starred your repo or mentioned your product keyword.
How GitLeads to Salesmsg Works
- Add repos to track or set keyword monitors in GitLeads
- When a developer stars your repo or mentions your keyword on GitHub, GitLeads enriches their profile
- GitLeads fires a webhook with the enriched lead JSON payload
- A webhook handler or n8n/Zapier/Make automation writes the contact to Salesmsg
- Your rep gets a Salesmsg notification and can send a personalized SMS within minutes of the signal
What the Webhook Payload Contains
GitLeads sends a JSON payload on every new lead. For Salesmsg integration, the key fields are:
{
"name": "Alex Chen",
"email": "alex@company.io",
"github_username": "alexchen",
"github_url": "https://github.com/alexchen",
"company": "Stackframe Inc",
"location": "San Francisco, CA",
"signal_type": "stargazer",
"signal_context": "Starred: your-org/your-repo",
"top_languages": ["TypeScript", "Go"],
"followers": 340
}Connecting GitLeads to Salesmsg via Webhook
The simplest integration path uses n8n or Make (formerly Integromat):
- In GitLeads, go to Integrations → Webhook and copy your webhook URL
- In n8n, create a Webhook trigger node pointing to the GitLeads webhook
- Add an HTTP Request node that POSTs to the Salesmsg API: POST https://app.salesmsg.com/api/v1/contacts
- Map GitLeads fields: name, phone (if enriched), and add the signal context as a note
- Optionally add a filter: only send leads where followers > 50 or company field is non-empty
- Add a second HTTP Request to POST /api/v1/messages to trigger an initial SMS template
Salesmsg API: Create Contact and Send SMS
// n8n HTTP Request node body for Salesmsg contact creation
const body = {
first_name: items[0].json.name.split(' ')[0],
last_name: items[0].json.name.split(' ').slice(1).join(' '),
phone: items[0].json.phone ?? '',
email: items[0].json.email ?? '',
notes: `GitHub signal: ${items[0].json.signal_context}. Company: ${items[0].json.company ?? 'unknown'}.`,
tags: ['github-lead', items[0].json.signal_type],
};
// Headers
// Authorization: Bearer YOUR_SALESMSG_API_KEY
// Content-Type: application/jsonSMS Templates for GitHub Lead Outreach
Short, specific, and signal-referenced texts outperform generic blasts:
- Stargazer: "Hi [Name], saw you starred [repo] on GitHub — are you building something with [tech]? Happy to share how teams use [your tool] alongside it. — [Rep name], [Company]"
- Keyword mention: "Hi [Name], noticed you mentioned [keyword] in a GitHub issue — that's exactly the problem we solve. Got 2 min to chat? — [Rep]"
- Keep texts under 160 chars for single-segment delivery
- Always include an opt-out path: "Reply STOP to unsubscribe"
- Aim to send within 30–60 minutes of the signal firing for highest relevance
Lead Filtering Before Sending to Salesmsg
Not every GitHub signal warrants an SMS. Filter in your automation:
- Require phone number — GitLeads may not always enrich phone; add a Clay enrichment step first
- Company field non-empty — individual hobbyists rarely convert; prioritize commercial users
- Follower threshold (e.g., >20) — proxy for developer with real projects, not beginners
- Language match — ensure their top languages align with your product's stack
- Deduplicate by GitHub username — avoid sending repeat texts if they trigger multiple signals