In 2009 FuseIT developed S4S, our Sitecore to Salesforce connector. The team brief was to create an enterprise connector that would:
- follow best security practices
- process high volumes of data
- deal with custom objects and fields in Salesforce
- be easy to use
- provide features businesses wanted
Today, around 50 customers, including several Fortune 500 companies, are using S4S as an integral and essential part of their business. While they receive the many benefits of integrating two of the world’s best software systems, as with the development of any software product, we’ve had some fun and frights along the way!
Thinking back to our first customer; after using S4S for several months, they started to exceed the API count that Salesforce imposes on all inbound calls to its web services. If exceeded, Salesforce closes the API for 24 hours – with no warning. We’d foreseen this possibility and built-in caching, “bulkification” and session keep-alive features to circumvent it but clearly, these were being severely tested. With the benefit of real-world experience, we were able to quickly streamline the product and deploy a new release to resolve the problem.
In 2010, our second customer complained their Sitecore website was periodically going down and could not understand why. After examining their log files, we realized they had deployed the connector in such a way, that when Salesforce went offline, S4S took the site down. Again, and not without some consternation, we were able to quickly improve the connector so this could not happen again, and they are a happy customer to this day.
In the following year, we developed an S4S module to support Sitecore ECM (later EXM). This module became the bane of our existence and consumed countless hours of effort over many years. The challenges were numerous:
- Keeping up with the many Sitecore release changes. Often both Sitecore kernel and ECM changes often required us to publish a new S4S ECM module release
- Creating complex features like
- support for email recipients who use several web browsers
- processing opt-outs at both individual campaign level and global level
- translating Salesforce email templates to Sitecore templates
- Mapping objects to the radically different schemas of Sitecore and Salesforce
- Processing large recipient lists (over 300,000) from Salesforce
By 2015 we had learned more about ECM than we ever wanted to know so when Sitecore released Sitecore EXM, we retired the S4S ECM module and wrote an entirely new S4S EXM module that reduced our touch points with Sitecore functionality to a bare minimum – this mitigated the impact of frequent Sitecore updates.
Our next two challenges came from Salesforce. First, they declared they were changing their web services endpoint from “salesforce.com” to “login.salesforce.com”. This change had a global impact on S4S use and required us to contact all our customers and have them modify their S4S implementations so they pointed to the new endpoint.
In 2016 Salesforce upgraded their web services endpoint security from TLS 1.0 to TLS 2.0 and again we had to contact each customer to walk them through a series of changes based on what operating systems and versions of S4S they were using.
Over the years we have added many S4S features, always based on customer feedback of some sort. Our tribulations have given us a wealth of knowledge and experience around things like API limits, the quirks of different Salesforce editions, maximizing API throughput, and data transaction options using a variety of caching and synching schemes.
Business customers who purchase our connector directly benefit from this experience through our comprehensive support from much the same team who built the connector in 2009. To learn more about how S4S can add value to your business please contact us for more information.