Key things to know about integrating Drupal with Salesforce

Key things to know about integrating Drupal with Salesforce

07 يوليو 2021

If your website runs on Drupal, you can count on seamless integrations with any third-party systems. This is due to Drupal’s API-first architecture and a wealth of contributed modules designed for connecting your site to specific tools.

One of the most popular website integration ideas for businesses is integration with a customer relationship management system (CRM). And, in the world of CRMs, Salesforce is definitely among the big names.

That said, we are now going to take a dive into the exciting topic of integrating Drupal with Salesforce. Read on to discover how you will benefit from connecting a CRM to your website, and how to integrate Salesforce with Drupal using the special module.

The benefits of integrating your website with a CRM

It is a known fact that establishing, managing, and improving the relationships between your business and your customers — both existing and prospective — reaches a new level if you are using a CRM. It can give you a better knowledge of customers, more effective communication with the anticipation of customer needs, higher customer retention, and much more. However, the truly unbeatable results come from connecting the two systems together — integrating your website with your CRM. Here are at least some of the great things a CRM integration can give you.

Saving your team’s time on data management

Your sales team may be wasting plenty of time on moving data from one system to another, either by exporting or, even worse, by manual copying and pasting. This kind of routine work is something you can totally avoid in the XXI century thanks to CRM integration. Your staff can focus on important things and creative ideas instead.

A more complete customer portrait

Just like having a single location for all data saves time, it also gives your team a single and more accurate view of each of your customers. The picture of their interactions with your organization becomes more complete and consistent. This helps your marketing and sales professionals better understand your customers and improves the efficiency of customer relationship management.

More sales from your marketing campaigns

After integration with your website, a CRM will be able to pull in the data from your website’s marketing campaigns. Potential leads get into the system quickly. This increases the data accuracy, improves the quality of leads, speeds up the sales process, and brings your more completed sales.

Connecting Drupal with Salesforce: how it works

Let’s see how we can connect Drupal to a leading customer relationship management platform — Salesforce. To integrate Drupal with Salesforce, you can rely on a special contributed module.

However, this integration embraces multiple aspects, so we need more than a simple module but a whole suite of modules — the Salesforce Suite. This complex tool is available for D7, D8, and D9. The module’s maintainers keep actively working on its improvements and updates, so its new 5.x branch has been released this year. See more details about the module’s features and the required Drupal Salesforce integration steps right now.

The key feature of the Salesforce Suite module

As follows from the above, the main mission of the Salesforce Suite set of tools is to seamlessly connect Drupal with the Salesforce CRM. The package is very rich in useful features thanks to a dozen modules it includes. The key module is the Salesforce Integration module, which is actually responsible for the main process. Other submodules in the SF Suite take care of various aspects of the integration, and here are the key features they bring.

Data pulling and pushing

The processes of data pushing and pulling between the two systems are vital for integration. The modules responsible for this in the SF Suite are the Salesforce Push and Salesforce Pull.

Real-time or Cron-based updates

The data updates can be either performed in real time or asynchronously with each run of the automatic task manager — Cron.

Data synchronization and field mapping

While providing the exchange of data, the SF Suite synchronizes the types of data these systems are using. Namely, it makes sure Drupal entities such as users or content nodes are synchronized with Salesforce objects such as contacts, opportunities, etc. For perfect accuracy, the SF Mapping module in the package can do this on a field-by-field basis — by mapping the Drupal entity fields with the corresponding Salesforce object fields.

User interface

You can configure which Drupal entities should be synchronized with which Salesforce objects in every detail by using the SF Mapping UI module.

Event logging

All events will be carefully logged thanks to the SF Logger module in the Suite.

Live example

You can get live documentation by using the SF Example module that will facilitate your work with this integration package.

OAuth JWT authentication

Another useful feature included in the Suite is the OAuth JWT authentication support, which is the responsibility of the SF JWT module.

Legacy OAuth User-Agent flow

There is an option, although it is no longer recommended, to use legacy OAuth User-Agent flow via the help of the Salesforce OAuth user-agent Provider module.

SOAP features

Communication with the Salesforce SOAP API is possible thanks to the SF Soap module that exposes a SoapClient service for this purpose.

Address field widget

There is a special widget for Drupal’s address field provided by the SF Address module in the Suite.

Integration with Webform

You can also add the power of Webform — a popular contributed module for creating online forms. This functionality is available via the SF Webform module in the pack. Together these tools will help you boost the results of your marketing campaigns.

Steps to use the Salesforce Suite module

To connect Drupal to Salesforce using this Suite, you need to take a number of steps on the part of both platforms. Drupal.org documentation page provides a quick start guide for doing this — you can view its more detailed version.

1. Installing the Drupal module

Install the Salesforce Suite module on your website. The recommended way of installing the module is by using Composer:

composer require drupal/salesforce

When choosing which submodules to enable from the dozen that you will see, make sure at least the SF Integration, the SF Pull, the SF Push, and the SF Mapping are on. This is a bare minimum for everything to work, but you can enable more modules in the Suite based on your needs.

2. Logging in or signing up with Salesforce

Log in to your Salesforce account if you already have one or register with Salesforce Developer Edition if you don’t have one yet.

3. Creating a new Salesforce connected app

Go to Setup > Create > Apps, generate your key and certificate, create a new OAuth JWT connected app, and configure its OAuth settings:

  • check "Enable OAuth settings"
  • set the callback URL as an “https://” URL to your website
  • check "Use digital signatures"
  • upload your certificate
  • choose the selected OAuth scopes.

After saving the app, you will get the consumer key and the secret key that you will need to copy. The next step in configuring the app is managing your OAuth policies and adding approved profiles. You can see the full explanation in the drupal.org documentation.

4. Configuring the JWT OAuth provider in Drupal

Go to Admin > Config > Salesforce > Auth on your Drupal admin dashboard and enter the consumer key and the secret key.

5. Mapping the fields

Go to Admin > Structure > Salesforce > Mappings and create some field mappings between the two systems.

Final thoughts

Let your Drupal integration with Salesforce be the smoothest so you can see tangible results in the sphere of your customer relationships and sales. Reach out to the Golems team if you need help in setting up this integration for you. It’s great to see powerful systems working seamlessly together thanks to great integration tools and the input of experienced developers.