Bringing Gamification to Customer Service

Solutions like Microsoft's FantasySalesTeam are driving measurable results, positive behavior change, enthusiasm and teamwork to sales teams and companies around the world. Leveraging both individual and team based games, FantasySalesTeam helps keep reps motivated, challenged and engaged. This impactful gamification should not be limited to sales teams and in this post we will be discussing how customer service organizations can leverage these tools for real impact.

We'll be discussing some best practices and development ideas around gamification in the call center and customer service space in two main areas:

  1. Gamification Service Metrics
  2. Unified Service Desk Integration

Gamification Service Metrics

The most critical component of a gamification strategy is deciding what metrics to use when awarding points. In sales, we commonly leverage metrics like booked revenue, number of outbound phone calls or emails, opportunities created, and leads converted. In service, our game board and points look a bit different.

One of the most important things to keep in mind is the behavior these metrics are designed to drive. Gamification isn't about tracking rep behavior as much as it is about changing it. What are the behaviors you want to drive for your customer service team?

  • Behavior: When agents encounter an issue that isn't documented, they should suggest a Knowledgebase article be created.
  • Gamification Metric: Articles Created. Number of Articles Created, leveraging the Created By value to credit CSRs


  • Behavior: Improve CSR Knowledgebase submission quality by rewarding suggested articles that inevitably get published. Quality over quantity.
  • Gamification Metric: Articles Published which were originally created by this CSR.


  • Behavior: Drive thoughtful submissions which likely take more time and effort by awarding bonus points for articles with high adoption or feedback scores.
  • Gamification Metric: Knowledge Article Views or Feedback originally created by this CSR.


  • Behavior: Increase case resolution rates.
  • Gamification Metric: Number of cases resolved by the CSR.


  • Behavior: Responding to customers in a timely manner
  • Gamification Metric: Responding to (or resolving) a case within the specified Service Level Agreement time
  • Behavior: Increase resolution of complex, time consuming or unpopular types of issues, eliminate cherry picking.
  • Gamification Metric: Number of cases resolved by the CSR that meet custom parameters.
  • Note the use of a "Saved View" in this example. You can create a view related to Cases that defines special criteria to be considered for this metric. This allows you to specify the cases which are generally difficult, time consuming or picked over. For example, cases related to returns, to complaints or to complicated product defects.


  • Behavior: Drive upsell/crossell opportunities from the call center
  • Gamification Metric: Number of leads or orders created by service CSRs. You can use views to make this more specific and only capture the orders or leads related to specific call center upsell campaigns.


  • Behavior: Drive customer satisfaction KPIs
  • Gamification Metric: Positive interaction survey responses related to the CSR
  • Note: If using a solution like Voice of the Customer, you will need to enable Change Tracking on the entity you want to include as a metric.



What to avoid with gamification in the call center?

Some gameification models can promote bad habits in your CSRs. The metrics we've discussed so far are geared towards driving positive behavior but some metrics may need to be avoided or adjusted with concepts like floors, ceilings and weighting points.

For example, if the only metric you are scoring is how many phone calls a rep answers in a day you may unintentionally be promoting bad habits where your reps hurry to get a customer off the phone.  It's important to balance these volume metrics by giving more weight to activities like CSAT performance or by leveraging point ceilings based on the typical amount of calls your CSRs receive in a day. That way, they get points for completing a high number of calls, but not to excess.


Floors allow you to specify a bottom limit before points begin to be awarded. For example, the first 10 calls a CSR handles don't receive any points but they will start to receive game credit on their 11th handled call.

Ceilings are upward limits that keep the CSRs acting within appropriate ranges.  In this example, the CSR will only earn points in the game until they have finished their 100th call. Any excessive calls beyond that will not count towards their game participation.

You can also weight points so that calls handled for complex issues (which may be more time consuming) receive a higher number of game points than a call that is a simple issue. This helps prevent cherry picking, especially in the case of chats, cases and emails.

FantasySalesTeam and Microsoft's Unified Service Desk

Once you have established the teams, metrics and prizes for your customer service team's game you need to make sure that your CSRs remain engaged as the game progresses. Keeping the games top of mind includes visual leader boards, automatically sharing accomplishments and a live stream of progress made by your reps.

