Maximize meeting attendance and minimize no-shows with data-driven automation
Table of Contents
Sales operations professionals tackle important challenges every day. Data governance. Strategic forecasting. And of course, enablement. If sales teams can’t go-to-market armed with the most accurate data and the best strategy, they book fewer meetings. Fewer meetings means fewer deals. In this article, we’ll learn how to maximize sales meetings by using automation to minimize no-shows and make smarter decisions by automatically recording meeting outcomes.
There are plenty of reasons why a hot lead might no-show a scheduled sales meeting: shifting priorities, conflicts, or just forgetting about the call. But a higher-than-average no-show rate - higher than about 20% for SaaS sales, for instance - might mean bigger issues with your strategy, including bad leads, misaligned targeting, and ineffective sales outreach. While it's tempting to lean on anecdotal evidence, you’re more likely to identify the root cause of no-shows by understanding the data behind them.
In this post, we’ll show you how to create an automated process for identifying and recording sales meeting no-shows in your CRM. You can then harness this data to uncover solutions that improve meeting attendance rates to help your sales team win more deals. To do this, we used a General Automation Platform (GAP), an easy-to-use, low-code platform that lets sales ops professionals integrate their sales stack and automate essential sales processes - like maximizing meetings, as we’ll cover here.
Here at Tray.io, we import sales call information into our CRM, Salesforce, from our conversation intelligence platform of choice, Gong.io. We can determine if a call took place by looking for a Gong Call and associating it to our event record. If we can’t confirm that a call happened, we’ll send our sales team a message that prompts them to specify that the call was a no-show, a phone/in-person meeting (which wouldn’t be recorded), or a cancelation.
Walkthrough: Identifying sales meeting no-shows
For this walkthrough, we’ve separated our workflow into three stages:
- Finding recent events with no associated conversation - First, we compile a list of new events in our CRM from the past 3 hours that have no associated conversation.
- Get contact and checking existing calls - Next, we find the contacts associated with these events and check to see if we can pull the conversation details from inside our CRM.
- Get opportunity and sending alerts - If we are unable to update the call details automatically, we send custom reminders to the account owner to update the call details or designate it as a no-show, a phone meeting, or an in-person meeting.
Stage 1: Finding recent events with no associated conversation
Finding events with no associated conversation from the past 3 hours
Scheduled trigger - To start, we use a scheduled trigger to run our workflow on a predetermined interval. In this case, we chose to check for no-shows over a three-hour period.
Get time 3 hours ago - We also need to find the start time to search for new events. Here, we use a time/date helper to find the time three hours ago.
Get matching events - Using the data gathered from our first two steps, we call on our CRM to get a list of matching events that both fit our timeline and don’t have an associated conversation. These are the events that we’ll want to process for identification later.
Count > 0? - Once we complete our search for matching events, we’ll use a simple Boolean (true/false) helper to determine if we have a non-zero amount of events. If we don’t, the workflow ends. But if we do, we’ll continue our process with a loop helper, which lets us apply the logic in the next two stages to each individual event.
Stage 2: Searching for contacts and checking for existing calls
Now that we have our list of events with no associated conversation, we’ll want to update the related contact. That process looks like this:
Filtering for contacts, then matching them with calls
Who ID = contact? - Here, we pull the Who ID from our previous CRM call to ensure that the ID is a contact. If we find a match, we again call on our CRM to check for contact info and any associated call info.
Call found? - Depending on the outcome of our CRM check, this Boolean routes our workflow to one of two outcomes:
- If we find a call on file, then we update our event with the call’s context and start the stage over with the next applicable event.
- If we don’t find a call, then we’ll need to reach out to the sales team to confirm if a call took place. Before we do that, we get the user ID of our contact to look for opportunities in our next stage.
Stage 3: Getting opportunity and sending alerts
We can break up the final stage of our workflow into two pieces: Filtering for opportunities and sending alerts. We want to do this since we’re only tracking sales meetings, not meetings with customers. Let’s first take a look at how we filter for opportunities:
Filtering for opportunities, then getting info
What ID found? - This boolean confirms that we’ve found an associated “What ID,” which represents opportunities and accounts in our CRM, Salesforce. We’ll need this to ensure that we’re only processing sales meetings and not customer meetings.
What ID = opportunity? - Assuming our “What ID” matches an opportunity, we then get info about the opportunity, which we’ll use to send our messages to the sales team.
Sending alerts to channel and direct message
Once we’ve determined that no call context exists in our CRM, we’ll want to notify the account owner as well as the broader sales team to identify if it was a no-show. To do this, we use our Slack connector to format and send two messages, which both look like this:
No show alert in Slack
Since our sales team is busy and can easily miss alerts like these, we want to send two messages: one as a direct message, to which the account owner can respond directly, and another to our main sales channel, which helps ensure account owners are updating these records. These messages will help us build a more accurate dataset for future analysis.
Both messages let you choose from a number of scenarios where a call recording might not exist. These include things like phone meetings, in-person meetings, rescheduled calls, and of course, no-shows. Regardless of where the account owner presses the button, both messages will update to reflect the new event status and trigger additional logic to update the record in our CRM.
The automated workflows we’ve discussed here help sales organizations today by automatically identifying and recording meeting no-shows. By auto-tracking no-shows, sales teams can maintain a clean and up-to-date sales database with details on every account, including those prospects who agreed to a call but never made it.
Auto-tracking no-shows can also help sales orgs tomorrow by helping isolate potential issues in the sales cycle. Have no-shows increased after the team implemented a new piece of software or a new sales qualification process? Tracking no-shows gives your sales team crucial intel on changes that may be affecting your sales cycles, and can act as an early-warning system to help you address such problems early on.
Additionally, this workflow can be expanded to automatically route certain no-shows into custom follow-up sequences in your sales engagement platform, ensuring that your sales team is minimizing the amount of lost opportunities from missed meetings. Armed with these data-driven insights and tactics, sales organizations are in a better position to pivot away from factors that lead to no-shows and maximize successful sales meetings.
Informing better business decisions with automation
Now you’ve learned how to design an automated process for identifying sales meeting no-shows in your CRM. With general automation, your team can use data hygiene best practices to fuel smarter, data-driven decisions across your organization. Check out the following blogs for more inspiration, and while you’re at it sign up for our next weekly group demo: