There’s always something new to learn about FormAssembly. That’s why we hold free web-based classes on a variety of different topics to help you get more out of your FormAssembly account. Today we’re going to recap a great class held a few weeks ago by Mike Karlin from our support team. This class covers how to build a form for Salesforce as well as more detail about configuring FormAssembly to send values to Salesforce checkboxes and picklists.
If you missed the class, here’s a recap of what we covered and step-by-step instructions on creating your forms to improve their integration with your Salesforce instance.
When first setting out to create a form for Salesforce, it’s important to think about your goals. Think about the types of data you’re collecting, what types of fields you’re collecting data from in your form, and where that data needs to be sent in Salesforce. Knowing what kind of information you need to send helps you decide what fields you use. For instance, if you want to allow any type of answer a text field would be a fine choice. If you have predefined terms or phrases that you want to appear in Salesforce, a better choice would be a single-select or multi-select option where respondents select from a controlled list of answers.
So what kind of data can you send to Salesforce? Here’s just a sample of the FormAssembly fields that you can use:
- Text fields
- Radio Buttons
- Dropdown menus
- Upload fields
- Password fields
In the instructions below we’re going to show you how to create a form that sends data from some of these field types over to Salesforce. You can use this knowledge to set up your own Salesforce connections.
Building a Simple FormAssembly Form for Salesforce
We’ll start out with a fairly straightforward form that uses a number of different text fields so you can see what’s involved with connecting each field to the right location in Salesforce. As you can see below, we have text fields, checkboxes, radio buttons, a drop-down menu, and a list. We have documentation on these elements that you can browse if you need a refresher in creating and setting-up these kinds of fields.
Now let’s look at the Salesforce side for a moment. Below you’ll see that we have objects set up to receive data from the fields in our FormAssembly form. We’ve labeled them consistently so you can see which data will be sent to which field in Salesforce.
Connector configuration is where it all comes together. The actions you do within the Salesforce connector page will link your form to Salesforce and ensure that information flows smoothly from FormAssembly and ends up in the right Salesforce location.
Get to the connector by finding your form in the form list and navigating to Configure → Connectors.
From the connectors page, navigate to the “Configure” button, which will take you to the page where you’ll enter your connector settings.
Inside the Connector, we’ll start by setting up an instruction to “Create a New Contact Record.” All this means is that the information sent through the form will be entered into Salesforce as a new contact record. In the picture below, you can see that we’ve set up our field mapping between our form and Salesforce. Let’s look at what’s happening with this connector.
When you click on “Edit Mapping, you can see that we’ve mapped each one of the three checkbox questions with the value that we want to show up in Salesforce. If Checkbox 2 is checked, for example, the words Checkbox 2 will show up in Salesforce. If a checkbox isn’t checked, nothing will show up in Salesforce for that field.
In this example, we’re building a form that creates a new contact record in Salesforce, but if you look at the picture below, you’ll see you also have the option to Update or Lookup any object (including custom objects).
Now let’s test our form. Below you’ll see that we’re just selecting a few values to show how this information will appear when you’ve correctly linked a form to Salesforce.
After we submit this information, we can head over to the connector log to check if our form submission worked as expected.
Once you’re in the connector log, find the record of the entry you just submitted, copy the record number and paste that onto the end of your Salesforce URL.
Doing that will pull up the Salesforce record you just updated, and if everything went through the way it was supposed to, you’ll see something similar to the following screenshot.
It’s also possible to check or uncheck a checkbox in Salesforce, and it’s worth going over that topic in a little more detail. First, let’s talk about the values that a Salesforce checkbox can have. The Salesforce checkbox can be in one of two states: 0 (which corresponds to unchecked) and 1 (which corresponds to checked).
A key difference between Salesforce checkboxes and FormAssembly checkboxes is that FormAssembly’s version is a single field that can contain multiple selections, whereas Salesforce checkboxes are all individual fields which can either be checked or unchecked.
Checking or unchecking those options in Salesforce requires something called individual mapping, and that’s what we’ll cover next. Remember how checkboxes can only be in one of two opposite states? On or off, checked or unchecked, 0 or 1. That’s exactly the idea we’ll use to set up the FormAssembly side of the mapping.
When we’re mapping a FormAssembly checkbox to a Salesforce checkbox in the Salesforce connector, we’ll set the value of that field as 1 if we want the corresponding field to be checked in Salesforce. We’ll set all other fields to 0, which means they won’t send any information to Salesforce.
How would you get the other options to check in Salesforce? Exactly like you did the first one.
Here’s what the monthly individual mapping looks like…
…And the annual mapping.
Using individual mapping allows your respondents to check one, two or all your checkboxes and have all the values successfully transfer over to Salesforce.
Now let’s move on to one more topic: Salesforce picklists. Salesforce has two options for picklists: single-select and multi-select. As you can see in the image below, FormAssembly has two field types for each of Salesforce’s picklist options. It works best when you map FormAssembly fields to Salesforce as shown below.
Below you can see that the setup for mapping a picklist is almost identical to the examples we showed in the beginning of this post. The only difference is the note on the left side of the connector that tells you what values Salesforce is expecting. For any field where you have predefined options on the Salesforce side (i.e. single-select or multi-select picklists), these options will be pulled into your connector so that you can see what the field is set up to accept.
A Few Things to Remember
FormAssembly can do quite a lot with Salesforce, but it’s important to point out that FormAssembly can’t access three Salesforce fields: auto-numbering, formulas, and lookups. Besides those, our Salesforce integration is incredibly powerful and with our documentation and the help of our amazing support team, you should be able to do just about anything you want in Salesforce.
Keeping Salesforce Objects Updated
When you create new objects in Salesforce, they won’t automatically appear in FormAssembly, but it’s just a quick push of a button to sync up any new objects. Just make sure you’ve saved your connector before getting any new Salesforce objects.
The Salesforce Object List Within FormAssembly
In the same menu as the “Get New Salesforce Objects” option, you can also click through to view a list of of all your Salesforce objects as well as associated fields. This can be helpful when you want to see what type of data your fields are set up to accept, or what types of fields you have for your different Salesforce objects.
That’s it! We hope this class helps you whether you’re building your first form for Salesforce or you just wanted to refresh your knowledge. Visit formassembly.com/classes or formassembly.com/learn to see upcoming classes, and stay tuned for more class recaps on the blog. You can view a recording of the class and more information about building forms for Salesforce here.