How’d You Do That?: Create Leads & Update Contacts if One Already Exists


Join our newsletter!

Receive the latest data collection news in your inbox.

Do you collect leads through website forms and store that information in Salesforce? If so, there’s a chance you’re running into one of the most common issues related to Leads and Contacts in Salesforce.
What’s the issue, you ask?
Duplicate records.
This means your web forms are creating new records when that information is already stored in your Salesforce instance, whether as a lead or a contact. Duplicate records are redundant, clogging up your instance with unnecessary information.
For more accurate information and a tidier CRM, you can use FormAssembly’s Salesforce Connector to search Salesforce to see if a record already exists before taking the next step of creating a new Lead or updating a Contact’s information.
Here’s a walkthrough of how to set up this super-simple, super-useful Salesforce Connector tactic.

Update an Existing Contact

If a person fills out your content download form, event signup form, or some other form you’re using, and they’re already in your system as a contact, your form should recognize that and update their contact record with any new information. You can set this up in the Salesforce Submit Connector.
Once you’ve enabled your connector, create your first step in the connector and set it to Update a Contact record.

The connector needs to know what piece of information they should try to match to your system for the person filling out the form. Email addresses are a great choice for this because they are much more likely to be a unique value than, say, Last Name.

Set up your lookup as shown in the screenshot above. This means the email that a person enters into the form will be checked against all other records in your CRM instance.
Next, you need to select what should happen based on the results of your lookup. Here’s how to set up this step:

  • If no matching record is found: Skip this object and any dependent. (This is a circumstance where we’d want to create a new Lead, which we’ll cover later in the article.)
  • If one matching record is found: Update record. (This is the default option.)
  • If more than one records are found: Create a new record. (This may be set up differently depending on your use case.)

Depending on what information you have in your form, you can also add the field mapping to tell the connector what information should go where in Salesforce when a Contact is updated.

Create a Lead When No Contact Exists

Moving on, we’ll set up the connector to create a new Lead if there isn’t a matching Contact found in the previous step.
The new step you set up will be to Lookup the Contact. Again, we’ll use the email address as the lookup value, but we’ll set up different conditions for the results of the lookup:

  • If no matching record is found: Continue with dependent objects.
  • If one matching record is found: Skip dependent objects.
  • If more than one records are found: Skip dependent objects.

The last step is to add another object dependent on your contact lookup. This step will also use email to search for any existing leads. If there are no matches or if there are multiple matches, a new Lead will be created. If a Lead with that email already exists, it’ll be updated with any new information gathered in your forms.
Also in this object, you’ll need to complete the field mapping section so the right information is stored in your Lead record. Here’s our field mapping, complete with required Company and Last Name fields.

And that’s it! Hit “Save” and test your form to make sure everything works correctly, then start using it to update Contacts and collect Leads (without those pesky duplicates).
Like this post? Ready our previous How’d You Do That? post on Backing Up Form Submissions Into Salesforce Notes and stay tuned for our next How’d You Do That? post in two weeks!
Dive deeper into our Salesforce integration with our Salesforce eBook.

Don’t just collect data
— leverage it