I love Drupal and end up undertaking most of my programming projects with it. I have been using it for so long that I find it far easier to push out projects with Drupal than with anything else, despite it’s infamous learning curve.
Whether you want to call Drupal a CMS (Content Management System), a CMF (Content Management Framework) or a CMSomething, the ‘C’ always stands for Content. Content is where Drupal shines and is what it’s designed for.
When an organisation is at a stage and mindset that they also want to manage their contacts and interactions effectively they will often need tools designed specifically for that function. These are generally referred to as a CRM, which stands for Client Relationship Manager or Constituent Relationship Manager, depending on the sector (For-Profit or Not-for-Profit respectively). CRMs are big business, with many free and paid options available, all with their own advantages and disadvantages.
Often these interactions that people have with your organisation will include things such as registering for an event, making a donation, becoming a member, expressing interest in a product or receiving a newsletter. This all sounds quite simple, but often representing a business rule in the digital realm is very difficult as everyone thinks ‘their way’ is ‘the only way’ and that surely every off-the-shelf system should represent them out of the box.
What has a CRM got to do with Drupal? Nothing directly, but indirectly if you’re looking to streamline your business operations and automate the ways people can interact with you, your CRM will need to work well with your website.
If you are reading this, I will assume your website is likely built in Drupal and, unsurprisingly, Drupal continues its talents of playing well with others into the domain of CRMs.
In this article, we will look at several of the big players in the CRM space that work well with Drupal, how they integrate or how developers can get them to integrate.
Roll it yourself
Whilst I mentioned above that Drupal is aimed at Content, Drupal has always excelled at relationships between content, or in newer parlance, ‘Entity References’. Theoretically you could create content types for contacts (or the User entity) and content types for the interactions they may have with you alongside other modules such as Event and Commerce. Then create a bunch of Views and you effectively have a ‘CRM’. In some simpler cases this may be enough and you have complete control of the processes you want to represent. This could end up consuming a lot of Developer time and using a tool designed specifically for the job may be a better solution.
RedHen
The team at ThinkShout effectively followed the advice above and created a collection of modules that will provide you with a lot of Drupal-Native CRM functionality. It takes the Drupal Commerce approach and instead of providing you functionality our of the box, rather provides you with a toolkit for creating that functionality. This does mean you may still need to undertake a lot of extra work yourself but you are adding no new systems into your technology stack and the problems that can entail. The other downside of RedHen is that it isn’t updated that regularly (in comparison with other options on this list), its release cycle is based more upon when ThinkShout have client requirements or run a code sprint.
If you want to customize RedHen then you can create your own sets of modules and theme overrides, it’s Drupal!
CiviCRM
Often when searching for CRM options for Drupal, people come across CiviCRM and it initially appears as a Drupal module. I have undertaken a lot of work with CiviCRM (and contribute to the project) and the fact that it masquerades as a Drupal module is often a massive point of confusion. It’s best thought of what it actually is, an external service that happens to integrate quite well with Drupal and almost look like it’s a part of it. CiviCRM is a custom PHP application that also integrates with Joomla! and WordPress and is primarily aimed at not-for-profits but can be customized to work with commercial organisations. Out of the box CiviCRM comes with a LOT of features and is thus quite a weighty program, as an open-source project it can sometimes be a bit rough around the edges and inconsistent, but development has increased and matured a lot in the past year.
CiviCRM integrates directly with Drupal in many places, some better than others, and these include:
- A direct (optional) relationship between a Drupal user and a contact record as well as synchronization between Drupal roles and CiviCRM groups and memberships.
- Views for constructing listings of CiviCRM entities.
- Rules and triggers
- Webform for replacing CiviCRM’s inbuilt forms.
- Commerce and Ubercart
- Organic Groups
- Theming (sort of). You can use the Drupal theme to override CiviCRM CSS but CiviCRM does use its own templating engine (currently smarty but likely switching to twig).
- Another option is to set aside the Drupal/CiviCRM modules and utilise CiviCRM in a ‘headless’ approach, utilizing it’s API and REST interfaces.
CiviCRM offers a plethora of its own inbuilt customization options that I won’t go into, which, being PHP, will be reasonably familiar to many of you. You can also utilize direct CiviCRM to Drupal customization through creating your own Drupal module. In the module you can access CiviCRM hooks and API functions which offers an endless level of options to suit a plethora of client needs.
Salesforce
Salesforce is the main player for commercial sales focused companies and is reasonably entrenched in many business workflows. It is a large application with its own long established ecosystem and extension marketplace. It is expensive, proprietary and written in its own programming language, ‘Apex’. Development moves fast and it is a reasonably stable system.
Salesforce is a cloud based CRM, so integration happens via a REST interface. Fortunately as Salesforce is so popular in the types of environments that Drupal is also popular, there are a few prebuilt options. Bear in mind that your license may limit the options available to you:
- The SalesForce Suite is a module with a long history and it starts you on your integration journey. It will handle authentication, mapping Drupal entities to SalesForce fields, pushing and pulling data between Drupal and SalesForce and a legacy module to connect with SalesForce’s older SOAP API.
- There is some basic Webform integration via a module with seemingly stalled development.
- Springboard is a commercial Drupal distribution from Jackson River that bundles Drupal and SalesForce together into an offering specifically for not-for-profits. It’s a little unclear what it offers above just doing integration yourself, but it includes support. There are also a couple of other agencies that offer Drupal / SalesForce integration services.
Theoretically, once you have SalesForce entries represented as Drupal entities you can utilize the plethora of customization options that Drupal offers such as views, rules and module hooks. If you want to enhance SalesForce functionality then it could potentially be accomplished through Drupal and pushed to SalesForce, but chances are you will need to learn SalesForce itself at some point.
Sugar CRM
Sugar is another long established player and comes in community (open source PHP) and commercial editions. It is aimed at commercial sales focused organisations and much like SalesForce, development moves quickly and Sugar CRM also has its own marketplace for extensions.
OSSCube created a Drupal module and accompanying SugarCRM project to allow for some direct integration. I haven’t personally used them and find the documentation somewhat hard to understand. However, it claims to offer:
- Field mapping between Drupal and Sugar entities
- Data syncing between the two systems
- Webform integration to create Sugar entities
Again, you also have the option of utilizing Sugar’s SOAP and REST APIs to create Drupal entities and continue from there. Sugar also offers LDAP, so there is the potential to create a single sign on between the two systems.
Other Options
I have grouped together several other options here. All the CRMs vary wildly, but their integration options are mostly the same so I didn’t want to just repeat those options over and over again. I have attempted to undertake Drupal integration work with some of them in the past and often struggled to accomplish anything. A lot of this is due to the proprietary nature of these systems, finding information on their API and developer options is a challenging endeavor unless you pay some money.
Microsoft Dynamics and BlackBaud
It is worth including Dynamics and Blackbaud as they are big players in the CRM space. Both offer their own options for a CMS (and other systems), so are often reluctant to offer integration options outside of their ecosystem.
Nation Builder and Salsa
These are both CRMs of a sort that are aimed more at the newer wave of engagement focused organisations. They are not just about tracking contributions and interactions, but also encouraging interactions.
Salsa has some integration modules for Drupal 6, so if you’re feeling generous you may want to update them. Otherwise it’s a process of communicating via the Salsa API and fortunately there is a Drupal module under development to get you started.
NationBuilder have gone out of their way to not create any direct CMS integrations, citing that their inbuilt CMS is a far better option instead. However, they do have an API that can be used with the options noted below.
How to integrate with Drupal?
Here are some potential options, but your mileage may vary:
- Utilize the CRM’s API (if it exists in your version / license) to pull entities into Drupal and then proceed in a similar vein to the SalesForce options via Services or a custom module.
- Using the Migrate module and optionally the MSSQL Server PHP extension for any .NET based systems to directly query the CRM database and import into Drupal entities. Again, your license and setup may or may not allow this.
- There is a Sandbox module for Dynamics integration, last time I tried, it didn’t work anymore, but you may feel like updating it.
Conclusion
This is by no means a comprehensive list of CRMs or the possible options to integrate them with Drupal. I have mainly focused on the ones I have experience with and can’t possibly keep up with all the new options that are constantly emerging. I also have far more experience working with not-for-profits, so my solutions are somewhat skewed to that sector. What are some of the systems you have tried to connect with Drupal? Did you succeed? Have you had to overcome any hurdles? Let us know!
Frequently Asked Questions about CRM Options Compatible with Drupal
What are the key features to look for in a CRM compatible with Drupal?
When choosing a CRM compatible with Drupal, you should consider several key features. Firstly, the CRM should have robust integration capabilities with Drupal. This means it should be able to seamlessly sync data between the two platforms. Secondly, the CRM should offer customizable fields and modules to match your business needs. Thirdly, it should have strong reporting and analytics capabilities to help you make data-driven decisions. Lastly, consider the CRM’s ease of use, customer support, and pricing.
How does Salesforce integrate with Drupal?
Salesforce integrates with Drupal through the Salesforce Suite module. This module allows for the mapping and syncing of Drupal entities with Salesforce objects. It supports a variety of Salesforce objects including custom objects. The module also provides a robust API for developers to extend its functionality.
What is CRM Core and how does it work with Drupal?
CRM Core is a set of modules in Drupal that provides CRM functionalities. It includes features for managing contacts, activities, and relationships. CRM Core is designed to be flexible and customizable, allowing you to tailor it to your specific needs. It integrates seamlessly with other Drupal modules, providing a unified user experience.
Why should I use CRM Core for my Drupal site?
CRM Core offers several advantages for Drupal users. It is fully integrated with Drupal, allowing for a seamless user experience. It is also highly customizable, enabling you to tailor it to your specific needs. Additionally, CRM Core supports a wide range of CRM functionalities, including contact management, activity tracking, and relationship management.
How do I get started with the Salesforce Suite in Drupal?
To get started with the Salesforce Suite in Drupal, you first need to install the Salesforce Suite module. Once installed, you can configure the module to connect to your Salesforce account. You can then map Drupal entities to Salesforce objects and set up syncing between the two platforms.
What are the benefits of integrating a CRM with Drupal?
Integrating a CRM with Drupal offers several benefits. It allows for seamless data syncing between the two platforms, eliminating the need for manual data entry. It also enables you to leverage the CRM’s features within Drupal, such as contact management and reporting. Additionally, it can improve customer service by providing a unified view of customer data.
Can I use custom Salesforce objects with the Salesforce Suite in Drupal?
Yes, the Salesforce Suite module in Drupal supports custom Salesforce objects. This means you can map and sync data between Drupal entities and your custom Salesforce objects.
Is it difficult to integrate a CRM with Drupal?
The difficulty of integrating a CRM with Drupal depends on the CRM and its compatibility with Drupal. Some CRMs, like Salesforce and CRM Core, have dedicated Drupal modules that make the integration process relatively straightforward. However, other CRMs may require more technical expertise to integrate.
What are some other CRM options compatible with Drupal?
Besides Salesforce and CRM Core, there are several other CRM options compatible with Drupal. These include RedHen CRM, CiviCRM, and Zoho CRM. Each of these CRMs has its own strengths and weaknesses, so it’s important to choose the one that best fits your needs.
Can I customize the CRM functionalities in Drupal?
Yes, many CRM options for Drupal offer customizable functionalities. For example, CRM Core allows you to create custom fields and modules to match your business needs. Similarly, the Salesforce Suite module provides a robust API for developers to extend its functionality.
Developer Relations, Technical Writing and Editing, (Board) Game Design, Education, Explanation and always more to come. English/Australian living in Berlin, Herzlich Willkommen!