WordPress to Salesforce sync for a performing-arts foundation
Keeping records in sync via Salesforce's API proved challenging but satisfying.
I helped Studio Simpatico deliver a system to keep data in sync between WordPress and Salesforce for a performing-arts foundation. Studio Simpatico was handling the design and build and needed someone on the team who knew their way around Salesforce API calls, so I was brought in to link up the backend API and keep their WordPress listings accurate.
What I did:
After the changes had been made, the foundation pushed changes on Salesforce alone, and the sync script pulled updates into WordPress. The biggest gain for the foundation was no longer needing to update records twice.
The hard part of an integration like this is figuring out who owns each piece of data. Salesforce was the source of truth for the synced event fields; WordPress kept ownership of its own metadata around them. The source of truth is vital, without it you're left guessing as to if data is stale, or if an overwrite has happened, necessitating a review of the audit trail.
To prevent data within the listings becoming unsynced I disabled editing on specific fields to prevent accidental overwrite. The Advanced Custom Fields integration used to add these fields let me do that with ease.
Two further moves shored up the contract. The duplicate-cleanup logic - hashed-data comparison before any record reaches the live site - meant communication delays couldn't cause twin records to drift into the catalogue. And a second scheduled task fires after each Salesforce sync to force WordPress to re-derive its filter cache, so the front-end always sees the freshest version of the truth.
Myself, the agency and the foundation agreed that we'd run the system for a few weeks to monitor behaviour before signing off.
I would occasionally have to log in to WordPress, or run diagnostics against Salesforce event logs we'd gathered to debug a sync issue, but it was always minor, and resolved itself on the next sync refresh.
The site continued to run smoothly over the following months, and has been operational ever since, serving fresh data from the Salesforce pipeline without issue.
The brief from Studio Simpatico was clear and detailed, and I collaborated directly with the client to work through edge cases during testing. Clear communication between all parties involved meant that not only was the functionality implemented on time and to spec, but I was also able to accommodate any minor alterations during the build that arose due to requirements relating to the display of specific fields within the layout.
I also helped debug an issue with the listing plugin itself where listings weren't showing - turned out to be a cache problem, a very common issue!
All case studiesGot an API integration that needs to stay legible months later? That is the kind of work I love.
Misbehaving stack? Codebase that won't play fair?