In part 1 of our Effortless Field Service post, we spent some time explaining how…
As customers make the move to Salesforce Field Service, the initial focus tends to be on the meat and potatoes of field service – creating work orders, managing the assignments and routing of those work orders and appointments, and then making sure the technician is able to do everything they need to do once they are onsite. Especially when customers are coming off of manual processes or older systems, this is definitely enough to work on for the initial go-live, so there’s not a lot of desire to add even more to it. While we’re doing the requirements gathering for Field Service, we hear a common theme over and over – the communication back and forth that is needed to manage a day’s worth of appointments is tough. Whether that is letting the customer know that their technician/driver is on the way, or the more ad hoc communications that go to those drivers and technicians from the dispatching/operations team, the process tends to be extremely manual – if even done at all. We’ve spent a lot of time recently focused on how to handle this easily with Salesforce and we’re already finding some great success in layering a messaging platform on top of Field Service.
First, let’s start with why this is important. Dispatching a truck – a truck roll – is not a cheap event. The Technology Service Industry Association reports that when you combine the costs of a truck roll including direct costs like labor, gas, truck maintenance, etc. and the indirect costs of having a technician that could be at another revenue-generating appointment, it can run up to $1,000 per truck roll. Even if you just look at the pure direct costs, you’re talking up to $500 per service appointment in costs. Where this compounds is when you need to schedule a second truck roll from the same work. Companies vary here, but companies can have upwards of 10% of their appointments requiring an unplanned second appointment due to issues with the first appointment. Now obviously some of those issues that cause the second visit are unavoidable, but there is a high percentage that could have been avoided just by communicating with the customer or the technician – things as simple as the customer being home to let the technician in, or keeping their big dog locked in the house so the driver can get into the backyard, or communicating late cancellations / re-schedules to the technician as well as the customer. Outside of the pure cost savings of reducing the number of second truck rolls, there are customer satisfaction improvements in having a proactive communication flow with your customers. Instead of giving them the dreaded 4-hour service window, more timely updates and communications around their appointment make the process easier and more satisfying for the customer. Finally, for the technicians themselves, the ability to easily update them on conditions and changes as their appointments get updated throughout the day is a huge time saver for both the operations team and the technicians themselves.
There are many messaging platforms out there, but the key to making this easy and useful is to have the when, who, what, and how of the messages contained within Salesforce – where your contacts, users, work orders, and service appointments are housed. Simply put, we leverage the messaging platform to enable the message – send a text, email, or voice recording – while leaving the content of the messages, the timing of the messages and the “who” should receive the messages within Salesforce. Omni Alerts comes with pre-built hooks into popular messaging platforms like Salesforce Marketing Cloud (for SMS and Email), Salesforce Digital Engagement (SMS only) and Vonage’s Nexmo which supports SMS and Voice. It’s also pretty straight forward to add new tools, especially on the email side.
These hooks can be called easily from within Process Builder, Flow, or Apex. In addition, if you have a lot of complexity around the conditions of your rules or just a lot of different types of rules, we have an advanced option to give you the power of a full business rules engine within Salesforce leveraging our BREeze app. The choice of how to build these out is up to you and we have the functionality to support very simple use cases and up to the most complex situations with hundreds of different notification types being sent.
The hooks themselves are easy to setup. Omni Alerts has an object for Messaging templates that allow you to maintain the messages that can be sent. Regardless of the channel you are sending the message notification with, there are three types of messages that Omni Alerts supports:
- Scheduled Messages – Bulk scheduled messages are typically used for reminders to customers and can play a big role in reducing the number of truck rolls. A classic use case here is sending a reminder the morning before to every customer with a service appointment the next day. Essentially all you need to do is set the time you want this to send, determine the segment that should receive the message, and then have it sent across the channels you support. The benefit here is twofold. First, this simply reminds the customer that they have an appointment coming up and gives them information regarding any tasks they need to perform prior to the appointment to make the appointment quicker (like putting the dog inside). By the way, don’t under-estimate the instructions – especially now with COVID, it could protect your technicians by making sure the customer is masked up – any time saved by having the customer ready for your technician adds up quickly throughout the day. There is nothing worse than having your technician need to wait for 5 minutes while the customer gets their house ready for them. Second, if the message makes the customer realize that the scheduled time is no longer an option for them, it prompts them to reach out and re-schedule prior to the truck rolling. Due to this, you want to make sure you send these notifications with enough of a window to allow you to re-schedule and ideally, you can also fill in that slot with another appointment. You also want to make sure the customer can reach you to re-schedule – so you’ll want to send your messages while your operations team is still available to re-schedule. There’s also the opportunity to allow for the customer to self-service their reschedule or cancellation which we’ll talk about below.
- Triggered Messages – Triggered messages are one-off messages that are driven by an event. Some of these are simple events in Salesforce like a field change on a work order or service appointment – for example, a status change of an appointment moving to canceled sends an automatic notification to the customer to notify them of the cancellation. They could also be triggered by the creation of a record – you can send out a message as soon as a service appointment is created for example. Other events could be more complex. What if you wanted to send a notification to the customer when the service appointment before theirs was completed to let them know they were next and the driver was on the way? The logic to do this is more complex, but Gears OmniAlerts has that built-in. Finally, what if you wanted to trigger your messages based on time or proximity? Maybe send the alert as the driver is within 30 minutes of their next appointment? All of these are terrific use cases that Gears OmniAlerts has pre-built ways to handle. And, as with anything built on Salesforce, if your desired functionality is not pre-built, we can help you to create the logic leveraging the Salesforce platform.
- Ad Hoc Messages – Anyone that manages operations and schedules for a field team knows that no day goes perfectly. Inclement weather, traffic jams, road closures, truck breakdowns, or just super talkative customers that insist on your technician eating their homemade cookies can all cause delays and maybe even re-schedules for your day’s appointments. As this happens, you need to communicate these changes both to your customer and to your technicians. Sometimes the needs are based on new information – like a customer calling to let you know the combo to their fence lock – which you need to get to your technician immediately. Field Service has pre-built functionality for the technician to send a message to the customer with their mobile app, but what about the operations/dispatch team? They are essentially mission control for the day and are usually the ones coordinating these communications as the day evolves. Gears OmniAlerts enables this functionality and to make it easier, we provide a Lightning component right within the Service Appointment window to send an ad-hoc notification. This will allow the operations team to quickly send out a message to either the customer or the technician.
For all of these message types, Gears OmniAlerts will save the message sent within a Log object which will be linked to the service appointment or work order it was sent from as well as the Contact it was sent to. You’ll be able to view the message history related to a Contact or a service appointment by looking at the record itself or see all messages that were sent by reporting on the Log object. Now, let’s talk about what happens when someone responds to one of these messages.
Even if you tell a customer not to respond to this email or text or recording, they are going to respond. There’s really no stopping it, so you need to be prepared to receive these responses and maybe even turn them to your advantage by leveraging self-service. If you’re using email for your messaging, your email automation tool will automatically handle any responses that happen, so we’re going to focus more on SMS and voice here. Let’s start with just basic responses – you send an SMS to your customer and they send one right back. Gears OmniAlerts has pre-built functionality that will take that response and associate it back to the original message they are replying to. This sounds easy, but remember, SMS isn’t threaded like emails so an SMS coming back to you doesn’t come with an identifier saying “this is in response to SMS message ID 24567”. We do some logic mapping based on recent messages we sent in order to get this, but we will associate that response to the Contact and service appointment it’s related to. Once it’s associated, what you do with it is up to you. Gears OmniAlerts has a Lightning component where you can see the message log history for the Service Appointment, or you can view all inbound responses in one place by viewing the Log views or reports. In addition, you can send alerts internally to your operations team when a response comes in. Overall, you want to make sure you’re reviewing each response in case it impacts the appointment.
What about adding in some self-service? Gears OmniAlerts itself doesn’t have any out of the box self-service, but the messaging platforms it is leveraging can easily be extended to add in bots functionality for SMS and Voice. You can build out a menu path for your customers to cancel an appointment or even re-schedule (although re-scheduling is trickier). On the technician side, this could be used to build out an accept/reject process for appointments to ensure the technician is taking the work – this is critical when you are working with 3rd party technicians. Anything the bot does will be sent back through Gears OmniAlerts so you’ll have the entire message history from the bot conversation as well as the ability to fire off any actions from what the bot handles – like canceling or accepting an appointment. Again, while this isn’t out of the box functionality, it’s something we can set up as part of the engagement to reduce the number of manual responses your team needs to manage.
Preference and opt-in management is key to any messaging platform and Gears OmniAlerts has the ability to use its own included preference functionality or leverage anything you already have built out in Salesforce. Especially if you’re offering a choice of channel options for the alerts, you’re going to need a channel preference on the Contact object. Your flows or rules that are sending the alerts will need to look at that to determine which channel to use prior to the send. All of your messages should include a way for the customer to opt-out of future notifications. This can be as simple as telling them to reply a certain way – like with “opt-out” – to the message. Gears OmniAlerts will look for those pre-canned responses and automatically opt the customer out. One thing to note, if you are using a short-code, there are more regulations and you’ll need to have various pre-canned responses to messages like opt-out, info, etc. All of these can be built out within Salesforce to action as responses come in.
Finally, let’s not forget about messaging compliance. Each country has its own laws around SMS messaging – especially if you’re leveraging a short-code for high volume messaging. We mentioned opt-out management above and that is typically a major component of the compliance requirements. Usually, you’ll need specific keywords set so when a customer sends that keyword, the system automatically opts them out or starts the opt-out dialogue. In addition, there might be other keyword needs. For instance, in Canada if you have a short-code you need a standardized response if someone texts “HELP” or “INFO” to your short-code. To address these needs we’ve created response templates that are triggered by a keyword. In the INFO example, you can create a response template that has the approved language required and map it to the INFO keyword. Then if someone replies to your number with INFO, that response is automatically sent. You can have as many of these as you need and they’ll work stand-alone so it will work even if the number texting you isn’t in your Salesforce with a Service Appointment.
For all of this to function, all you need is Gears OmniAlerts and a messaging platform. We are big fans of Vonage’s Communication APIs if you don’t have a tool already as it really gives you a flexible and affordable tool to handle SMS and Voice notifications. Like most tools in this space, it’s a usage-based model where you are charged for what you use each month. As a Vonage partner, we can handle all of the setup and invoicing for you, giving you a single vendor to deal with for the full solution. For those of you that already have a tool in place, we’d be happy to hook into that as well.
If you’re interested in extended Field Service with a robust notifications platform, please reach out and one of our Solution Architects will get right back to you. We can also get a working version in your sandbox quickly for you to try out.