How to Send Leads to LeadTruffle Using Custom Lead Sources (Webhooks)
📝 Send leads from Zapier, Make, web forms, or any external tool into LeadTruffle via webhook, with SMS opt-in set up so your texts send.
Table of contents
- Overview
- Step 1: Open Custom Lead Sources
- Step 2: Create the source
- Step 3: Copy your webhook URL
- Step 4: Send a test lead
- Step 5: Map lead fields
- Step 6: Set up SMS opt-in proof
- Step 7: Add optional and custom fields
- Step 8: Run a dry test
- Step 9: Choose what happens when leads arrive
- Step 10: Activate the endpoint and confirm SMS compliance
- Recap
Overview
Custom Lead Sources let you send leads from almost any external system into LeadTruffle using a webhook.
This is ideal for advanced integrations such as:
- Zapier
- Make
- n8n
- Custom web forms
- Lead aggregators
- CRMs or internal tools
Instead of forwarding leads by email, you POST lead data directly to LeadTruffle, which then creates and optionally qualifies the lead automatically.
If you want a simpler option, you can also forward leads using the Email Gateway.
Step 1: Open Custom Lead Sources
- Log into app.leadtruffle.com
- Navigate to Custom Lead Sources
- Click Add Source
Step 2: Create the source
Fill out the basic setup:
- Name: Choose something unique (e.g. "Web Forms")
- Source Template: Select Custom
- Click Continue
Step 3: Copy your webhook URL
On the next screen you'll see two webhook endpoints:
- Test Endpoint
- Live Endpoint
Click Copy URL. This is where your external systems will send lead data.
Step 4: Send a test lead
Before mapping fields, send one test lead so LeadTruffle can detect the incoming data structure.
You can do this a few ways:
Option 1 — Test from your integration tool
Many platforms include a test feature:
- Zapier → Test Trigger
- Make → Run once
- Some CRMs and lead providers can also send test data
Option 2 — Send a test via terminal (cURL)
You can manually send a sample lead with a cURL POST request. Replace the URL with your Live Endpoint from LeadTruffle:
curl -X POST "PASTE_YOUR_LEADTRUFFLE_WEBHOOK_URL_HERE" \
-H "Content-Type: application/json" \
-d '{
"firstName": "John",
"lastName": "Smith",
"phone": "5125550123",
"email": "john.smith@example.com",
"message": "I need a quote for pressure washing my driveway and patio.",
"service": "Pressure Washing",
"source": "Website Contact Form",
"smsOptInUrl": "https://example.com/consent/john-smith-optin"
}'
What this test does
- Sends a sample lead to your webhook
- Lets LeadTruffle capture the payload
- Enables you to map incoming fields during setup
Fields included in the example
Field | Description |
|---|---|
firstName | Lead's first name |
lastName | Lead's last name |
phone | Lead phone number |
Lead email | |
message | Project description |
service | Example custom field |
source | Where the lead originated |
smsOptInUrl | URL showing SMS consent proof |
After running the test, return to the Custom Lead Source setup screen and confirm that Payloads Captured = 1, then click Continue.
Step 5: Map lead fields
LeadTruffle now displays the fields captured from your webhook. Click Auto Map Fields to match common fields automatically.
Typical required mappings:
Incoming field | LeadTruffle field |
|---|---|
firstName | First Name |
lastName | Last Name |
phone | Phone |
message | Project Description |
Step 6: Set up SMS opt-in proof
If you plan to qualify leads over SMS, LeadTruffle needs to know that each lead consented to receive text messages. How you handle this during mapping determines what you'll need to check when you activate the endpoint in Step 10.
Map the SMS Opt-In Proof URL field
In the Optional standard fields section, find SMS Opt-In Proof URL and map it to the webhook field that holds your consent proof. This can be either:
- A URL pointing to stored consent proof — for example
$.smsOptInUrl - The consent or disclaimer text passed in the payload — for example
$.disclaimer

When the field resolves to a value, you'll see a green Resolved badge. That's your confirmation that opt-in proof is being captured for each lead.
Step 7: Add optional and custom fields
Optional and custom fields let you capture additional lead information.
Reference webhook fields
The format for referencing a webhook field is:
$.fieldName
For example:
$.smsOptInUrl
Create a custom field
If your webhook sends a field that doesn't exist in LeadTruffle, you can create one:
- Scroll to Additional Data
- Click Add Field
- Name the field (e.g.
service) - Map it using
$.service
If it's configured correctly, you'll see a green checkmark confirming the field exists in the webhook payload.
Step 8: Run a dry test
Before going live, LeadTruffle runs a dry test to preview how the lead will be created. Example output:
- Name: John Smith
- Email: john.smith@example.com
- Phone: 512-555-0123
- Project Description: Pressure washing quote
If a required field appears empty, go back and adjust your mappings.
Step 9: Choose what happens when leads arrive
LeadTruffle gives you four options for handling incoming webhook leads.
1. Create lead only
Creates the lead without sending any messages. Useful if your team wants to follow up manually.
2. Create + qualify over email
Creates the lead and sends an automated email.
You can customize the subject line with variables such as:
{{firstName}} your pressure washing request
3. Create + qualify over SMS
Creates the lead and starts an AI SMS conversation.
4. Create + qualify over email AND SMS (recommended)
Creates the lead, sends an email, and starts an SMS conversation — maximizing your chance of reaching the lead quickly.
Step 10: Activate the endpoint and confirm SMS compliance
Before your webhook goes live, you'll confirm a short set of SMS compliance requirements. Which boxes you need to check depends on whether you mapped an SMS Opt-In Proof URL in Step 6.

You'll see up to three checkboxes:
- I confirm these leads explicitly consented to receive SMS messages, and my company has active 10DLC registration.
- Override opt-in checks and always consider all leads opted in. — bypasses the per-webhook consent proof check for every lead from this source.
- I understand activating this endpoint can create real leads and trigger automated messaging.
Make sure SMS will actually send
What you check depends on your Step 6 setup:
If you mapped an SMS Opt-In Proof URL with a value:
- Check box 1 and box 3
- Leave box 2 unchecked — LeadTruffle reads the opt-in proof from each lead's payload
If you did NOT pass a value into SMS Opt-In Proof URL:
- Check box 1, box 2, and box 3
- Box 2 overrides the consent-proof check so SMS can still send
Once the required boxes are checked, the Activate Live Endpoint button becomes available. Click it to go live. Any system sending data to your webhook will now create leads in LeadTruffle automatically.
Recap
To send leads into LeadTruffle using webhooks:
- Create a Custom Lead Source
- Copy your Webhook Endpoint
- Send a test lead
- Map required fields
- Set up your SMS Opt-In Proof URL so texts can send
- Add optional or custom fields
- Run a dry test
- Choose how leads should be handled
- Confirm the right SMS compliance boxes and activate the Live Endpoint
Once set up, your external tools can automatically send leads into LeadTruffle for capture and qualification.
Need help? Contact us at support@leadtruffle.com or message the team via the chat on this article or in-app.
Updated on: 26/05/2026
Thank you!