Wednesday, 4 January 2012

Integrating Salesforce.com with Drupal

I was recently charged with producing a rich, modern consumer website, for a client already heavily invested in the Salesforce.com CRM. My employers, Desynit, already have a strong understanding of the Salesform.com platform, and alongside my experience with rapid development CMS systems, we set ourselves the goal of having a fully functional prototype system up and running within a week.

The core site functionality was to deliver polls, surveys and discussion forums to registered users, with a mechanism for rewarding customers for their participation and interaction; whilst at the same time, integrating all captured data with the existing Salesforce implementation.

Step up Drupal 7 and the Salesforce Suite module.

Anyone familiar with the Drupal platform will be aware of it's incredibly quick set-up. With the dawn of Drupal 7, its new and improved core modules, (Field, Poll, Comments) and site theming tools, by the end of the first day I already had a visually impressive website, with full functionality for user navigation, registration and interaction through forums, polls and article comments.

I was hoping that implementing the Salesforce suite module would prove equally smooth and efficent, and I must say, I was not disappointed. There is one additional step you have to take above and beyond the simple "paste the URL" process for installing contrib modules on Drupal 7, and that is to install the Salesforce.com PHP API. This can be downloaded from GitHub (ignore the "Sorry, there aren't any downloads for this repository" - and click on "Download as Zip/gz") and then extract it to \sites\all\libraries\salesforce. You can then rename the top level folder to "toolkit" (so that instructions.html resides in \sites\all\libraries\salesforce\toolkit). 

Once this is in place, you can navigate back to your modules page and enable whichever relevant submodules you want to use. I only needed the Core API and Entity modules to achieve my goals, and you should note that at the time of writing not all the modules were production-ready for Drupal 7.

Having enabled the modules, Drupal immediately has a new set of administration pages available to you at admin/config/salesforce, and the module even comes pre-configured with a couple of default object mappings for the fundamental Drupal concepts, User and Page. The next step you must take is to connect your Drupal site to your specific Salesforce.com instance, and I will outline how I went about this, in my next post.

Please note, this is all fantastically documented in the Salesforce Suite Documentation on drupal.org, as well as here.

7 comments:

  1. Hi Simon,

    I'm the project manager for a Salesforce.com/Drupal integration and the developers my company hired for this project are unable to complete the work. Would your company be interested in picking up this project and seeing it through to completion? The site is built and it is almost done. The only issue is with a registration form that is very complicated and completely integrated with Salesforce.com. Please contact me at astettler@ceo.org if this is something you might be able to take on.

    Regards,
    Allison Stettler

    ReplyDelete
  2. Thank you for your blog. Question - did you consider building the functionality via the Force.com platform - rather than making API calls from Drupal to Salesforce? I am also tasked with building a website for an organization that is using Salesforce as its CRM. We decided to use Drupal as our CMS - but now I am struggling to determine how best to leverage the Salesforce data. Below are the options that I am considering:
    1) Leverage our salesforce data using Salesforce Communities - customize via the Force.com platform - then integrate these pages into the Drupal site OR
    2) Use Drupal to Salesforce integration - access Salesforce data via API calls and customize in Drupal

    ReplyDelete
  3. Great Work. This post is worth everyone’s attention. web design company in chennai

    ReplyDelete
  4. Informative article, just what I was looking for.seo services chennai

    ReplyDelete
  5. This blog is the general information for the feature. You got a good work for these blog.We have a developing our creative content of this mind.Thank you for this blog. This for very interesting and useful.
    Sales Fore CRM Training in Chennai

    ReplyDelete
  6. This blog is the general information for the feature. You got a good work for these blog.We have a developing our creative content of this mind.Thank you for this blog. This for very interesting and useful.
    Sales Fore CRM Training in Chennai

    ReplyDelete
  7. Can truly relate and retain this outstanding post. Very well written. web design company Chennai

    ReplyDelete