Integration with Nicereply
If for any reason you don't like LiveAgent's default Ranking feature you can instead integrate NiceReply for taking in the customer rankings of your agents. This article will show you how to do it.
First of all, you have to get an account with Nicereply. You can do so here: http://www.nicereply.com/. When you have one, you can start the configuration.
Step 1 - Set up the agent IDs
To make both applications to communicate together, we have to set agent IDs to be the same in both applications. To do so you need to login to LiveAgent and navigate to Configuration > System > API and get the API key from there.
Once you have the API key use it in the following URL to obtain the IDs (userid) of all your agents:
- "URL_TO_LiveAgent" = real URL leading to your installation of Live Agent
- "Agent_Email_Address" = username (e-mail address) of an agent
- "YOUR_API_KEY" = the API key generated in Live Agent
Once you open the URL you will get a response like this one:
{"response":{"contactid":"78ca138a","userid":"ef55df75","email":"test@agent.com","firstname":"Test","lastname":"Agent","systemname":"","authtoken":"8229c08c4024e3f9eebde47ee0ad3a29","browsercookiename":"A_auth","gender":"M","role":"A"}}
In this API response the value of 'userid' is the ID of the agent which you are interested in, so in this example response the ID is 'ef55df75'. Copy the ID and paste it to Nicereply ‘Username’ field found at Staff > choose a user > Edit Person. Do this for all users you want to setup.
Step 2 - Enable ticket link
The next step is to activate the Ticket Link feature (Settings -> Ticket link) to link every rating to a ticket at LiveAgent. We will put the ticket URL into the "Ticket system URL" field
e.g. http://URL_TO_LiveAgent/ticket_<TICKET_ID>
Step 3 - Configure LiveAgent templates
To let your customers rate your agents' email replies you must add the rating link to your email templates. In LiveAgent navigate to Configuration > Email > Customer templates and click every email you want to add the rate option to.
In this example we are modifying the template named 'Ticket reply'. Live Agent enables you to use various variables in templates, which means it's quite easy for us to construct a rating link. The only thing we have to do is to add this to the template body:
To rate my reply, visit this link please:
http://www.nicereply.com/qualityunit/{$agentId}/{$conversationId}
You can do the same with username set to firstname-lastname style, but in that case, you have to use this type of link:
http://www.nicereply.com/qualityunit/{$agentFirstName}-{$agentLastName}/{$conversationId}
In case you want the sentence "To rate my reply, visit this link please" to be translated in all languages, you have to enclose it with ## and add a custom translation for it to all languages you want to be supported.
Step 4 - Add rating links to chats
You need to enable NiceReply integration plugin in your LiveAgent admin under Configuration > System > Plugins and configure it. Here is an example of configuration:
There are 3 fields there:
- NiceReply custom domain
- NiceReply account id
- Different accounts/pages for departments
Basically the system first looks into Different accounts/pages for departments config field to find the setting for the department in which the chat happened, if it doesn't find out it looks into NiceReply custom domainsetting and if it doesn't find anything there then it uses the NiceReply account id field for the rating link.
The per department configuration is in format DepartmentID:NiceReplyID|RatingPage. If you wish to use the default rating page then you can omit the last |RatingPage part completely. As NiceReplyID you can use either the ID of your account or even a custom domain if you have set up one including the protocol.
The link will be constructed based on your per department settings like one of these:
- http://www.nicereply.com/NiceReplyID/{$agentId}/{$conversationId}
- http://www.nicereply.com/NiceReplyID.RatingPage/{$agentId}/{$conversationId}
- http://customdomain.com/{$agentId}/{$conversationId}
For the per department configuration you will need to know the IDs of your Departments so you need to make an API call like this:
You need to replace YOUR_API_KEY with the API key from Step 1.
Example response is:
{"response":{"departments":[{"departmentid":"475af2b9","name":"Department1","description":null,"onlinestatus":"MT","presetstatus":"MT","deleted":"N"},{"departmentid":"a20baa32","name":"Department2","description":null,"onlinestatus":"MT","presetstatus":"MT","deleted":"N"},{"departmentid":"default","name":"General","description":"General department","onlinestatus":"MPT","presetstatus":"MPT","deleted":"N"}]}}
As you can see it retrieves all your departments and their IDs in the "departmentid" field so you can copy it from there and use it in the configuration. For example if I wanted to create a config for my "Department1" it would be something like this:
475af2b9:mycompany
Or with a different rating page then default:
475af2b9:mycompany|ratingPage