Drupal/Salesforce Integration

A bit over a year ago, I wrote a post about the status of Drupal/Salesforce Integration. I figured it was time to do an update. At the moment, if you want to integrate Drupal and Salesforce, you have three options:
  1. Use the contributed modules (or have a developer install and configure them for you).
  2. Use Jackson River's Springboard.
  3. Roll your own (or have a developer roll your own for you.)
I'm going to talk in much detail about #1 in a bit. I've not had any experience with Springboard, but it's important to understand that it is not open source, and is only maintained by one shop. That is going to be an inherent weakness - no matter what. I don't know enough about it to match it to the contributed modules, but it's hard to imagine that it's possible for it to keep up, given the nature of open source development. All of that said, it's supposed to be an interesting all-in-one sort of option, so it's probably worth a look. Rolling your own is always a precarious proposition. I frankly can't imagine much of a situation where  it would be preferable to modifying what's available and contributing the mods back. So what is the status of the Drupal modules? Right now, there is an alpha release for Drupal 6, which is alpha in that very humble open source sense - it's being used in quite a number of production sites. It includes some great stuff. You can see an overview here, in the slide deck for a talk given at NTC last week, which compares the integration of Salesforce with 3 of the big open source CMS platforms, Plone, Drupal, and Joomla. There are four major projects:
  • Salesforce Suite, which includes:
    • The API - the core module that does the communicating with the Salesforce API
    • Contrib - a module that provides support for import/export from contributed modules
    • Export Queue (experimental) for queuing exports
    • Import - importing data from SF
    • Match - for matching objects before creating new ones
    • Node - for linking Drupal nodes to SF objects
    • Notifications (experimental, sort of - it's worked quite well for me) - allowing Drupal to handle SF outbound messages
    • User - matching users to SF objects
  • Salesforce/Ubercart - provides integration for Ubercart. Uses the Salesforce Suite API
  • Salesforce Feeds - allows for feeding SF records into Drupal via Feeds. Also uses the Salesforce Suite API
  • Salesforce Webform - Allows for passing data from a Drupal Webform to Salesforce. Currently does not use the Salesforce Suite API, and cannot be used on the same site as the Salesforce Suite, but hopefully that will change soon.
All of these modules are actively maintained, there is an active base of folks using and contributing (including me) and there are plans afoot for Drupal 7, with big improvements. Of course, there are still some snaggy spots, and it helps if you know some about Salesforce to have this work really well, but I've gotten good results doing two-way sync of user and node data with the Salesforce Suite, as well as used the Salesforce Feeds module some. If you use Salesforce, want integration, and are pondering a CMS choice, definitely check out the overview slides. If you are using Drupal, want integration, and considering a CRM, definitely consider Salesforce. And if you are already using both, and looking to find ways to integrate them, drop me a line, I can either directly help you, or point you in the direction of folks who can.    

Comments

Hi,thanks for the great article,I am trying to integrate salesforce webform module in drupal to get it to work ,but the current module has bugs when trying to map the fields,so it would be a great help if you have any example or steps showing how to configure the salesforce webform module.
Appreciate your help!!.

Thanks,
Umesh

The Salesforce Webform module is buggy, for sure. I haven't worked much with it, honestly, and haven't used it in a production site. I have much more experience with the Salesforce suite, which is developmentally in better shape.

Michelle,The very specific use case that I have is syncing Drupal users to salesforce.com contacts for the purpose of communicating with them via salesforce.  The secondary issue is to collect data on how our Drupal users interact with the site in order to tailor our communications.  For example, if a user downloads a specific document and that document is updated I wasnt to notify them.  It seems like this use case is fascilitated by the Salesforce Suite.  My one question is can I map custom fields from the Drupal user record to custom fields on the salesforce contact record.

Yes, Steve, you can indeed do that. The field mapping tool in Salesforce suite allows you to map custom fields in your user profile in drupal to any Salesforce field in the contact record. Drop me an email if you want more info.

Hi,   I am also using Field mapping to send data to salesforce. The webform created is for registering a new partner. But that is not sending data to salesforce. Could you help?  

Send me an email, I'll try.

<p>Hey there! &nbsp;I am trying to remove a field mapping (I made a mistake) but it does nothing. &nbsp;Clicking Remove does nto remove teh mapping. &nbsp;There was a patch that acme ou trecently, but when i looked at my code, the patch had already been applied to my version. &nbsp;Thoughts?</p>

Hi there,Springboard is fully open-source and available for download at www.gospringboard.com. Drupal 7 support is coming soon.Enjoy!Brian Pickett
Jackson River 

Thanks, Brian for that info. Looking forward to the Drupal 7 version. Cindi and others - this blog is not the place to get support for Salesforce Suite - go to the Salesforce Suite page on Drupal.org.

Leave a comment