Prefill a Form With Salesforce Data
Introduction
Prefilling a form allows you to pre-populate your form with data from Salesforce. This are two ways to prefill a form with Salesforce data:
Static prefill: Prefill data on form load, using URL parameters and a hidden field.
Dynamic prefill: Prefill data based on user input, using Salesforce lookup rules.
Basic setup
On your Formcrafts dashboard ↗ click on Add Form → Start from scratch. Enter a Form name and hit enter. This will create a new form.
You can also create a new form by clicking on Add Form → Use a Template and selecting a template. This would allow you to skip this step.
Now add some basic fields to your form using the Add field button on the top-left corner of the form editor:
- ID (Hidden)
- First name (One line text)
- Email (Email)
- Salutation (Multiple choice)
![Simple Salesforce prefill form](https://formcrafts.com/_app/immutable/assets/salesforce-prefill-form.B3QtE1GR.png)
Static prefill
We will prefill contact data by passing the contact ID as a URL parameter. You could then share your form using a link like:
app.formcrafts.com/my-form?ID=0033h00000KzZ3AAAV
Visiting this link will prefill the hidden field labelled ID with the contact ID. Next we will create a lookup that reads the hidden field value and fetches the contact data from Salesforce.
Learn more about using hidden fields and form prefill via URL.
Create a lookup
Click on the Lookups button on the top-left corner of the form editor, and then click on the Add lookup button.
Edit the new lookup, and under (select source) find Salesforce, and click on Connect to Salesforce.
![Connect to Salesforce organization](https://formcrafts.com/_app/immutable/assets/salesforce-connect-organization-lookup.92cI6666.png)
This will open a popup window where you can connect to your Salesforce organization.
Select Object under Lookup type, and then Contact as the Salesforce object. Under Lookup rules map Contact ID to the ID field in your form.
![Salesforce contact lookup based on hidden field](https://formcrafts.com/_app/immutable/assets/salesforce-contact-lookup-hidden-field.BADs-NWm.png)
This lookup rule is configured to fetch a Salesforce contact record where the Contact ID (in Salesforce) matches the ID form field (which is a hidden field populated via URL parameters).
Prefill the form
Our form is configured to lookup the record. The last step is to use the values of this lookup to prefill the form fields.
Edit the First name field, and under Prefill value type in @. This will open the references dialog. Find and select First name under Lookup (Salesforce contact).
![Salesforce prefill first name field based on lookup](https://formcrafts.com/_app/immutable/assets/salesforce-prefill-field-firstname.Dq26mRHv.png)
Do the same for other form fields - Email and Salutation.
Now click on Preview to open the form in a new tab. Edit the URL and add &ID=xxxxxxx at the end, with a valid contact ID. It should prefill the form with the contact data.
Dynamic prefill
In the above example we prefilled the form using data available to us when the form loads, i.e. the contact ID in the URL. We can also prefill the form based on user input.
Add a Contact picklist
Remove the ID field and add a dropdown field to your form titled Select contact. Edit this field and go to the Options tab select the source as Salesforce, and configure this field to fetch contacts from Salesforce:
![Simple Salesforce prefill form](https://formcrafts.com/_app/immutable/assets/salesforce-prefill-form-picklist.osbdjMRa.png)
This creates a dynamic picklist that fetches contacts from Salesforce. Learn more about dynamic picklists for Salesforce.
Configure the lookup rules
Edit the lookup item created before, and edit the Lookup rules to the following:
![Salesforce contact lookup based on picklist](https://formcrafts.com/_app/immutable/assets/salesforce-contact-lookup-picklist.D0N8esxm.png)
This lookup rule is configured to fetch a Salesforce contact record where the Contact ID (in Salesforce) matches the value of Select contact field in your form.
Now click on Preview to open the form in a new tab. When you select a contact from the dropdown, it should prefill the form with the contact data.