Skip to main content
The Salesforce integration brings absolute enterprise-grade data piping to Flex Forms. It allows you to instantly generate Leads, update Contacts, or create highly customized sObjects without writing a single line of Apex code or relying on fragile, rate-limited middleware like Zapier.

Enterprise Business Use Cases

Sales Pipeline Automation

Automatically push high-value enterprise inquiries directly into the Salesforce Lead queue. Flex Forms can map hidden UTM tracking data directly to Lead Source fields, enabling immediate, context-aware SDR follow-up.

Support Case Creation

Map a technical support form directly to the Case object in Salesforce. This instantly assigns tickets to your Service Cloud agents, bypassing email queues entirely.

Connect Salesforce

Flex Forms talks to Salesforce with a Connected App using the client credentials grant (Consumer Key, Consumer Secret, and your org Instance URL). No username/password paste in Studio. Create one Connection per Salesforce org (Production, Sandbox, EU) and pick it on each form feed.
1

Create a Connected App

In Salesforce Setup → App Manager → New Connected App, enable OAuth settings, add a HTTPS callback URL (required by Salesforce even for client credentials), and select scopes that allow API access for your use case. Save and wait a few minutes for the app to activate.
2

Copy Consumer Key and Secret

Open Manage Consumer Details and copy the Consumer Key and Consumer Secret.
3

Create a Connection in Flex Forms

Open Integrations (left rail) → Connections. Choose Salesforce, label it (for example Production org), paste Consumer Key, Consumer Secret, and Instance URL (https://your-domain.my.salesforce.com, no trailing slash), then Create. Run Test until the status is Connected.
4

Enable Salesforce in Catalog

Open Integrations → Catalog, enable Salesforce, and Save so the driver appears on form feeds. Catalog credentials can stay empty when every feed uses a Connection.
5

Configure the form feed

On the form hub Integrations tab, enable Salesforce, select your Connection, choose the object type, map fields, and save. Send a test submission and confirm the record in Salesforce.

Alternative: Catalog (global) credentials

For a single org across all forms, paste Consumer Key / Secret / Instance URL under Integrations → Catalog → Salesforce. Leave the form feed Connection empty to use those globals.
php artisan flex-forms:upgrade can migrate legacy global Salesforce credentials into a Connection row. Globals remain available as a fallback.

Map payloads to Salesforce objects

Salesforce relies on extremely strict Object structures. You must tell Flex Forms exactly which Salesforce Object to target and how to map the specific fields.
In your Form’s specific integration settings, you must specify the Target Object (it defaults to Lead, but you can type Contact, Case, or Account).Then, define your mappings using the exact API Names of the Salesforce fields.The format is always: Salesforce_API_Name=Flex_Forms_Field_Name

How Custom Fields Work in Salesforce

If you are mapping data to a custom field you manually created in Salesforce (e.g., “Industry Type”), you must be aware of the custom field naming convention.
The __c Suffix Requirement
Salesforce automatically appends '__c' to all custom fields.
If your field is named 'Industry Type'...
The API Name is actually 'Industry_Type__c'.
You MUST map it as: Industry_Type__c=industry_dropdown
The Missing Suffix Trap: If you forget to include the __c suffix in your field mapping, the Salesforce API will reject the payload with an INVALID_FIELD error, and the lead will not be created.

Troubleshooting

Confirm Instance URL has no trailing slash, Consumer Key/Secret match the Connected App, and the app has finished activating (often 2–10 minutes after create).
Custom fields need the __c suffix in the field map. Copy API names from the Object fields helper on the form feed.

Configuration reference

Credentials (Catalog or Connection)

Same fields under Integrations → Catalog → Salesforce and Integrations → Connections.
password
required
Consumer Key (client ID)
password
required
Consumer Secret
text
required
Instance URL — e.g. https://your-company.my.salesforce.com (no trailing slash).

Form feed

Located on the form hub Integrations tab.
select
Connection — named Connected App from Integrations → Connections, or Catalog (global) when empty.

Object Mapping

remote_select
required
Object type Select which Salesforce sObject this form should create (Lead, Contact, Account, Opportunity, Case, …).
textarea
Field map — one rule per line: SalesforceApiName=flex_forms_block_name. Primary email fills Email when unmapped. Checkboxes become booleans; multi-selects become semicolon-delimited values; {{merge}} tags are supported.
remote_select
Object fields (reference) — live describe helper for copying API names into the field map.
select
default:"0"
Update duplicates0 fail closed on Salesforce duplicate rules; 1 PATCH the matched record when DUPLICATES_DETECTED.
Last modified on September 7, 2026