Outbound Dialer with Cisco Spark/Tropo
I have been deploying Cisco UC for just about 15 years now and i have ran into small to medium to large contact centers all over my client base in that time frame, mostly all IP based CC's. A subset of the clients always want some form of outbound dialer product and it always seem to be so expensive solution trying to build one or procure one and integrate into your existing environment. What if it took only a day or two to set it up and all exists in the cloud ? Tropo gives you powerful APIS to do so.
The use case scenario i am going to discuss here is an alpha dialer project i am working internally for my company. All we need to accomplish is have a database (smart sheet) populated with user information (cell phone, desk phone etc). Dial them all and play an annoucement whether they are going to attend an event and say Yes or No (Press 1 or 2) to confirm attendance. Once attendance is confirmed, smart sheet needs to be updated and that way an admin can go in and check who all are coming for the event. On the day of the event, a second call needs to go out confirming attendance one more time. The second call is more of a reminder call. I am using Smartsheet backend here to populate user data. Ideally it would be nice to have the dialer run on a scheduler or clock, but here in this use case i have an admin who is a member of a Cisco Spark room, type a command to call, remind or list appointments.
As you can see below here the Confirmation Status of each of the end user's below for the event is NotYet by default. Each of these end users below belong to the Lincolnshire Location.
Once the admin goes into the Cisco Spark Room and types /kortana dialer call lincolnshire, a REST message is sent to Tropo to trigger each member in the smartsheet (screenshot below) that belongs to the Lincolnshire office. Tropo script will ask for event attendance confirmation (a simple Yes or No via voice recognition) and the response is recorded and updated in the smart sheet. In this case John said No, Naty said Yes.
The Admin can also see the call connection progress and confirmation acceptance or decline status in real time as the dialer is dialing the end users. Ideally you can reverse match the numbers you see here to smart sheet and show the end user names instead of phone numbers. (Lazy coder me).
When the admin initiates the remind command, all members int the list that confirmed previously get dialed (who said a "YES"). They can still confirm or decline with a YES or No. This information again gets updated in the smart sheet database.
The admin can also list event confirmations for a certain office or location. The username, event confirmation status and date of event are listed in the Cisco Spark Room.
Additionally you could also create a calendar invite based on response received have that be sent to the end user via email. There are challenges around creating an Outlook invite, that i am working through right now but hopefully that will be a nice add on to have to this dialer app.
This bot could be expanded to several 100s or 1000s of numbers to be dialed, if you have a use case scenario. Keep in mind, i am using Tropo's verified demo account for development purposes only but if you are looking at doing production grade dialing you may want to talk to Tropo team and set up something more permanent and stable with a paid account. Tropo has a limitation of 4 calls per second beyond which your call requests may not be honored or your account shutdown (possibly) so please use it carefully and respect the API's available to you for free use.
Let me know what you think about this bot and article. Feel free to reach out to me or drop in a comment if you would like to know more..