Program Management Tips & Tricks

Automating Global Sales Reporting

Eliminate tedious toil work by using the SFDC & Gmail APIs

Dan Pham

--

❤️ Ethics Note: The act of automating 1-to-many communications via Gmail is not designed to “replace” humans but to enable re-deploying staff to higher value, strategic activities, instead of repetitive tasks.

☀️ Purpose

This document is designed to teach prospective learners an approach to automate customized email notifications to different Sales teams using Gmail and Salesforce. Conservatively, this saves sales managers, marketing managers, product managers, and/or program managers 2–3 hours of manual data collection and note-taking every week. On some teams, this solution entirely replaces the need for a dedicated resource and significantly reduces the length of large staff meetings.

⭐ User Stories

  • Sales Manager/Marketing Lead: I want to see the status of my Campaigns and Pipeline this week, without having to ask each Sales Rep for an update 1:1, so that we can quickly identify owners of blocking tasks and resolve them quickly after the standup. Stand-ups and note-taking are often toil work that we sometimes fail to do consistently.
  • Product Director/Group Program Manager: I want to see the status of my group’s marketing funnel and sales growth every week, without a costly meeting, so that I can quickly identify blocking tasks and resolve them. Sales Reviews are instead replaced by “Kanban/Scrum” style standups based on data.

🐌 Status Quo

Salesforce Reporting is available in native Salesforce functionality; however, it’s often that as a company grows, management, visibility, and communications move to Slack, Slides, or Email and people spend less time looking at Salesforce Reporting. By moving status reporting to common messaging tools, enriched with high-fidelity business context & newsletter presentations, this facilitates more transparency, conversations, timely escalations, and time savings that can be realized by program stakeholders.

⭐ Approach

In order to meet the user stories’ requirement, for automating sales manager and marketing toil work, we identified 3 distinct workstreams that get repeated by humans every week, month, or quarter:

1 Data Collection: We needed to connect Salesforce Lead and Pipeline data from multiple places and store them in a single place. We also need to obtain the list of Email Addresses for our teams and Lead Owners, so that we can put their emails in the Gmail To: field, thereby bypassing Gmail filters.

2Value Creation: Once the data was gathered, we then transform and write business logic on how our tool will use the data.

Protip: 🌟 🌟🌟 If you use a design agency to create Branded Newsletter templates, or 3P vendors like Marketo/Mailchimp, you can replicate your HTML emails in-code, passing variables into the template similar to common templating frameworks like Django.

3 Implementation: Once the business logic and code is written, we can set it to run on a schedule, iterating on our business logic as we learn more about the process when workflow gets stale, or if the team’s needs change.

🧠 Architecture Diagram

Below is a diagram of Phase 1, 2, and 3. We built this using a serverless “no code” solution. “No code” software is meant to be fast and iterative. For example, the entire workflow below can be created in less than 1 week, which allowed us to deliver customer value quickly and get user feedback immediately.

Diagram of Phases 1,2,3 resulting in an automated way to send 1-to-many communications via Gmail

⚙️Details & Docs

In the original version of this, I had included a lot more documentation, but it doesn’t look good in Medium :) If anyone is trying to dig into the weeds on this, I’ve moved it to This Google Doc:

What did you think?

Hope this was helpful or educational! Sales Reporting is just one of the many program manager processes you can automate with data. Let me know if you know of other use-cases that this can be applied to, as I’m always thinking of new & interesting use-cases :)

Dan Pham is a Staff Technical Program Manager at Slack, San Francisco, California, USA. Are you a Technical Program Manager and want to learn more about program management automation? We’re hiring in San Francisco! ❤️ Come join us :)

--

--