Last updated January 24, 2017. Created on January 20, 2011.
Edited by aaronbauman, kostajh, EvanDonovan. Log in to edit this page.

The Salesforce Suite module package is a set of modules that provide integration with the Salesforce CRM/platform.

Primarily, the Salesforce Suite may be used to synchronize data between Drupal and Salesforce by exporting Drupal nodes and users (and other entities in 7.x) as Salesforce records, and importing Salesforce objects as Drupal nodes and users.

This synchronization is accomplished by means of field mappings, which define how the fields in a Drupal entity map to the fields of a Salesforce object. Currently, only one-to-one mappings are supported, which may necessitate the need for workarounds (either via third-party Drupal modules that build on the core Salesforce API module, or through Apex code, such as triggers), if you have more complex export/import needs.

Requirements

Successful installation of the Salesforce Suite requires the following:

  • A Salesforce account with API access enabled, including username, password, and API security token
  • Ability to generate an Enterprise WSDL (though there are open issues to make it work with REST API or Partner WSDL)
  • PHP SOAP extension (must be part of your PHP build)
  • PHP OpenSSL extension (must be part of your PHP build)
  • Salesforce PHP Toolkit 13 or greater (20.0 (Winter '11) recommended, since its upsert implementation works; download the latest from Github)
  • the Chaos Tools module, for managing fieldmap configuration
  • the Libraries module, for managing the PHP Toolkit library directory
  • On Drupal 6: MySQL >5 (see #955572: Add Postgres support: Change double quotes to single quotes in database queries)

In addition to these, the AES Encryption module is also strongly recommended, for secure storage of API credentials (see Notes on Security for more details).

Once you have installed the Salesforce Suite module, you will need to generate the Enterprise WSDL for your organization in order for it to function. The default WSDL provided with the toolkit only includes the objects and fields common to all Salesforce orgs. Place the WSDL in a directory above the DocumentRoot of your Drupal install, and remove all write privileges afterward.

Release Comparison

Currently the dev release is recommended for both 6.x and 7.x, since both are under heavy development, including API changes. The 6.x release has a partial upgrade path from earlier versions of 6.x; the 7.x release does not yet have an upgrade path.

The 6.x release is currently being used on many production sites, despite being under development. The 7.x release is more powerful, since it relies on the Drupal 7 entity concept for exporting nodes, users, taxonomy terms, etc., rather than using specific modules for each kind of Drupal object, but is not yet ready for production use. The 5.x release is no longer supported.

Reporting Issues

Before posting issues to the Salesforce Suite queue, follow the debugging steps listed in the module's README.txt. Many issues are caused by the WSDL caching performed by PHP's SOAP extension, which can be disabled in php.ini.

Looking for support? Visit the Drupal.org forums, or join #drupal-support in IRC.