Articles on: Lead Sources

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


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


  1. Log into app.leadtruffle.com
  2. Navigate to Custom Lead Sources
  3. Click Add Source


If you don't see Custom Lead Sources, contact support and we can enable it for your account.



Step 2: Create the source


Fill out the basic setup:


  1. Name: Choose something unique (e.g. "Web Forms")
  2. Source Template: Select Custom
  3. Click Continue



Step 3: Copy your webhook URL


On the next screen you'll see two webhook endpoints:


  • Test Endpoint
  • Live Endpoint


Recommended: use the Live Endpoint right away so you don't have to update your integrations later.


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

email

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

email

Email

phone

Phone

message

Project Description


Map the lead's origin to Source — not "Lead Source." Mapping it to "Lead Source" will cause the value to not appear on the Lead Record. This applies to all integrations, including pre-built templates such as Opta Leads.



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


SMS Opt-In Proof URL mapped and resolved during field mapping


As long as any text value lands in this field, LeadTruffle treats the lead as opted in and SMS will send. Almost any text passes — the only values that fail are clearly negative ones like "no" or "false."


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.


No opt-in proof field to map? You can still send SMS — but you'll need to override the opt-in check during activation. See Step 10.



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:


  1. Scroll to Additional Data
  2. Click Add Field
  3. Name the field (e.g. service)
  4. 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:



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.


Requires an Email Gateway to be configured.


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.



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.


SMS Compliance Requirements checkboxes on the activation screen


You'll see up to three checkboxes:


  1. I confirm these leads explicitly consented to receive SMS messages, and my company has active 10DLC registration.
  2. Override opt-in checks and always consider all leads opted in. — bypasses the per-webhook consent proof check for every lead from this source.
  3. 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


Only use box 2 (override) when you have independent proof that every lead from this source has consented to SMS. It bypasses LeadTruffle's per-lead consent verification for the entire source.


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:


  1. Create a Custom Lead Source
  2. Copy your Webhook Endpoint
  3. Send a test lead
  4. Map required fields
  5. Set up your SMS Opt-In Proof URL so texts can send
  6. Add optional or custom fields
  7. Run a dry test
  8. Choose how leads should be handled
  9. 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

Was this article helpful?

Share your feedback

Cancel

Thank you!