On-Demand Voicemail DropsWe're just finishing up a cool project where we wrote an integration to a third party call drop system that can leave a voicemail in a client's voicemail box. The third party call drop system is a super sophisticated calling platform that has the means to make a call and leave a voicemail at any phone number.
Our client was already using this third party calling platform and having good success with various campaigns of automated calls. But he wanted to take it to the next level.
Leaving Automated Voicemail Messages from an OpportunityHis goal was to be able to record messages that were pertinent to prospects at various points in their opportunity pipeline. For example, maybe they had delivered a proposal to a client and wanted to leave them a voicemail 3 days after doing so to ask them to take the next step. My client had many scenarios where they wanted various messages left.
The key idea: these calls and voicemails were relevant to where the prospect was in the sales process, and since the sales process is managed and tracked in Salesforce.com Opportunities, tying the voicemail call drop to opportunity stages and days in those stages was a critical component of the system.
Custom Solution for Salesforce Voicemail DropThe third party voicemail call drop system had an API, so it was a simple matter to write code in Salesforce.com that would be able to pass the necessary details to the call drop system. We had to pass the phone number to call and the voicemail message that was to be dropped.
We also wanted to be able to control the time of day that a call was dropped so that we could leave voicemails at appropriate times throughout the business day and also to spread out the calls so that they weren't all dropped at the same hour of the day.
To accommodate all of these requirements, we wrote a process in Salesforce.com that would execute every hour from 9 am eastern through 9 pm eastern, it would evaluate all the open opportunities and compare those to a configurable table of stages, days in stage, the call hour, and the timezone of the prospect. That process would assemble a list of contacts and their phone numbers to call. These phone numbers would be passed into the calling platform and a response would be received from the platform acknowledging receipt of the call request.
After the system received a response indicating the call was successfully passed into the calling platform, an activity would be created stating who was called and the message that was left.
On-Demand Voicemail out of Salesforce.comTo take this system even further, we wrote a visualforce page that would allow for the creation of an activity containing the command to drop a call. This allowed reps to drop a voicemail on demand. They would request a voicemail to be left and the salesforce system would immediately drop that voicemail to the selected prospect.
Salesforce Workflow Rule Initiated Voicemail MessagesBy using activities in this way, it also opened the door to using workflow rules to drop calls. Now whenever my client has an idea for a new voicemail message, maybe to ask the client for some missing information on a deal for example, he can create the voicemail, create a workflow rule, and have that voicemail message dropped whenever that field is empty. Using these techniques the possibilities are endless.
In a nutshell, our client can now leave a voicemail message initiated by Salesforce.com based opportunity stages, the creation of activities by a rep, or just the use of a workflow rule.