CRMs are helpful assistants for businesses in their communication with current and prospective customers. No wonder that many business owners want to integrate CRM software with their sites.
The focus of our today’s post is specifically on Drupal integration with Salesforce. We will review the opportunities in this area, as well as share one of the recent Drupal case studies of building a Drupal 8 website with Salesforce integration.
What is Salesforce? A glimpse of the famous CRM solution
Salesforce is an industry-leading cloud-based CRM (customer relationship management) solution that brings businesses and customers together. The word “sales” in its name clearly shows one of its key missions — it helps companies effectively manage their sales, customer service, marketing automation, collaboration, and analytics. The platform gives the sales, marketing, commerce, and other departments a shared view of every customer.
Benefits of integrating Drupal and Salesforce
If you have a Drupal website, your sales and marketing team can enjoy all the power of Salesforce described above through a smooth integration between the two systems. Here are at least a few benefits you will get:
- your sales and marketing workflows become much more efficient
- you save time and money thanks to a completely integrated system
- you never miss a prospective customer thanks to instant email notifications
- you have a chance to track your competitors
- both one-way and two-way data sharing between Drupal and Salesforce is possible
- it’s easy to create and update the data thanks to smooth synchronization
- authorization features improve the data protection
Drupal integration with Salesforce: how it works
The essence of any integration is a perfect data exchange — Drupal websites need to both push the data to and pull it from Salesforce. As stated above, any integrations have become a breeze in Drupal 8 thanks to its API-first approach.
Drupal also boasts a wealth of ready made contributed modules that facilitate specific integrations. So, of course, there is a useful Salesforce module for Drupal 8 (and Drupal 7 as well). It’s called the Salesforce Suite and takes care of the seamless integration. The suite includes a bunch of submodules, so let’s take a tour on them.
A glimpse at the modules for setting up Salesforce on Drupal websites
The Drupal 8 Salesforce Suite module
The Salesforce Suite is the main module for the integration. It synchronizes Drupal website’s entities (content nodes, users, etc.) with Salesforce objects (contacts, organizations, etc.) The exact relationship between these is provided by field mapping.
The module supports the import and export of data, which can be both in real time or asynchronously, based on the Cron runs. The Drupal 8 Salesforce module version has been updated in 2020.
The Salesforce Suite submodules
Here is how the particular tasks are performed by the efficient team of the submodules in the suite’s Drupal 8.4 version:
- Salesforce Integration. This submodule is responsible for the Drupal and Salesforce integration.
- Salesforce JWT Auth Provider. This tool in the suite takes care of the key-based Salesforce authentication.
- Salesforce Mapping. To better synchronize the exchanged data, field mapping is used. This submodule maps Drupal entities to Salesforce objects.
- Salesforce Mapping UI. This submodule provides a handy user interface that allows you to manage the mapping settings.
- Salesforce Logger. This member of the suite provides for the consolidated logging of the Salesforce Log events.
- Salesforce Push. This tool is particularly responsible for pushing the Drupal data to Salesforce when updates are made on Drupal.
- Salesforce Pull. The opposite job is performed here — the Salesforce objects are imported based on the mapping.
- Salesforce Soap. This submodule exposes a SoapClient service to communicate with the Salesforce SOAP API.
- Salesforce Webform. This submodule adds support for webforms fields in the mapping process to provide Drupal Salesforce webform integration.
How to integrate Salesforce with Drupal: case study
For the Drupal 8 case study we are sharing now, our customer recently reached out to us with a request to build a simple website. The site didn’t have to include anything special — just a few content types to match the InDesign template, Google Analytics tracking, and, at the most complex part, Drupal integration with Salesforce.
When we are asked for “simple website development,” we understand the customer’s budget is limited. So we try to help them and make even the seemingly complex parts simple. If you are also interested in development services based on this approach, you can drop us a line.
One of the ways to achieve this is to use the Drupal core and contributed solutions. That’s exactly what happened in our case — we used the Salesforce Suite to implement this integration.
To relate the Drupal data to the Salesforce data, we relied on the built-in field mapping types of the Mapping module in the Suite without writing custom ones. The built-in field mapping types include properties, related IDs, constants, tokens, and more, so they cover plenty of simple cases. This is exactly what was needed for our customer’s case — simple user properties.
Steps of Drupal integration with Salesforce
Here are the standard steps to integrate Salesforce with Drupal that we performed and that may come in handy to anyone.
1. The Salesforce part
- Our customer signed up for a Salesforce Developer Edition account.
- We advised them on how to create a new Salesforce Connected App (at Setup — Create — Apps — Connected Apps — New), including the enabling of the OAuth settings and specifying the callback URL to their domain.
- After that, they received their consumer keys that needed to be saved for the next step.
2. The Drupal part
- On the customer’s Drupal website, we installed the Salesforce Suite and enabled its key submodules.
- On the Administration — Configuration — Salesforce — Authorization page of our customer’s Drupal admin dashboard, we entered the credentials received from the Salesforce in the previous part.
3. Mapping Drupal to Salesforce
- Next, we went to the Administration — Structure — Salesforce — Mappings page on the Drupal dashboard.
- We created a mapping instance labelled “Customers” and specified the Drupal entity type “User” should be mapped to the Salesforce object “Contact.”
- Next, we mapped all the necessary Drupal user properties (first name, last name, email, etc.) to the corresponding Salesforce fields.
Finally, how to test Salesforce and Drupal Integration?
Here are the steps to test whether the integration works:
- We created a new test user on the Drupal website to see if it would be automatically pushed to Salesforce.
- Next, we ran Cron at Administration — Configuration — System — Cron to refresh the Salesforce contacts.
Integrate your Drupal website with Salesforce or another CRM!
If you’ve been thinking about integrating your website with Salesforce or any other CRM of your choice, or building an entire website for your business, the time is now. Our special priority today is to provide our customers with reasonably-priced solutions. Our Drupal development team will find ways to resolve your tasks quickly and efficiently, while saving where it is possible. Let’s discuss!