For customer service and call center reps working in Microsoft's Unified Service Desk, there are a number of ways to keep them engaged with FantasySalesTeam and encourage participation. It is important to note that FantasySalesTeam reads data directly from your Dynamics CRM system and does not require Unified Service Desk to operate! This integration allows you to keep your CSRs engaged, showing their game play and progress directly within their workstations.

Display FST TV within USD


  • Why? Keep your CSRs engaged in the game and motivated by their team's progression and competition. Keeping the games and score board relevant and top of mind to your reps will help build enthusiasm and participation.
  • How? Create a Standard Web Application Hosted Control and assign it (in this example) to the RightPanel. Then, trigger an event that navigates to your FST TV URL from the Unified Service Desk Toolbar or at USD load using the System Event DesktopReady.


Automatically Post Smack Talk and BAM! Alerts

  • Why? By automatically sharing individual contributions and successes with the broader game you encourage participation, recognize performance and drive excitement and appreciation for reps who do great work. While the Smack Talk and BAM! posts can be manually triggered, some actions taken warrant immediate acknowledgement and praise! Additionally, this saves time for the game administrators who would otherwise manually trigger BAM! notifications.
  • How? While APIs are being developed for FantasySalesTeam to streamline this process in the future, we can still trigger events through the FST interface. We'll do this by leveraging a Hidden Panel Hosted Control and RunScript type action calls triggered by events that take place in the Unified Service Desk.

Create Hosted Control in a Hidden Panel.

This Hosted Control is going to load the Smack Talk board and take action behind the scenes. An agent won't be aware of it's existence and the functionality will trigger and execute appropriately within the hidden panel. We can use this Hidden Panel to perform many behind the scenes functions including Single Sign On but in this example we will be focusing on taking action on the Smack Talk board, posting comments about events that have taken place by the agent.


Create Action Calls to load the Smack Talk Board

The first thing that we need to do is load the Smack Talk Board into our Hidden Panel Hosted Control. We do that by creating an action call that Navigates to the appropriate URL.


The most important thing about this action call is when to load it. Since this is an action that takes place "behind the scenes" we need it to be ready to go whenever a CSR performs a share-worthy event. To that end, we should add this Action Call to the System Event DesktopReady so that it is run and the appropriate pages are loaded when USD starts.



Create Script to Process Outbound Messages

Next, we'll need to post our messages to the SmackTalk board. We will be doing this using RunScript actions against the FST Hidden Hosted Control we created above. This is a code snippet we will need to execute multiple times and from different areas of our solution so best practice would be to create an Option that allows us to reuse the same code whenever applicable. This is especially important when working with RunScript actions that may need to change as APIs are developed or the User Interface you are manipulating changes.


This Javasript Code is identifying the Comment Box element on the Smack Board page and inserting a custom variable, 'usdtext.' It is then essentially clicking the "Post" button to submit the custom message to the Smack Talk board. This will post a message as the authenticated user, allowing the Unified Service Desk to share successes or milestones with the game on their behalf.

We can now call this code snippet by using the Replacement Parameter [[$Global.FSTPostSmack]] in our application.

Create an Action Call to Trigger Outbound Messages

Now that we have established the code to process our messages, we can create action calls to trigger the actual posting of messages. While you can make dynamic action calls, it may be simpler to create one Action Call for each type of message you want to send. That way, you can activate and deactivate the specific Action Calls depending on the games you have running at any given time.


As you can see, we are defining the Javascript variable "usdtext" with the message we'd like to post to the Smack Talk Board. We are then including the code snippet stored in our FSTPostSmack option defined above.

I am also using some additional Replacement Parameters to make this message Dynamic. For example, [[$User.fullname]] is going to use the CSR's name and  [[]] will reference the Account Name of the Customer they are working with in that particular session. When this Action Call runs, it will produce the following Smack Talk Post:



Now, you can add this Action Call to Events or other Action Calls as appropriate. For example, triggered when a CSR creates an Order within USD from a Service Call.

Comments (0)

Skip to main content