With more than 150,000 customers, including almost all of the Fortune 500, Salesforce does business at a scale that requires a rare depth of operations expertise. Each time a Salesforce user updates a customer record, creates a marketing automation, or applies machine learning to their data, thousands of services come together to provide a seamless user experience. At such scale, there’s more to Salesforce than just the platform that users interact with each day. Behind the scenes, there are entire projects dedicated to ensuring that internal Salesforce teams, as well as customer developers and end users, have the best possible experience. Throughout Salesforce’s business, Heroku acts as a vital linchpin in the company’s ability to process data, meet demand, and enable growth.
Since 2016, Heroku has helped revolutionize the efficacy and efficiency of Go For Growth, Salesforce’s annual go-to-market planning process.
Consolidating multiple data sources for growth
Mobilizing a global sales organization requires data, and lots of it. Not only does the world outside change from one fiscal year to the next — regional economies grow or shrink, new companies appear, technology trends enter and leave the mainstream — but a company’s understanding of, and response to, the market evolves.
For Salesforce, planning the coming year’s go-to-market strategy starts with collating data from multiple sources, with the goal of allocating salespeople and resources to the territories and verticals where they’ll have the greatest impact. Before using Heroku, this was a largely manual task that took weeks of data consolidation and cleanup. Today, the process is almost instantaneous. So, how has Heroku enabled such a drastic improvement?
With Heroku, data preparation now takes minutes, not weeks
Millions of rows of data, enormous spreadsheets, unending manual validations, and ample opportunity for human errors — that’s what the Go for Growth team had to work with before introducing Heroku into their process. If that sounds unwieldy, then the process that delivered it was far from straightforward.
Each time they planned the new fiscal year’s go-to-market strategy, the team faced an onslaught. Drawn from multiple Salesforce orgs, the company’s data warehouses, and its Workday resource management system, the data wasn’t just voluminous, it was also inconsistently labelled and modeled. For years, the job of making sense of those data sources took weeks of work.
As time went on, finding a solution to three key problems became essential. First, there was massive data growth. The sales organization alone has grown by almost 400% in the four years since 2016. Next was the challenge of bringing together data from a series of unrelated tools, meaning that, in many cases, the only way to extract and load data was by hand. And, perhaps unsurprisingly, that led directly to the third issue: human error. The manual data sifting and fixing process introduced hundreds of errors, which then took weeks to find and fix.
Just as there were three main problems, the Go For Growth team identified three goals for their solution:
- Create a single source of truth for all data.
- Enable quick, easy, and accurate querying of the full data set.
- Deliver actionable intelligence that informs the coming year’s go-to-market plan.
Single source of truth in Heroku Postgres
Creating a single source of truth meant finding an automated way to combine the disparate data sources into a single Salesforce org that the team could use for their go-to-market planning.
Their first step was to use Mulesoft as an ETL (Extract, Transform, Load) tool. Out of the box, Mulesoft can connect to multiple common data sources and transform the data into a format readable by other tools. In this case, Mulesoft took the data from all those sources and pushed it into the Go For Growth planning org. This provided the single source of truth that the team needed, but making it possible to query that data would require building and running apps on Heroku.
Using Mulesoft and Heroku Connect together has enabled us to untangle a mess of different data sources. Now, we funnel all data into a single database environment in Heroku Postgres that we can query and easily sync with Salesforce orgs. Ira Kaufman, Manager for Tools, Innovation, and Data Quality, Salesforce
Using Heroku to query Salesforce data
While Mulesoft simplifies data integration, it is Heroku Connect that unlocks the value within the data. Heroku Connect offers bidirectional synchronization between both the Salesforce production and planning orgs and Heroku Postgres. Using Heroku Postgres meant they could perform complex data processing, transformations, and validations utilizing SQL queries. Not only did that make it easier to draw insights from the data, but it also did away with the timeouts and human error that plagued the enormous spreadsheet that it had replaced.
Heroku Connect also delivers another benefit when it comes to sharing data across the team. Often, sharing the results of a database query requires either a full analytics platform or costly custom code. As Heroku Connect syncs the Go For Growth data with Heroku Postgres, the team can now share data insights without any overhead by using Heroku Dataclips. Dataclips provide a publicly accessible URL that links straight to a predefined query’s results, with optional JSON/CSV downloads and integration with Google Sheets.
Heroku’s data services have been essential to making our annual go-to-market planning efficient. Heroku Postgres and Heroku Dataclips enable us to easily extract rich insights from our data and share it across the team. Ira Kaufman, Manager for Tools, Innovation, and Data Quality, Salesforce
Faster, more accurate data transformation
Using Heroku in this way has led to significant time savings, equivalent to more than six weeks of employee time.
The initial process of transforming multiple data sources into a single spreadsheet used to take three weeks. As a largely manual process, that transformation was highly error prone, meaning that it took just as long again to find and correct each mistake.
Today, with their new Heroku-based process, data transformation takes just four days. It’s not just about the speed of transformation, though. With Heroku Connect and Heroku Data Services, the automated transformation is accurate every time. In total, today’s Heroku-based process saves the Salesforce go-to-market team more than five weeks. Instead of spending weeks cleaning data, the Salesforce sales team is now productive right at the beginning of the fiscal year.
Before Heroku, our manual data management process was time consuming and error prone. With Heroku at the heart of our new process, our team can focus on creating the right plan from data they know to be good, rather than hunting down data problems. Kiran Guntur, Director of Territory Operations, Salesforce
Heroku at the heart of Salesforce
Go For Growth is just one of the ways in which Heroku has empowered teams working behind the scenes at Salesforce.
For example, Trailhead is the web-based educational environment through which developers, admins, and users learn the Salesforce platform. Today, Trailhead serves thousands of learners across the world. Thanks to running on the Heroku platform, Trailhead continues to deliver learning even in the face of enormous spikes in demand.
There's also the Salesforce Philanthropy Cloud, a platform for helping companies to build employee-led CSR programs. Philanthropy Cloud uses Heroku Kafka and Heroku Postgres to tie together a series of microservices running on Heroku Private Dynos.
Time and again the Salesforce team turns to Heroku as a way to deliver more value, more quickly, thanks to its low-ops approach, resilience in the face of huge scaling demands, and straightforward synchronization with the Salesforce platform.
Listen to the Code[ish] podcast featuring Evan Grim: Designing a Better 2FA Mobile App.
Inside Salesforce on Heroku
The Salesforce Go For Growth project uses Mulesoft for data integration, Heroku Connect to synchronize data between Heroku Postgres and Salesforce orgs, and Heroku Dataclips to share insights amongst team members.