Integrating Drupal and Salesforce CRM

By Salesforce.org | April 11, 2013 | , , , , | Products and Services, User Tips and Tricks

Drupal Salesforce Integration

by Lev Tsypin, Thinkshout and Tom Williamson,  jacksonriver

The Foundation is please to welcome guest bloggers Lev Tsypin,  Partner & Director of Engineering at Thinkshout and Tom Williamson, Founder and CEO – jacksonriver. Read more about the authors at the end of this post.

Got Salesforce.com?  Got Drupal?  If so, then you probably have wanted to integrate your Drupal CMS with Salesforce CRM.  Good news, there are quite a few options for users of both platforms to drive integrations, from basic to very sophisticated.  Your options include both free and paid services, and there are talented Salesforce partners that can assist you with defining your requirements, recommending a solution, and even helping implement and support your integration.

The Salesforce Suite

The Drupal community has come together to sponsor the development of a suite of Salesforce integration modules that can meet a variety of business needs.  They are “free”, as in open source, but it may be best to hire a development firm to assist with your set up. There are multiple firms working on the Drupal 7 Salesforce modules, all with the common goal of providing a robust and flexible Salesforce and Drupal integration platform.  Many have contributed and helped get us to where we are, with ThinkShout, DesignHammer, Message Agency, and Jackson River leading the way.

The Drupal Salesforce Suite has been around since Drupal 5, and has undergone many transformations in keeping pace with both Drupal and Salesforce API changes. Over time, the code base grew bloated and fragile while usage lagged. To solve these problems and lay the groundwork for future integration projects, the community rallied time and resources to completely rewrite the module — druaplsuitetaking full advantage of the advances made in the Drupal and Salesforce platforms. It now features:

1. OAuth 2.0 authorization to maximize access control and keep those usernames and passwords safe.
2. A modular architecture exposing core functionality via an API allowing other systems , E.g., Springboard{link}, Jackson River’s fundraising platform which you can read more about below, to fully take advantage of the core suite as an underlying component.
3. Drupal entity and Salesforce object mapping system allowing nontechnical users to configure the data mappings between nearly any objects in the 2 systems, going so far as specifying the direction of the data flow at the field level.
4. Synchronization between any Drupal entity and Salesforce object, E.g., Drupal users, donation receipts, event registrations, or even contacts (see RedHen, a native Drupal CRM, below).
5. Lightweight wrapper around the SOAP API, which has more capabilities for some use cases, using the same OAuth authorization.

What data can you export from Drupal to Salesforce

Using a combination of the tools mentioned above you can synchronize most data from a Drupal site.  Whether you want to sync donations from Springboard, Accounts and Organizations from Redhen, or your users, content or webform submissions – the Drupal Salesforce Suite can handle these needs. Custom and contributed modules can also provide data that can then be integrated via the modules – so the sky is the limit for the type of data you can integrate.

An administrator can specify the direction of the data flow at the field level, E.g., synchronize name and email, push Drupal usernames to Salesforce, and pull Salesforce IDs into Drupal. Additionally, trigger points (Drupal and/or Salesforce create, update, and/or delete) for synchronization can be configured at the mapping level.

Integration Methodologies

The Salesforce Suite module supports two integration methods: real-time and queue based.  Both have their advantages and disadvantages, but you are not limited to using only one model – you can run both real-time and queue based integrations in one Drupal site.

With real-time integration, your Drupal objects are exported to Salesforce immediately. You get immediate feedback indicating whether the item failed to export and the data is available in Salesforce almost instantly. This is a great option if you need the data in Salesforce in as close to real-time as possible.

Queue based integration utilizes a batching system that runs in the background and allows multiple objects to be sent to Salesforce at the same time. In this model instead of the object being sent to Salesforce as soon as it’s created, edited or deleted, it goes into a queue where it waits to be exported with other items. The queued items are picked up on a configurable schedule (typically every 10-15 minutes) and exported to Salesforce in batches. Batching data synchronization can increase performance and use fewer API calls, which can be a big factor if your organization has large data sets.

Either export approach leverages a similar batch process when importing data from Salesforce. Drupal requests all new changes to mapped objects in Salesforce, looks for existing linked objects, and then either creates, updates, or deletes the corresponding Drupal entities. If the same data has changed in both Salesforce and Drupal, than the latest change wins.

Example use cases

With the Salesforce Suite’s new modular design and robust architecture, we are laying the groundwork for an ecosystem of Drupal tools and applications that the community can leverage to integrate with Salesforce, such as Springboard and RedHen, discussed below. And, of course, developers can use the module as a starting point for their own solutions.

Springboard
Springboard, developed by Jackson River, is a modern online fundraising and marketing system that combines the power of two world class platforms; Drupal and Salesforce.  Springboard is built from the ground up for fundraising and marketing professionals who desire a modern platform built with social, mobile, and analytics in mind.  Springboard, a suite of native Drupal 7 modules, is an open source platform which provides powerful fundraising, marketing and advocacy features within your Drupal website.

