Salesforce Integration
Connect your Salesforce org to LeadFuel for automatic contact matching, campaign attribution, and activity logging.
Before You Start
- A LeadFuel account with Pro or Enterprise plan (you must be a LeadFuel admin)
- A Salesforce account with admin or API access
- Permission to create a Connected App (or External Client App) in your Salesforce org
Create a Salesforce Connected App
LeadFuel connects to Salesforce through a Connected App that your Salesforce admin creates. (In newer Salesforce orgs this is called an External Client App — the settings are equivalent but some labels differ; both variants are noted below.)
- 1In Salesforce, go to Setup → App Manager → New Connected App (or Setup → External Client App Manager → New External Client App)
- 2Fill in the basic info:
- 3 - App Name:
LeadFuel - 4 - API Name:
LeadFuel - 5 - Contact Email: your admin's email
- 6Under the OAuth settings:
- 7 - Enable OAuth
- 8 - Callback URL:
https://lead-fuel.com/api/integrations/salesforce/callback - 9 - Selected OAuth Scopes — you need exactly these two:
- 10 - Manage user data via APIs (api) — older orgs label this 'Access and manage your data (api)'
- 11 - Perform requests at any time (refresh_token, offline_access)
- 12 - Important:
Full access (full)is NOT a substitute for the api scope. LeadFuel requests theapiscope by name, and Salesforce fails the authorization with a generic OAuth error if it isn't in the selected list. - 13Leave the security defaults (Require PKCE, Require Secret for Web Server Flow, Refresh Token Rotation) as they are — LeadFuel supports all of them automatically
- 14Save the app
- 15Wait 2–10 minutes for Salesforce to activate it
- 16Open the app's settings and copy the Consumer Key and Consumer Secret (in External Client Apps these are under Settings → OAuth Settings → Consumer Key and Secret)
If you're not a Salesforce admin, send these instructions to whoever manages your org. They'll need to create the Connected App and share the Consumer Key and Consumer Secret with you.
Enter Your Credentials in LeadFuel
Log in to your LeadFuel dashboard and go to Settings → Integrations. Under CRM Integration, select Salesforce as your CRM provider.
- 1Client ID (Consumer Key): Paste the Consumer Key from your Connected App — Salesforce and LeadFuel use different names for the same value
- 2Client Secret (Consumer Secret): Paste the Consumer Secret
- 3My Domain Login URL (optional): Leave blank unless your org requires My Domain login (enter
https://yourcompany.my.salesforce.com) or you're connecting a sandbox (enterhttps://test.salesforce.com) - 4Click Save Changes
You do NOT need to enter your Salesforce instance URL — LeadFuel detects it automatically when the connection is authorized.
LeadFuel stores these credentials securely per-tenant — they're never shared with other accounts.
Click Connect Salesforce
In the Salesforce section, click the Connect Salesforce button.
- 1You'll be redirected to Salesforce's login page
- 2Log in as the Salesforce user you want LeadFuel to act as (this user's permissions determine what LeadFuel can read and write)
- 3Review and approve the access request
- 4You'll be redirected back to LeadFuel with a confirmation banner
Behind the scenes, Salesforce issues LeadFuel a refresh token — a long-lived credential that lets LeadFuel authenticate on your behalf without storing your password. It's saved automatically; you never have to handle it. LeadFuel also handles Salesforce's modern security requirements (PKCE and refresh token rotation) automatically, so the locked security defaults on External Client Apps work without any changes.
Connect as a dedicated integration user if you have one — that keeps LeadFuel's activity clearly labeled in Salesforce and isn't tied to a person who might leave the company.
Test the Connection
After connecting, click the Test Connection button. LeadFuel will attempt to authenticate with Salesforce using your stored credentials.
If successful, you'll see a green confirmation message. If it fails, double-check: - The Client ID and Client Secret are correct (no extra spaces) - The Connected App is active in Salesforce (can take up to 10 minutes after creation) - Your Salesforce user has API access enabled - If your org enforces My Domain login, fill in the My Domain Login URL field and reconnect
Link Events to Salesforce Campaigns
For campaign attribution to work, you need to link your LeadFuel events to Salesforce campaigns.
- 1Go to Dashboard → Events
- 2Click on an event (or create a new one)
- 3In the event settings, you'll see a Salesforce Campaign dropdown
- 4Select the campaign you want leads from this event attributed to
When a lead is captured at this event, LeadFuel will automatically: - Search for an existing Contact matching the lead's email, name, and company - Search for the matching Account - Add the matched Contact as a Campaign Member to the linked Salesforce campaign
Create the Salesforce campaign before the event so it's ready in the dropdown. Name it consistently (e.g., '2026 AWS re:Invent') so it's easy to find.
How Matching Works
When LeadFuel processes a lead, the Salesforce integration runs this matching logic:
Contact matching:
1. Search by email (if available) — exact match
2. Search by name + company — fuzzy match
3. If no match is found and Auto-create CRM contacts is enabled in Settings → Integrations, LeadFuel creates a new Contact with the name, email, company, title, and phone from the badge scan and enrichment. If the toggle is off, the lead simply processes without a Salesforce link.
Account matching:
1. Search by company name — fuzzy match
2. If found, the lead is linked to the existing Account and LeadFuel surfaces the account owner (useful for warm-intro CCs)
3. During automatic processing, no new Account is created if there's no match
When Push to CRM creates records: the automatic pipeline above is lookup-only (unless you enable Auto-create CRM contacts). But when you explicitly click Push to CRM to send AI insights, LeadFuel will create a Contact — and an Account if the company doesn't match — so those insights have a record to attach to. If you don't want new records in Salesforce, push only leads you know already exist rather than pushing a whole event.
Campaign Members:
Activity Logging:
Custom Field Sync:
Verify It's Working
After processing your first few leads, verify the integration is working:
- 1Open a processed lead in your LeadFuel dashboard
- 2Look for the Salesforce section — you should see the matched Contact and Account
- 3Open the Contact in Salesforce and verify campaign membership shows the correct campaign
If any of these are missing, check the lead's audit trail (Lead Detail → Audit Trail) for error messages.