minnpost/object-sync-for-salesforce

WordPress plugin that implements mapping and syncing between Salesforce objects and WordPress objects


README

PHPCS Inspections Code Climate Scrutinizer Code Quality

Object Sync for Salesforce is a WordPress plugin that maps and syncs data between Salesforce objects and WordPress content types. It originated as a WordPress fork of the Drupal Salesforce Suite (version 7.x-3.x-dev), though it has evolved since then.

Getting started

For any supported WordPress content types (e.g. post, page, user, or any supported custom content type in your installation), you can assign Salesforce objects that will be created / updated / deleted when the data in WordPress is saved, and the WordPress objects can be created / updated / deleted when the data in Salesforce is saved.

For each such combination of object and content type, choose which fields should be mapped to one another, creating a fieldmap. The plugin acts on matching data after it is installed.

This plugin also includes developer hooks that allow for additional plugins to modify what data the plugin is working with, or what happens upon specific events.

To get started, install Object Sync for Salesforce from the WordPress plugin repository and follow the setup instructions.

Requirements

  1. A PHP installation of at least version 5.6.20.
  2. A WordPress installation of at least version 5.2.
  3. SSL support.
  4. A Salesforce account. Developers can register for a free Developer Edition account at https://developer.salesforce.com/signup
  5. A remote application/connected Salesforce app for authorization.

We maintain extensive documentation of the plugin beyond its installation process as well, including its developer hooks. This documentation also exists in the plugin's docs folder when it is downloaded.

Troubleshooting

If you are having trouble setting up or configuring the plugin, we've provided answers to some common problems in our troubleshooting document. Expanding this document is also a great way to contribute to this plugin.

Getting support using this plugin

We make an effort to answer support requests in the WordPress plugin forum. If you have these requests, please put them in that forum only. Do not send them by email or by social media.

While MinnPost's nonprofit newsroom does welcome donations to support our work, this plugin does not have a paid version.

Use this repository for bugs, feature requests, and other additions and especially do that if you can help solve these things.

Extending this plugin

WordPress developers can use hooks in this plugin to extend its functionality. These are listed, with links to each hook's documentation, in the developer hooks documentation, and are frequently mentioned throughout the plugin's documentation.

We host a document intended to list plugins that use these hooks or otherwise extend this plugin, and we welcome additions.

Contribute to plugin development

If you'd like to suggest a feature, or if you think you've encountered a bug, you can create an issue on our GitHub repository. We actively add our own issues to the list, and comment on their progress.

We welcome contributions of code, documentation, or translations to this project from other developers. See our contributing guidelines.

Finding other sync options

This plugin can be relatively complicated, and sometimes other plugins can effectively integrate Salesforce and WordPress, especially if there are more limited, specific requirements. If one of these can meet those requirements, use it. We're happy to link to additional choices here, as well.

  • Object Data Sync for Salesforce is a fully supported and maintained plugin from another company that also synchronizes WordPress and Salesforce objects.
  • WordPress-to-Lead for Salesforce CRM can be installed through the Salesforce AppExchange. It allows you to run a contact form which users on your WordPress site can submit, and the results are added to Salesforce as a Lead object.
  • Brilliant Web-to-Lead for Salesforce can be installed through the WordPress plugin directory. This is rather similar to the first option, but is a bit more customizable. By customizable, you can select the fields in WordPress and theme it in your WordPress theme.
  • Gravity Forms Salesforce can be installed through the WordPress plugin directory. It is quite powerful, as it can send form submissions from your WordPress site to Salesforce as whatever object you need. It's important to mention that this works for any form created with the Gravity Forms plugin. It's also important to mention that this does not sync data back from Salesforce into Wordpress.
  • WP Fusion Lite can be installed through the WordPress plugin directory. This plugin is able to sync WordPress user records with contacts from different CRMs (including Salesforce) and manage content access based on tags it uses. This plugin also has a paid version that integrates with other WordPress plugins.
  • WooCommerce Salesforce Integration can be installed through the WordPress plugin directory. This plugin is able to create records in Saleforce when orders are placed through WooCommerce. This plugin also offers a premium version.
  • Third party integration apps such as Zapier are subscription-based, paid ways to integrate different systems, and they offer differing amounts of customizability. They will usually sync in both directions, so in this case from WordPress to Salesforce and vice versa. The only limitations of something like this are the cost over time, and the possible vulnerability of basing an integration on a third party that could, at some point, go away.
  • Visualforce If you are or have a Salesforce developer, you can build MVC based applications that integrate with Salesforce. It would be possible to build a system that uses, for example, the WordPress REST API to send and receive data to and from WordPress. This could be, in many ways, the flip side of what our plugin here does, but the complexity would be the same if the scope was the same.
  • Build other integrations in WordPress this plugin focuses on the Salesforce REST API, as it covers the integration needs we have. It also provides some support for the SOAP API, primarily to detect merges of Salesforce records. Salesforce also has other developer options: the Bulk API, and the Metadata API, the Analytics API, and likely more functionality that is only in SOAP. Developers could extend this plugin to integrate with one of these. We would welcome any pull requests!

Changelog

See our full changelog for information about all previous releases.

All versions of this plugin are listed in the releases.

Donating

If you'd like to support this project financially, MinnPost is a 501(c)(3) nonprofit news organization located in Minnesota. You can make a tax-deductible donation, and we'll attach it to our open source development work, at https://www.minnpost.com/support/?campaign=7010G0000012fXGQAY.