-
Notifications
You must be signed in to change notification settings - Fork 6
Chapter 4: Automation and Bulk Verification
What to do with existing records, or records that will be imported into Salesforce in bulk
n this section you will learn what you can do in order to clean up existing data in Salesforce, and how you can make sure that your data stays clean. In the previous section we explain how to let users verify individual addresses and in the next section, we get into the new Autocomplete feature, but here we discuss the back-up plan for all of this – what to do when a record is saved in Salesforce and is not perfectly clean.
If the amount of records you need to clean up is not huge, you might be able to clean them 200 at a time using our list view button. Even if the number of records is too large to do cleanup manually, it is always a good idea to configure the option in case you want to use it in the future.
You can set up a button to verify multiple addresses at one time from a standard Salesforce.com list. We will step through how to do it for Leads, but the process is very similar for Accounts and Contacts, and even custom objects.
The button will now be available from any Lead list view. You can select as many records as you want, up to 100 and then press the Verify Selected Addresses.
- Please note several things when verifying multiple addresses at once:
- You will use up a SmartyStreets.com Address Lookup for every address. So, even though you verify 100 at a time, you are still charged for 100.
- If addresses are very long, sometimes Salesforce.com (not SmartyStreets) will choke on multiple verifications at once, and will show you an error. If that happens, please try selecting less addresses and trying again.
A button can also be added for multiple-record address validation for custom objects. Please follow these steps and you should be able to add the button fairly easily.
First, create a simple Visualforce page by going to Setup->App Setup->Develop->Visualforce pages, and press the “New” button. Then, paste the code below into the page area:
<apex:page
standardController="Object_Name __c"
extensions="smartystreets.VerifySelectedAddressesExt"
recordSetVar="leads"
sidebar="false"
showHeader="false">
<smartystreets:VerifyAddressesList
Controller="{!setCon}" />
</apex:page>
Replace the highlighted “Object_Name__c” with the API name of the custom or standard object.
- Note: Make sure to select the " Available for Lightning Experience, Lightning Communities, and the mobile app” option when creating the page, as this will allow it to appear in Lightning as well as Classic.
Next, go to the object you want to verify, and find the “Buttons, Links and Actions” section and then create a new button. Set it as a “List Button” with the “Display Checkboxes (for Multi-Record Selection)” option ON, and have the behavior “Display in Existing Window without sidebar or header.” Under the Content Source, select “Visualforce Page” and then select the page you created in the steps above.
Now, you will need to add this button to the search layout as shown at the beginning of this chapter, and you are good to go!
A word about JavaScript buttons. We still provide the code for JavaScript buttons in our repository. These can be used in Classic Salesforce, but are no longer recommended by Salesforce. If you are currently using Classic, it is OK to stay with them as they provide a somewhat faster experience, but our recommendation is to move to either a Lightning Component or a Visualforce page as described above.
Depending on the amount of records in Salesforce, and the ongoing process of ingesting new records into the org, many companies need an automated solution that will do the work for them in the background. Address Verification provides several options.
You can turn on automatic verifications via Trigger for the Lead, Account and Contact objects in Salesforce. This will automatically verify any addresses configured on these objects whenever they are imported or updated. This feature is easy to turn on:
- Go to Setup -> App -> Packaging -> Installed Packages and click on the Address Verification app. Once there, you can click the “Configure” button.
- In the Setup page, click the AUTOMATION tab, then select one or more of the “Automatically Verify” fields and press the “Save Settings” button. You can select Accounts, Contacts or Leads.
This will now turn on the automated verification for these objects.
- Note: Please keep in mind that Salesforce does not allow verifications to happen in real time when a record is being updated or created. The reason is that in order to verify the address, we are making a call out to SmartyStreets, and we are forced to make it in the background (asynchronous) instead of in real-time (synchronous). What this means is that if you create a record with the automated trigger turned on, you will first see the record is not verified, but if you refresh it after a couple seconds, you then see the verification completed. If this timing is a showstopper, please see the section on the advanced Autocomplete feature, where we overcome this issue, but add a little complexity to the process.
We are introducing a new feature which allows you to immediately verify addresses entered if they already exist in the system without having to make an API call and re-verify the same address again. This feature is very helpful if duplicate values are often entered into your org. For example, if multiple Leads with the same address are expected to be entered, you can often avoid re-validating the same address multiple times.
- Note that currently we have a few limitations for this new feature:
o This only works with triggers. Meaning when the verifications are automatic. If you click the “Verify Addresses” buttons or schedule a job to clean up all addresses, this feature is not used. o Only addresses in the same object will be checked for existing verifications. So if you are creating a Lead and an Account with a verified address already exists, it will not see it.
o Only certain “critical” fields are copied to the new object, it is not completely populated with data the way a regular verification would.
o For organizations with a large amount of records, usually above 200,000 Accounts, Contacts or Leads, this may fail to work depending on several factors. If this is your case, please contact [email protected] so that we can work with you to see if you can use this feature.
- First, you will need to configure a “Clean Street” field for each address where you want to start using this feature. This is a field where a stripped down, “clean” version of your street address will be hosted. This is the field, along with City and State, which is used to find a match. On the MANAGE ADDRESSES tab in the Setup page, edit the appropriate addresses and set this field. Note that you might need to create these fields first. If so, make it Text (255).