Reliable DevOps helps Intercom achieve its goals
Intercom, the world's first conversational relationship platform, began using Salesforce a couple of years after launching, and adopted Gearset in 2020.
To find out about Intercom's DevOps process for Salesforce, we caught up with Dan Pietersen, a software engineer on the Business Systems team. Intercom makes good use of the ability to customize Salesforce, as Dan explains: 'Salesforce has had to grow with us and we've had to adapt it in many ways.'
Dan's team is responsible for Intercom's entire Salesforce instance and is made up of around 10 team members - a mix of business systems analysts (admins), business systems engineers (devs) and their managers.
Inadequate tooling led to inconsistent processes
Right from the get-go, the Business Systems team opted for an agile release process for their Salesforce deployment pipeline. 'We adopted the philosophy that the rest of Intercom uses,' Dan explains. 'We continuously ship. We don't do biweekly or monthly release cycles. We don't have a release manager per se.'
But the team had a problem:
"Before Gearset it was very haphazard. We used a competitor tool that would break in unexpected ways or just not pick up on our changes, so people would sometimes jump over to change sets. That meant the paper trail was split between two systems. But we couldn't just tell everyone to use the tool when it was breaking continuously."
When deployments worked, the release process was okay. But for Dan and his team, the situation was fast becoming unsustainable. 'The biggest pain point was definitely reliability. When the tool broke, deployments took several days.' This unreliability was blocking progress, and Dan's team were planning to deliver two important projects: CPQ and Interconnected, Intercom's community forum hosted on Salesforce communities.
"In order to deliver big projects like CPQ and Interconnected, we needed a pipeline that was reliable, so we could focus on getting those projects done and properly tested."
The search for a better solution
Dan was the driving force behind the search for a better Salesforce deployment tool. Once he spoke up about the issues he was facing with the old tool, colleagues kept contacting him about the problems they too were experiencing. It was time to move on.
Although one of the Salesforce engineers had previous experience of Gearset and recommended it as a reliable DevOps solution, Dan and his team evaluated several options to make sure they found the solution that ticked every box.
"We wanted to make sure we didn't cater to developers over the admins. Everyone needs to be able to use the tool - it should be user-friendly for everyone. And GitHub integration was a deal-breaker. That was probably the top requirement because we were going to set up source control."
For Dan, a few things stood out about Gearset: its modern UI, the problem analyzers that solve common deployment problems, and Gearset's change log showing daily updates and improvements to the app. This looked like the answer to the team's problems.
"If we can focus on building and shipping features and helping our teams - that's why we exist, that's our goal. Anything that works against that goal causes frustration and pain. And anything that works with us just causes delight and happiness. Sounds cheesy, but it's true!"
GitHub was already used extensively throughout Intercom, and so the Business Systems team decided to adopt GitHub alongside Gearset in order to build a Git-based development workflow. Getting started was straightforward. 'We've heard of competitors where the ramp up is 6 months. With Gearset, it only took a week or two to set everything up, and about a month to get really comfortable with it.'
Firing on all cylinders with Gearset and GitHub
Today, Intercom's Salesforce DevOps process runs smoothly. The Business Systems team ships at least 3-4 times a day, a cadence that was previously interrupted whenever their old tool broke.
They have two Git branches, 'full' and 'main' - corresponding to their full sandbox and production org. Admins and developers develop in their own sandboxes, deploy to branches off 'full' and open a pull request (PR) to be reviewed and merged. Creating that PR triggers a validate-only CI job in Gearset, which runs tests against the full sandbox. Merging the PR kicks off another CI job to deploy the changes. Once changes have passed UAT in the full sandbox, changes are promoted from the 'full' branch to the 'main' branch, using the same PR review process - triggering CI jobs that test and then release changes to production.
For select metadata types, the Business Systems team allows changes to be made via the UI in production. They use CI jobs that run every 4 hours to deploy these simple changes back from production to their Git repo, keeping everything in sync.
Freed up to focus on projects not process
'We've definitely seen the benefits from switching over to Gearset,' says Dan.
"It has allowed us to focus on big projects. We're able to monitor them. We can reliably ensure that they stay up. We're not going to ship something that breaks them. CPQ is going out on schedule. We have a better sense of control and reliability."
One of the other benefits of a robust and reliable process is that the team now pays closer attention to their testing results.
"In the past we had situations where production had failing tests, staging had failing tests, and no one really knew what changed to cause it. Now we have a lot more security in our changes and we know that if tests are failing it's a serious thing we should fix. We have more confidence in the system!"
Intercom recommends Gearset for Salesforce DevOps
Gearset has allowed the Intercom team to realize the Salesforce DevOps process they set out to build. 'If you want to get your projects done in a time-efficient way, I'd definitely recommend Gearset,' says Dan.