Salesforce Integration
Push Lead Distro AI leads into Salesforce as Lead records using Web-to-Lead or Flow with an authenticated webhook. Setup paths, daily volume limits, and troubleshooting for enterprise lead distribution.
What This Integration Does
Pushes every accepted Lead Distro AI lead into Salesforce as a Lead record. Two supported setup paths: Web-to-Lead (simplest, daily volume cap) and Salesforce Flow with an authenticated webhook (unlimited volume, supports custom fields and validation logic).
Picking a Path
| Criteria | Web-to-Lead | Flow (HTTP Callout) |
|---|---|---|
| Setup time | ~10 minutes | ~30-45 minutes |
| Daily volume cap | 500 leads/day | Unlimited |
| Custom fields | Standard form fields only | Any field, with validation |
| Authentication | Public form (org ID + reCAPTCHA) | OAuth Bearer token via Connected App |
| Salesforce edition required | Any (Essentials+) | Enterprise+ for Flow HTTP Callouts |
| Best for | Low volume, standard intake | High volume, regulated verticals, complex logic |
Path A — Web-to-Lead Setup
- In Salesforce, go to Setup → Web-to-Lead.
- Generate a Web-to-Lead form. Note the `oid` value (your Salesforce org ID).
- Note the field names Salesforce expects — `first_name`, `last_name`, `email`, `phone`, `company`, plus any custom Lead fields you've created.
- (Optional) Set the Lead Source default to `Lead Distro AI` so all incoming leads are attributed to the integration.
- In Lead Distro AI, edit the destination buyer and set Delivery Method to Webhook.
- Set the URL to `https://webto.salesforce.com/servlet/servlet.WebToLead?encoding=UTF-8`.
- Set the Content-Type to `application/x-www-form-urlencoded` (not JSON — Web-to-Lead requires form-encoded body).
- Map Lead Distro AI fields to Salesforce field names, including the required `oid` value.
- Test with a single lead and verify it appears under Leads in Salesforce.
Web-to-Lead caps at **500 leads per 24-hour period** on most Salesforce editions. If you're routing more than that to a single Salesforce instance, use Path B (Flow with authenticated webhook). Volume above the cap is silently dropped by Salesforce — Lead Distro AI's webhook log will show successful POSTs, but the leads won't appear in Salesforce.
Path B — Salesforce Flow with Authenticated Webhook
- In Salesforce, create a Connected App under Setup → App Manager → New Connected App.
- Enable OAuth Settings, set callback URL, scope to `api`. Generate a Consumer Key and Consumer Secret.
- Create a Named Credential referencing the Connected App for authenticated outbound calls.
- Build a Flow triggered by an HTTP Callout or an Apex REST endpoint that creates a Lead record from incoming JSON. Map fields, validate, and apply your routing logic on the Salesforce side.
- Generate an OAuth Bearer token from the Connected App.
- In Lead Distro AI, edit the buyer and set Delivery Method to Webhook.
- Set the URL to your Salesforce Flow endpoint.
- Add a Custom Header `Authorization: Bearer
`. - Test and verify the Lead appears in Salesforce with all custom fields populated.
Bearer tokens issued by Connected Apps expire — typically 2 hours for access tokens. Use a **refresh token** flow or use Named Credentials (Salesforce auto-refreshes those). For high-volume integrations, set up a refresh job on your side that updates the Lead Distro AI buyer's custom header before each token expiry.
Frequently Asked Questions
What's the Web-to-Lead daily limit in Salesforce?
Can I use Lead Distro AI's webhook with Salesforce Sales Engagement / Cadences?
How do I map Lead Distro AI custom fields to Salesforce Lead custom fields?
Does Lead Distro AI support Salesforce's Web-to-Lead reCAPTCHA?
How do I handle Salesforce field validation rules from a webhook?
Can I deduplicate leads before they reach Salesforce?
What happens to my Salesforce OAuth token if the integration is paused?
Does the integration support Salesforce Person Accounts?
Related Articles
If you have any questions, send us an email at support@leaddistro.ai