Oct 5 2019
This article will cover exactly how sales operations experts can use automation to ensure constant, auto-refreshed CRM data to enable their sales teams. Data hygiene is an essential issue for sales operations professionals. For example, 20-25% of the average contact database decays year-over-year as prospects change their addresses, email addresses, and jobs. However, bad data doesn’t correct itself. For most sales operations teams, bad data sits within your CRM and other tools until you can manually update it. Meanwhile, not having an up-to-date sales database cuts into sales productivity as sales teams chase dead ends, making your metrics and forecasts less accurate while jeopardizing your sales pipeline. Some estimates suggest that bad data costs the US economy $3 trillion every year.
This post will outline three automated workflows, each built to tackle a unique aspect of data cleaning. To create them, we used a General Automation Platform (GAP). A GAP is a new class of software that lets business users in any role, including sales operations, integrate their entire tech stack. GAPs also empower their users to automate dynamic processes that will scale with the growth of your data. Best of all, GAPs let you create powerful, flexible automated workflows in a completely visual, clicks-or-code environment that doesn’t require any dev lift.
Typically, automated batch jobs like these require developer resources, which are hard to come by and often require you to wait (and wait, and wait) for them to come around. Otherwise, to get the data hygiene you need, you’re looking at hours of manual data cleaning. As your sales database grows, the amount of bad data you have - and need to correct manually - will grow with it.
The cost of bad data to the average business. Image courtesy IBM
To ensure proper data hygiene, you need a mix of on-demand and recurring solutions to identify and update inaccurate data. While we won’t cover every possible application of data cleaning automation, we’ll focus on three solutions that the team at Tray.io uses to maintain our revenue machine:
Workflow #1: Purge dummy records from your CRM on demand
Using this workflow, we can regularly purge records that sales teams can classify as having no business value, such as internal emails or test data.
Workflow #2: Automated record reassignment from inactive owners
Here, we automate our CRM (Salesforce) to generate a list of accounts that are currently owned by ‘inactive’ users. Then, our workflow transfers these accounts to an account routing workflow, which round-robins accounts among our active sales roster.
Workflow #3: Reconcile opportunity record types
Our final workflow updates opportunity types in batches - specifically, by updating new field values to reflect data in existing fields whenever we introduce new fields or records - by pulling the relevant data from our CRM and updates each record accordingly.
Although “testing” in your production environment isn’t best practice, try telling that to my marketing team when they’re testing their marketing campaigns or engineering team when they’re creating users to test some sync with the product. Whether it’s folks internally or leads from a competitor: you need a quick and easy way to ensure sales isn’t wasting their time with manual removal.
Luckily, you can use a GAP to purge these records instantly and in bulk. I like to schedule this job at the end of the week and give those teams testing with some parameters to input to help my workflows catch their testing. Here’s what that looks like:
Identifying dummy leads and batch deleting them
Scheduled trigger - In this workflow, we opted for a scheduled trigger, meaning that it runs at a predetermined time. Depending on your needs, you could use a manual trigger (to run this process on demand), a webhook trigger, or any number of other conditions. We decided to purge the systems on Friday nights to give users the entire week to test.
Salesforce connector and boolean - Here, our Salesforce connector initiates a “find records” operation, which lets us identify all records that contain “test” in our lead’s last name, or our own company domain in the lead’s email. We can expand our criteria as we test.
Batch delete leads - Once we have found at least one dummy record in our previous search, we use additional logic to format and parse our list. Then, we delete all applicable records in Salesforce in bulk. Within moments, we’ve auto-purged all dummy lead records from our CRM so that our sales team can focus on real leads that have a chance of becoming active opportunities.
Between promotions, turnover, and transfers, sales teams are constantly evolving. The fluid nature of the profession can make it especially hard to maintain reliable records when account owners change hands. Instead of manual routing and handoffs, we can use automation to transfer ‘ownerless’ accounts to active users seamlessly.
Pulling inactive accounts and routing them to new owners
Scheduled trigger - As before, we have this workflow set on a scheduled trigger to perform regular, periodic maintenance on a predetermined schedule. Again, if needed, we can use a different type of trigger to run this process on demand or in response to another trigger action.
Get inactive accounts - Here, we call on our CRM to provide us with a list of accounts that have no active sales owner associated with them.
Loop and route accounts - We then separate our accounts into a list. Our loop helper iteratively checks individual accounts one-by-one to see which accounts have no current sales owner. We then send the records to a separate lead routing workflow using a callable trigger. That separate workflow fairly distributes these accounts among our active sales roster. (Learn more about how to automate lead routing in this blog.)
Callable Workflow - The “Route accounts” step calls our separate routing workflow, which runs our company-wide account routing logic. We use the same logic for uploading new lead lists. (Learn more about how to automate lead list uploads in this blog.) By building out this workflow, we eliminate the guesswork and delays when account ownership isn’t clear. More importantly, we can also rapidly triage any accounts without clear owners into the hands of sales team members who have the bandwidth to manage them. It’s a much better process than letting valuable accounts die on the vine just because they were missing an active account owner!
One key element of data hygiene in your CRM is consistency. Sales processes, including how you manage your sales data, must constantly evolve as your company continues to grow. One of many important data management tasks that sales operations professionals need to consider is mapping old data values to new ones whenever you introduce a new process, field, or field value into your CRM or other data source. The process can be tedious, especially when you need to clean up a huge database that requires hours of manual work. And of course, you could be spending those hours on more-strategic tasks such as forecasting, territory planning, or enablement.
I’ve been able to use the Tray Platform to make this process significantly easier. Many times I’ve thought, “I just need to do this data map once, so I’ll just manually manipulate Excel and load the data into Salesforce using Data Loader or Workbench.”
With that approach, I’ve come across scenarios where my singular manual manipulation has turned into many iterations of manual manipulations.
To make a long story short, I’ve been able to use an automated workflow to periodically reconcile data between existing fields and records and newly-created fields and field values.
Identifying and reconciling records to a prespecified type
Schedule trigger - We also have this workflow set to kick off on a predetermined schedule.
Get opportunities - Here, we pull up all opportunities in our CRM of a certain type. In this case, we’re looking for pulling all enterprise opportunities, although we could easily customize the process to target virtually any record or type.
Loop and reconcile opportunity type - Once we gather our enterprise opportunities, we parse our new list and update each opportunity’s record type. Even though this workflow looks deceptively simple, it gives me the ability to skip the manual busywork any time we need to update data to accommodate changes to our fields due to new definitions, account structure updates, or any other major changes. It has saved me hours of work (and probably some of my sanity as well!)
Hopefully you have a better idea of how sales operations teams can achieve greater data hygiene with automation. Now that we have these scheduled workflows in place, we never have to deal with dummy leads, ownerless accounts, or manually reconciling new fields with existing ones. Since I can use automation to take care of time-consuming admin work, I can focus on more-strategic projects. Automation reduces the resource burden that these processes require while allowing you to reap the benefits of a clean and reliable dataset - all without the use of any developer resources.
With better data hygiene, your sales team will spend significantly less time searching for and editing out-of-date or poorly formatted data. Additionally, your operations and analytics teams will have a more-accurate record to forecast and generate insight.
Interested in seeing some of the other ways that a General Automation Platform can improve on existing sales operations processes? Check out our next group demo, held every week.