The world's leading cloud-based CRM platform powering sales, service, and marketing for businesses of all sizes.
Full ReviewConnecting Typeform to Salesforce routes form submissions directly into your CRM as Leads, Contacts, or custom objects. This integration is particularly valuable for organizations that use Typeform's conversational form experience for lead capture, event registration, customer feedback, or qualification surveys, while maintaining Salesforce as their system of record. Every form submission creates or updates a Salesforce record with the response data mapped to the appropriate fields.
Typeform does not offer a direct native Salesforce integration in the same way it does for HubSpot. The recommended approaches are using Zapier or Make as middleware, using Typeform's webhook feature with a custom server-side handler, or using Salesforce's Web-to-Lead feature as a lightweight alternative. We will cover the Zapier approach as it provides the best balance of capability and simplicity for most organizations.
Ensure your Typeform includes all the fields you want to capture in Salesforce. At minimum, include an email field and name field. Add hidden fields for UTM parameters and source tracking if you want marketing attribution. Publish the form and submit at least one test response so Zapier can detect the form structure.
Log in to Zapier and click Create Zap. For the trigger, search for "Typeform" and select New Entry as the trigger event. Connect your Typeform account and select the specific form you want to connect to Salesforce. Click Test trigger to pull your most recent test submission.
For the action step, search for "Salesforce" and select Create Record as the action event. Connect your Salesforce account by logging in through Zapier's OAuth flow. Select the Salesforce object to create: Lead for new prospects or Contact for existing relationships.
Map each Typeform response field to the corresponding Salesforce field. Click on a Salesforce field and select the matching Typeform question from the dropdown. Map email to Email, first and last name to FirstName and LastName, company to Company (required for Leads), and custom questions to custom Salesforce fields. Set a default value for required Salesforce fields that your Typeform does not collect (e.g., set Lead Source to "Typeform").
To prevent duplicate records, add a Zapier Find Record step before the Create step. Search Salesforce for an existing Lead or Contact with the submitted email address. Use a Zapier Filter or Paths step to either update the existing record or create a new one based on whether a match was found.
Click Test step on the Salesforce action. Zapier will create a record in Salesforce using the test submission data. Open Salesforce and verify the record was created with correct field values. Check required fields, picklist values, and custom field mappings.
Turn on the Zap by clicking Publish. Submit a live test through your Typeform and verify the end-to-end flow. Monitor the Zap's task history in Zapier for the first few days to catch any errors.
Zapier supports multi-step Zaps that can perform additional actions after creating the Salesforce record: send a Slack notification, trigger an email confirmation, add the Lead to a Salesforce Campaign, or create a follow-up Task. Use Zapier's Formatter step to transform data before sending to Salesforce (e.g., capitalize names, format phone numbers, parse full names into first and last). Zapier's Filter step can conditionally route submissions: only create Salesforce records for responses meeting certain criteria.
| Data | Direction | Frequency |
|---|---|---|
| Form response fields | Typeform to Salesforce | Near real-time (1-15 min via Zapier) |
| Lead or Contact records | Typeform to Salesforce | Per submission |
| Hidden field data (UTMs) | Typeform to Salesforce | Per submission |
| File uploads (as attachments) | Typeform to Salesforce | Per submission (multi-step Zap) |
Salesforce requires certain fields depending on your org's configuration. For Lead creation, Company is always required. Check your Salesforce validation rules and required field settings. Map all required fields in Zapier or set default values for fields not collected by Typeform.
Salesforce picklist fields only accept predefined values. If your Typeform multiple-choice options do not exactly match Salesforce picklist values (including capitalization), the record creation will fail. Align option labels in Typeform with Salesforce picklist values, or use Zapier's Formatter to transform values.
Zapier's free plan checks for new triggers every 15 minutes. Paid plans check every 1-2 minutes. If near-real-time sync is critical, upgrade to a paid Zapier plan or use Typeform's webhook feature to trigger the Zap instantly via Zapier's Webhook trigger.
For organizations that need more control, use Typeform's Webhook feature to send form data directly to a custom endpoint that uses Salesforce's REST API. This eliminates middleware costs and provides true real-time sync. Alternatively, use Salesforce's Web-to-Lead feature by embedding Salesforce's form action URL in Typeform's webhook settings. For complex routing logic, build a Make scenario instead of a Zapier Zap, as Make's visual workflow builder handles branching, loops, and error handling more elegantly.