ArcGIS Platform

Geocode Salesforce Records with ArcGIS Connectors for Power Automate

Have you ever wanted to geocode your Salesforce records using the ArcGIS World Geocoder? Organizations with strong data governance need a single source of truth for high quality address location data in both their Customer Relationship Management (CRM) system and their GIS. Organizations with a focus on data currency need a geocoding solution that contains frequent updates and enhancements.​

In this post, we will walk you through one of the new ways organizations can achieve these outcomes by harnessing the power of the ArcGIS World Geocoding Service using the ArcGIS Connectors for Power Automate. Combining the ArcGIS World Geocoding Service and Power Automate, Microsoft’s low code/no code Robotic Process Automation (RPA) service, your organization can geocode Salesforce records without writing a single line of code.

If geocoding is a new term for you, geocoding is: “the process that converts addresses and place names into coordinates”. Put simply, geocoding is making sense of location information. It is the initial step for organizations wanting to visualize and analyze their data to make key decisions and obtain a competitive edge. Before your data can be visualized or analyzed, it must be assigned a unique spot on the Earth’s surface, it needs a location. This location is a point or position representing the place and serves as the fundamental element for any geospatial display or analysis.

Creating the Power Automate Flow

In Power Automate, the first step is to create a new ‘Automated cloud flow‘ using the Salesforce connector. The Salesforce connector enables you to trigger a Flow in Power Automate when new records are added, or when existing ones are updated in Salesforce. By selecting the ‘When a record is created’ trigger, the Power Automate Flow listens for new records created in Salesforce. When a new record is added, the Flow starts automatically and performs the other actions in the Flow.

A looping screen capture of a user creating a new Flow in Power Automate using the Salesforce ConnectorCreating a new automated cloud Flow in Power Automate

If this is your first time creating a connection to Salesforce, you will be prompted to log in and allow Power Automate access to your Salesforce organization.

A screenshot showing the Salesforce connector set to log in to the Production environment using v41.0 of the Salesforce API
A screenshot of Power Automate showing the log in window for Salesforce
A screenshot showing Salesforce asking the user to allow or deny Power Automate to Access Salesforce

Note: Depending on your organization’s Salesforce security policies, you may need to work with your Salesforce Administrator to get the appropriate privileges to connect with an external application.

Now that you have established the connection between Power Automate and Salesforce, select the Salesforce object you want to geocode from the dropdown list. In this example we will be selecting the Accounts object.

A looping screen recording
Selecting the Account object in the Salesforce ‘When a record is created’ trigger

When working with a Salesforce object in a Flow, the object’s fields become available to other steps in your Flow as dynamic content. Every time a new record is created, the Flow is triggered and we can use the information in the new record’s fields to perform downstream actions. In the next section, we will use this dynamic content to geocode the new Account’s records.

Using the ArcGIS Connector for Power Automate to Geocode your Record

To use the ArcGIS World Geocoder, add a new step to your Flow and search for the ArcGIS Connector for Power Automate’s ‘Find address candidate’ action. For ‘Address’ and other location information, select the corresponding dynamic content representing your Salesforce object. Each time the Flow is triggered, the ‘Find address candidate’ action sends the address information from the newly created record to the ArcGIS World Geocoding service and obtains the latitude and longitude coordinates.

A looping screen recording
Using the Salesforce record’s fields to populate the ‘Find address candidate’ action with location information

In the same way that the fields associated with the Account became dynamic content, you can now use the results from the ArcGIS World Geocoding service as dynamic content in downstream actions. With this dynamic content, the Flow can update the new Account record’s Billing Latitude and Billing Longitude fields with the latitude and longitude values returned by the  ‘Find address candidate’ action.

To complete this Flow, add a new step and search for ‘Salesforce’, then select the Salesforce ‘Update record (v3)’ action. Select the Object Type you want to update, and populate your fields with your dynamic content. The example below shows how to use ‘Update Record (v3)’ to update the Billing Longitude and Billing Latitude for the new Account record.

Updating the Salesforce record with the latitude and longitude information returned from the geocoder

And that’s it! In three steps, you have created a Power Automate Flow which provides a single source of truth for geocoding in your CRM and GIS, without writing a single line of code!

Salesforce Considerations

When using the Salesforce and ArcGIS Connectors for Power Automate, there are some key Salesforce considerations to be aware of. Because you are connecting to Salesforce with Power Automate, you will need to ensure that your Salesforce organization is configured with the correct security and permissions to edit Salesforce objects from an external application. You may also consider saving the results from the ArcGIS World Geocoding Service in a custom field rather than in one of the standard fields for your record. Your Salesforce administrator can help you determine the best approach for your use case.

What if my Organization Doesn’t Have ArcGIS?

If your organization does not have ArcGIS Online, it is still possible to geocode Salesforce objects in three easy steps. Using the ArcGIS PaaS Connector for Power Automate, the Flow can access location services through the ArcGIS Platform as seen in the image below.

A screenshot of a the complete Flow when using the ArcGIS Platform
Using the Power Automate Connector for PaaS to geocode the Salesforce record.

The ArcGIS Platform is a location-focused platform-as-a-service (PaaS) offering that provides direct access to Esri’s powerful location services. Designed for developers that need to integrate location capabilities into their apps, business systems, and products, the ArcGIS Platform provides simple, transparent, consumption-based pricing that allows you to pay only for what you need and scale as your needs grow. By signing up for an ArcGIS Developer account, you can create API Keys to authenticate to the ArcGIS World Geocoder and other pay as you go services.

With no restrictions on where you store or consume stored geocoding results, the ArcGIS Platform is the ideal solutions for organizations who don’t use ArcGIS today to leverage the power of the ArcGIS World Geocoder.

Summary

Following this process will allow you to easily geocode your Salesforce records without writing a line of code regardless of your Organization having ArcGIS Online or not. This is also just the start of what you can do with the ArcGIS Connectors for Power Automate – what will you do?

About the authors

Sean McGinnis

Sean McGinnis is a Microsoft 365 Product Manager at Esri. He partners with organizations to observe and understand customer needs and works closely with design and development teams to prioritize and align Microsoft 365 capabilities and integrations with ArcGIS.

Connect:

Russell Sands is a Solution Engineer on the Mapping, Location Services, and Analytics team, focused on real-time GIS, advanced analytics, and developer technology.

Connect:
Subscribe
Notify of
0 Comments
Inline Feedbacks
View all comments

Next Article

Dig into the 2022 U.S. Census of Agriculture

Read this article