How to Create a Support Agent Appreciation Bot Using Hangouts and Exotel in 7 Easy Steps

May 19, 2020

One of the most under-appreciated and yet crucial roles in a company is that of the Customer Support team. Helping customers use your product better, solving their queries and at times facing the brunt of an unhappy customer (usually for no fault of theirs) is a part of their everyday job description. Not only are they in many ways the face of the company, but they are also the best contributors to the product roadmap. When a customer support team keeps a customer happy with their support, they are not just helping with retention. Happy customers are the best acquisition channel – happy customers beget more happy customers.

At Exotel our Customer Happiness team measures the satisfaction of our customers via a feedback survey after our interaction. Our two primary support channels are calls & emails. When we solve a customer’s query over a call, we try to get the feedback of that conversation on the call itself.

Pre-COVID, we all sat in the same bay and could turn around to give each other hi-fives every time a customer left us with positive feedback. We didn’t need a channel to broadcast our wins. With our support teams also being remote now, we wanted a way to quickly share the “kudos” with the team. We also wanted to automate this so it happens even if we sometimes forget to share that good call we just got off.

Tools you’d require:
Exotel, of course, to handle calls & Google Hangouts/Meet for internal communication

A little exploring with Google APIs and we realised Exotel APIs + Google Chatbot APIs + little Appscript = ⚡⚡⚡

Let’s dive right into the different steps :

Step 1 : Create a Simple AppScript Google Bot

Follow the instructions Step 1 to 5 in this Google doc to create a simple bot using Appscript. Give a good name to your Bot. We called it the “KudosGiver Bot”. Note that you would need a Google Cloud Platform account. Don’t worry. This would not cost you and Free Tier should just do the trick for you.

Step 2: Create a group and Add the Bot

Create a chat group and add the Bot to the group. Play around with it. Send a message, add the bot to the group, delete it. The AppScript logic should kick in. Note down the ID of the group you created. This would be needed later. The ID would be the end part of the Group’s URL https://chat.google.com/u/0/room/ID.

This is the group we will be sending all the Kudos to. If needed create another group for the not so good ratings if you need to track them and act on it.

Step 3: Create a Google Service Account

You need to create a Google Service Account on Google Cloud Platform and download your credentials as a JSON file. Keep this handy. Ensure you enable access to Chat APIs.

Step 4: Create a Google Spreadsheet

Create a Google Spreadsheet with two sheets.

1. A sheet called Agents which has entries of your agents in the following format:

Phone Number, Name, UserId

We will use this in the Chat messages of who got a great rating from the customer. The UserId is the GoogleHangouts UserId. There is no simple way to get this. There are some painful methods as suggested here. If you get the Userid, the chat message would mention that user specifically so that they get a notification. If you do not mention the UserId, just the name would be mentioned.

2. A sheet called DataStore to use as a data dump that you can analyse.

Step 5: Let’s get some AppScript magic

We will be using the Gather + Passthru Applets to collect the customer’s feedback after a call and passing the input to an Appscript endpoint. Open up the AppScript that you created in Step 1 and copy over the code from here.

Fill in the config values mentioned at the top of the file.

// All your config goes here
var ID = “THEIDOFTHESPREADSHEET”; //The id of the Google SpreadSheet you created in STEP 4
var DATA_SHEET_NAME = “SHEETTODUMPDATA”; //The DataDumpSheet created in Step 4
var AGENT_SHEET_NAME = “AGENTSMAPPINGSHEET”; //The Agent Sheet created in Step 4
var KUDOSGROUP = ‘GROUPIDOFKUDOS’; //The ID of the public group to send Kudos for great ratings
var FOLLOWUPGROUP = ‘GROUPIDOFNOTSOGOODONES’;//The ID of the private group to send info on ratings that are not great so you can followup
//Pick these from Google Service Account Credentials json that we created in Step 1
var SERVICE_ACCOUNT_PRIVATE_KEY = ‘—–BEGIN PRIVATE KEY—–\nSOMEGIBBERISHFROMTHEJSONSFILE\n—–END PRIVATE KEY—–\n’;
var SERVICE_ACCOUNT_EMAIL = ’emailof@yourserviceaccount’;

Since the Appscript uses OAuth, you would also need to install the Oauth Library. You can check the instructions under the setup section here.

Once you make these changes, deploy the Appscript as a Web App and Copy the Deployed URL. We are going to configure this in the Exotel Call Flow.

Step 6: Setting up the Call Flow

In the Exotel Call flow, go to your connect applet and add a Gather Applet as part of the “After the Call Conversation Ends..” part of the flow. Add an appropriate message like – “Please rate your experience. Press 5 if you are extremely satisfied, 4 if you are very satisfied, 3 if you are neutral, 2 if you are unhappy and 1 if you are very unhappy”. Ensure you change the Appscript to be in sync with this. Follow this with a Passthru Applet and configure the deployed URL in Step 5 here. Save the flow.

Step 7: Get ready to celebrate your team’s wins

You are all set. Whenever a customer rates your support , two things are going to happen. One, you will have a the dump of the call details in the Spreadsheet you created which you can use to slice and dice later; Two, if the customer was happy a message would be posted on the group that your entire team/company can see and congratulate.

While a lot of talk is around gamification to improve customer support, moving customer happiness signals above the radar and celebrating wins go a long way in stressing the importance of great support. With more of us going remote and the need to over communicate, lets over communicate our wins.

Sanjeeth R
Written By

Try Exotel free for 15 days

Get Rs 1000 worth free call & SMS credits