Integrating the Salesforce Platform: Words to the Wise

November 7, 2019 Daniel Markoski

As part of Slalom's consulting and implementation services, we help clients with a variety of projects that include integrations between the Salesforce platform and other applications and data sources. As such, we've learned the pitfalls, misconceptions, faulty assumptions and trouble spots that can complicate the process.

In this blog, we’ll look at four of those and offer recommendations for how to best address them:

  • Using Apex for integration development
  • Treating Salesforce as the “everything” database
  • Merging Salesforce instances
  • Avoiding field creep

Using Apex for Integration Development

Many customers integrating the Salesforce platform believe that they need to do everything in Apex using custom code. They are not aware that there are other, better options.

A good example is an integration we’ve done recently at one of our clients, a cybersecurity firm. The company was using Salesforce Platform Events, which it wanted to integrate with its on-premise SAP enterprise resource planning (ERP) system.

The client intended to build a custom web service in Apex, but Boomi already has a connector to Platform Events, so we suggested using the Boomi connector. Once the client team understood that using the connector required far less development and support, they were eager to make the switch.

Visit us in Booth 1508 at Dreamforce!

Learn more about Boomi
Get a personalized, no-obligation demo
Grab a cool giveaway item
Enter our sweepstakes for an opportunity to win one of four (4) US$500 Amazon gift cards

For more information, visit www.boomi.com/dreamforce.

With integration, organizations are often stuck doing things the way they’ve always done them. So every time they need to integrate something, they write a custom service. It’s part of the “accidental architecture” that occurs in enterprises when they don’t have products like Boomi.

Further, when things change, such as security protocols and having to switch from SSLv3 to TLS version 1, then 1.1 and then 1.2 (!), custom code must be rewritten.

With Boomi, it’s an update that’s pushed across the cloud-native platform automatically. That's the kind of benefit Salesforce promotes as a feature of its SaaS offerings. And, of course, it applies to Boomi as well.

Treating the Salesforce Platform as the “Everything” Database

As organizations use more and more features of the Salesforce Sales Cloud, they tend to drop any and all related data into it. This is not using Salesforce to its strength as a sales and marketing platform.

There are several reasons for this. Salesforce and its products have been around for a long time. The platform is very stable and organizations are comfortable with it, so it’s less of a stretch to think about putting data from disparate sources into the Salesforce Sales Cloud rather than another platform they don’t know much about.

The concept of the everything database is prevalent in the enterprise, and Salesforce Sales Cloud has started to become that. It’s easy to do an ETL transfer from a source system, grab everything in a table and dump it in another table somewhere else. And the Sales Cloud has become that somewhere else, but the long-term consequences aren’t considered.

To learn more about how to make the most of the Salesforce platform, please contact the integration experts at Boomi or Slalom today!

When application owners and developers use the Salesforce Sale Cloud as a data warehouse, it makes good data governance difficult. For example, with the Salesforce acquisition of Tableau, a lot of organizations use Salesforce Sales Cloud as a data warehouse to drive analytics, but it’s not designed for that. To perform analytics on Sales Cloud data, the data should be moved to a platform designed for analytics.

The same data governance best practices that apply to other applications should apply to Salesforce Sales Cloud: Give it only the data it needs and use the application for its intended purpose.

Combining Salesforce Platform Instances

After a merger or acquisition, combining Salesforce platform instances is a common task that Boomi is ideally suited for. We’ve seen acquired organizations absorbed while still maintaining separate instances under the parent organization, then building out additional integrations to their on-premise applications, like an ERP.

On that front, one challenge is that each organization will have different attributes it wants kept for its Salesforce Sales Cloud objects. So it becomes an issue on the business side of determining what’s in and out of scope during the process of combining instances.

Often organizations will use an integration platform to pull Salesforce Sales Cloud data from the acquired company or companies and map it to the parent company’s instance. We always recommend Boomi for this and have had great success with it. After the data migration is complete, the other Sales Cloud instances are turned off.