Advanced features including queue based Salesforce.com integration, peer to peer fundraising, Google Analytics eCommerce integration, and fundraising A/B/…n testing allow the most sophisticated organizations to deploy a PCI compliant fundraising solution within their Drupal 7 website.  For more information, please visit www.jacksonriver.com/springboard.

RedHen CRM
RedHen is a native Drupal CRM initially designed for common nonprofit needs, but is built for flexibility. It has classic CRM functionality for managing contacts, organizations, and their relationships between each other and your organization (like memberships). It also knows some modern tricks, such as engagement tracking, and stuff you’d hope for in a website-integrated CRM (E.g. event registration integration). Because RedHen is built in Drupal, following Drupal best practices, any Drupal developer, site builder, or administrator will feel right at home extending, configuring, and managing it. In addition, because RedHen is part of your Drupal application, there is zero integration costs and the boundary between your content and contacts is essentially removed. E.g., offering discounts or premium content to your engaged constituents is quick and easy.

So why are we talking about RedHen in an article about Salesforce integration? Because, while it can effectively stand on its own, RedHen was designed from the ground up to serve as scaffolding for Salesforce integration. Salesforce, with its enterprise feature set and rich ecosystem,  is the brain of your CRM while Drupal is the input and output device.

The Future

The Salesforce Suite is still in alpha and the organizations already mentioned, in addition to the broader developer community, are working hard and moving quickly towards a stable release. That said, the module is currently in use on many production websites and the new 3.x version alone is already in use on over 100 sites. The feature set will be refined as more use cases emerge, but we already know the current queueing system is lacking in many respects and discussions are underway to integrate the more robust feature set Jackson River has built into Springboard.
The Salesforce Suite is certainly not the only integration game in town, as evidenced by Zivtech’s Houston Command, a free/open source “central command center for your local and cloud-based web systems.”  At the time of this article Zivtech is working on a Drupal 7 release of Houston Command and plans to release it back to the Drupal community.

Paid Integration Products

There are also commercial tools which can be used to power integrations between Drupal and Salesforce.  There is a vibrant ecosystem of partners on the AppExchange that provide ETL (Extract, Transform, Load) tools at a reasonable cost (some discounted for nonprofits).  If you have used some of the popular data loading tools, such as Jitterbit or Informatica, then you have some experience already with ETL tools.  These tools can also be configured to run automatically and can integrate data between Drupal and Salesforce.  Below are a few of the ETL tools available:

  • Cast Iron
  • Jitterbit
  • Informatica

Conclusion

Within the nonprofit community Salesforce and Drupal are both very popular platforms.  It’s a logical step to connect the site — where your users volunteer, donate, and participate with your organization — to your CRM — where you store, report, and capture valuable constituent data.  Users of Drupal have a wealth of options to integrate their data, and a vibrant ecosystem of development firms that can assist you with defining your needs, recommending a solution, and implementing a solution to meet your business needs.  For more information on Drupal development shops focused on Salesforce integration please see the Additional resources section.

Additional Resources

Drupal & Salesforce Integration Tools

Salesforce Suite modules
Queue System Demo
Houston Command
RedHen CRM
Springboard – Online Fundraising and Marketing

Paid ETL Tools

• Jitterbit
• Scribe
• Informatica

Drupal Consulting Firms with Salesforce Integration Expertise

Design Hammer
ForumOne
Jackson River
Message Agency
ThinkShout

About the Authors
Lev Tsypin, Partner & Director of Engineering at Thinkshout, has over 12 years of experience leading technology projects for nonprofits and is a solutions architect and co-founder of ThinkShout, Inc. where he leads technical design, user experience and development. ThinkShout helps progressive organizations achieve their goals by leveraging open source technologies. Prior to ThinkShout, Lev ran the highly-respected consultancy, Level Online Strategy, in Portland, OR.
When not working to help organizations through technology, Lev likes to take advantage of the areas they protect, be it on foot, skis, or bike. At least when he’s not wrapped up with his 2 boys, which isn’t very often these days!

Tom Williamson, Founder and CEO – jacksonriver – Having worked in the nonprofit technology space sine 2001, Tom co-founded Jackson River along with my colleagues Alice Hendricks and TJ Griffin to change how non profits use and experience technology. Jackson River works with two of the top platforms available to non profits today: Salesforce.com and Drupal and has built Springboard.  Springboard is a modern online fundraising and marketing platform that is designed for marketers and fundraisers.  Built from the ground up for mobile, social and analytics, Springboard is designed to power sophisticated donor programs.  With its foundation in Drupal and Salesforce, Springboard is a platform designed to innovate rapidly to keep pace with today’s changing marketing landscape.

At Jackson River, Tom is the senior manager for the Springboard technology team and works directly with many of our clients helping them achieve their goals and maximize their use of Springboard.