A client we’re engaged with now has three Salesforce Sales Cloud instances. One instance the company acquired from another organization and turned off. Instead, it’s feeding product and customer data to the ERP, which is SAP. SAP feeds all that data into Salesforce Sales Cloud, using Boomi.

Eventually, the client plans to merge all its Sales Cloud instances by standing up a new instance. Of course, the big challenge there will be getting all the business units to agree on the data model. We've seen firsthand that this is often the most difficult step in integrating various Salesforce platform instances.

Our role in determining the data model will be acting as the “voice of reason,” giving the client as much information as we can around the pros and cons of making one decision versus another.

One practice we always recommend is that if the ERP is the system of record containing the business logic around how data is modeled, it makes sense to reflect that downstream in Salesforce.

Avoiding "Field Creep"

In using the Salesforce platform, “field creep” refers to the indiscriminate adding of data fields to the application. And it's a problem many organizations face.

One of our client’s had reached the limit for custom fields on its account object. Every time it wanted to add a custom field, the company had to find a field to remove.

The root cause of this is not thinking holistically about the application and not auditing how it’s being used and changing over time. Data fields are like weeds. If you don’t pay attention, they’ll just keep growing.

And field creep is not just a problem for larger organizations. We’ve seen it in small-to-medium businesses, including nonprofits.

It all comes down to building the necessary organizational guidance to ensure the Salesforce platform is used to its maximum potential while minimizing complexities.

Best-Practice Recommendations

Most often, our clients take care of deploying Salesforce on their own, and we’re brought in to integrate. One of the things we have them do upfront is make sure they’ve locked down their data models. We want to understand what they’re doing and why.

We always ask if they’re using built-in functionality. Take, for example, price books. Salesforce has a built-in data model for price books and pricing for products. Some customers want to build their own data model, which we discourage for two reasons: The built-in data models help avoid field creep and they’re much easier to support.

Sometimes we encounter a lot of “spaghetti code,” often from creating point-to-point integrations with Apex. Spaghetti code refers to unstructured and difficult-to-maintain code.

In those cases, we don’t start by looking at technical issues. Instead, we recommend taking a step back and analyzing the entire application portfolio. We pinpoint issues such as repetitious integrations and duplicated effort, and then work on a roadmap to cleaning things up.

With a roadmap in place, we start with small, quick wins, such as integrating just sales orders between the Salesforce Sales Cloud and NetSuite. Boomi allows you to produce those quick wins because it has an out-of-the-box connector for the Sales Cloud to NetSuite, so development is rapid.

Once an organization sees the value Boomi offers, we can tackle larger, more complex integration challenges. Using Boomi and taking it piece by piece, you’re much more likely to use the Salesforce platform efficiently while getting the most from its capabilities.

For enterprises depending on the Salesforce platform, Boomi can add value in several ways, from integration and data mastering to workflow automation.

Regardless of the scenario or size of company, Boomi offers a unified, comprehensive platform to address almost any Salesforce integration challenge.

To learn more about how to make the most of the Salesforce platform, please contact the integration experts at Boomi or Slalom today!

Visit us in Booth 1508 at Dreamforce!

Learn more about Boomi
Get a personalized, no-obligation demo
Grab a cool giveaway item
Enter our sweepstakes for an opportunity to win one of four (4) US$500 Amazon gift cards

For more information, visit www.boomi.com/dreamforce.

Slalom integration consultant Evan Fiore contributed to this article.

About the Author

Daniel Markoski is a solution architect for integration and automation at Slalom.

Follow on Linkedin Visit Website More Content by Daniel Markoski
Previous Article
Unscripted: Q&A From Our Recent Data Integration Patterns Webinar
Unscripted: Q&A From Our Recent Data Integration Patterns Webinar

We've compiled the answers to all the questions that were submitted during the live Exploring Data Integrat...

Next Article
Six Ways Boomi Flow Meets the Needs of Professional and Citizen Developers
Six Ways Boomi Flow Meets the Needs of Professional and Citizen Developers

Can Boomi Flow really meet the needs of both professional and citizen application developers? Yes, and we'r...