How Microsoft IT uses Lync to Accelerate Productivity
Technical Case Study
Published: February 2014
The following content may no longer reflect Microsoft’s current position or infrastructure. This content should be viewed as reference documentation only, to inform IT business decisions within your own company or organization.
Microsoft IT has changed the way support is provided by integrating Lync with their IT Service Desk. The solution they implemented allows Microsoft IT to streamline reactive support; and enable proactive and predictive support. The solution:
- Enhances customer service communication
- Increases user and company productivity by reducing support time
- Improves customer satisfaction via more efficient support services
- Enables real-time understanding of issues
Technical Case Study, 0.97 MB, Microsoft Word file
Products & Technologies
Microsoft Information Technology (Microsoft IT) provides the user community within Microsoft with a variety of support solutions. While Lync is deployed throughout Microsoft and is always-on on the desktop, Microsoft IT did not integrate Microsoft Lync or fully utilize native Lync capabilities as part of their support solution. The result was a loss of time and productivity, and a less than ideal support experience for both users and support technicians.
Microsoft IT built an integrated solution, leveraging the existing Lync deployment, and native Lync capabilities, for IT support. The solution provides an intuitive user interface (UI) and a Natural Language Response Engine as part of an everyday productivity tool, Lync. The solution allows Microsoft to harness real-time analytics to gain fresh insight and to improve the depth and quality of support. Ultimately, this changes the way Microsoft IT provides support to internal customers.
Incident management is a key role in any enterprise, and Microsoft is no different. Microsoft IT Global Helpdesk is more than a helpdesk. It has evolved to a single point of contact Service Desk that provides a variety of support options to the user community within Microsoft, including:
- IT support self-help portal containing published FAQs and Known Issue articles.
- Legacy self-service routing tool to start a support engagement either via chat or direct to a support ticket.
- Direct-dial assisted support using location-specific phone numbers, including international dialing codes.
- Local, field-based IT managers who provide location-specific support and incident response.
Each of these user experiences was disparate and disjointed. Navigating through the tools and exploring available options to determine how best to resolve an issue was often confusing and time consuming for both users and support technicians. For example, a user might start by reviewing an FAQ on the IT support self-help portal. If the FAQ did not help them resolve their issue, the user might decide to open a support ticket requiring them to launch the self-service routing tool where they defined their geographical location, the product with the issue (even though they already navigated to the FAQ on the other portal), and the symptoms they experienced. Or they might opt for assisted support, which required that they dial a local number (including any location-specific country codes) and navigate an Interactive Voice Response (IVR) tree to help route their call to the appropriate support queue.
The same was true for support technicians. The tools and processes for responding to users were not integrated. For example, if a user called the Service Desk and needed remote desktop support, the technician launched a Lync session with the user as Lync facilitated remote desktop support. Likewise, if the technician needed to schedule a follow-up meeting or to send a follow-up email, they launched Outlook. Users and technicians both spent time providing and gathering information before they could begin the steps toward resolution.
Microsoft IT had no single, end-to-end IT support experience that integrated phone, chat, email, self-service articles, user information, and remote desktop control. This resulted in lost time and lost productivity for both users and technicians.
Microsoft IT leverages Lync Server technologies and the Lync client, which already exists on every user's PC, to improve IT support. Their original goal was simple: leverage already deployed Microsoft technologies and the "always-on" opportunity by using Lync and the Unified Communications Managed API (UCMA) to visualize the IVR tree. This solution reduces the time users spend navigating the IVR, getting into the correct support queue—and it removes the need for international dialing codes.
Microsoft IT realized that the opportunities to improve IT support went way beyond that. By using Lync as the basis for their IT support solution, they can:
- Increase efficiency by reducing the time users spend with support and support technicians spend per user engagement.
- Increase user productivity by getting the user the right support that addresses their needs and communication style.
- Improve user satisfaction by providing users with an integrated IT support solution based around Lync, a technology they are already familiar with and use on a day-to-day basis.
- Move from a reactive support model to a proactive, predictive support model that further reduces support costs and increases user satisfaction.
- Eliminate or reduce repetition of information by passing user information to the support technician.
- Remove the need to switch tools to initiate communications.
A series of Microsoft technologies drive the solution.
|Lync Server and Client||Provides the enterprise communication platform|
|Lync SDK||Allows applications to communicate with the Lync platform|
|Unified Communications Managed API (UCMA)||Provides integration capabilities for applications on top of the Lync platform and manages the phone scenarios|
|Internet Information Services (IIS) running in a virtual machine (VM)||Hosts the user interface (UI) components—a Silverlight application that provides application content to the Conversation Window Extension in Lync|
|SQL running in a VM||Content Store to host, store, and manage the content to be displayed in the Conversation Window Extension|
Config Mechanism to host, manage, and administer the solution
Microsoft IT took a phased approach for deploying the solution. This phased approach allowed Microsoft IT to evolve the solution over time and minimized investment costs, effort, and impact to the business while maximizing business benefits.
Phase 1: Visualize IVR in Lync
Phase 1 was the prototype solution, implementing a visual representation of the IVR tree. Microsoft IT leveraged the fact that Lync is always open on the desktop in their enterprise. In Phase 1, they:
- Registered a Trusted Application and Trusted Application Endpoint in the Lync topology using native Lync capabilities and administration cmdlets.
- Deployed IIS to function as the Application Endpoint and host the Silverlight application that renders in the Lync Conversation Window Extension (CWE).
- Used System Center Configuration Manager to publish and push a registry key to all user machines, enabling the user to interact with the trusted solution endpoint.
The result is a collection of navigation tiles displayed in the Lync Conversation Window Extension that visualizes the IVR tree. Users navigate the tiles and move directly into the right support queue.
Phase 2: Expand Lync Conversation Window Extension Content
Phase 2 was the initial pilot and rollout. It expanded the solution to integrate additional information and support options in the Conversation Window Extension. Microsoft IT used Microsoft SharePoint to store:
- Configuration information, such as the appearance and hierarchy of the tiles, and the actions the tiles perform, removing the need for users to determine available support options for each product or application.
- FAQs and known issues, a list of the highest volume support issues seen by the Microsoft IT Service Desk. As the user navigates the tiles, the displayed list is reduced to include only ones relevant to the user's issue as identified by the tiles that the user selected.
- Open tickets display any open support tickets the user has. Selecting the ticket displays the user status, queue that the ticket is assigned to, and notes for anything that has been done. This information is populated by tying into the existing web services for IT Support ticketing.
- Known problems that are relevant to the user's geographical location are also presented. This allows the user to see what issues exist in the enterprise before they contact support.
Phase 3: Scale Solution and Build Natural Language Capabilities
The success of the initial pilot indicated that Microsoft IT was on the right track. They added additional enhancements to the solution to improve the user experience, shifting the historical paradigm so that users no longer needed to think about products or applications the way support professionals do. In Phase 3, Microsoft IT:
- Replaced SharePoint with SQL to manage configuration information and to capture analytics.
- Incorporated feeds of user information, ticketing information, and knowledge base articles into the solution database to improve performance.
- Removed the hierarchical structure of the tiles in order to enable multiple relationships and removed the need for users and support to share a fixed taxonomy.
- Enabled Full Text Search in SQL to build the Natural Language capabilities of the solution. The user utilizes the same experience in Lync that they already know and use in their day-to-day conversation with others. The user types their problem into the conversation window, and the bot returns back the same list of support articles and contact options seen if the user navigated to that same issue through the Conversation Window Extension. If the user opts for phone support and types "call" in the IM window, the user routes directly to the appropriate support queue in a Lync call.
- Increased analytics capabilities by moving to SQL. This enables the tracking of everything that occurs in the IM windows. This includes, but is not limited to: user actions, location of the user, and the user's alias. Real-time analytics enables proactive messaging to Alert Centers based on frequent phrases, updates to knowledge links based on frequent searches, and identifies local language patterns that help to fine-tune the natural language capabilities.
Figure 1. End user UI showing Lync conversation (IM) window and Conversation Window Extension.
Phase 4: Implement Agent Portal
Phase 4 was about enabling a shift in how Microsoft IT does support. Microsoft IT built an agent portal into the solution that enabled support technicians to view information about users in real time. The agent portal removed the time required by a technician to gather user information.
If the user is provisioned in the Agent role, a button appears in the header of the Conversation Window Extension allowing the technician to switch from the default UI to the Agent portal. In the Agent portal, the technician can view:
- User information such as the user's full name, position, department, and country.
- User password expiry days—displayed if a query to Active Directory indicates that the user's password expires in 10 days or less.
- Problems/issues the user needed help with. The technician can see the full conversation the user had in the IM window—what the user needed help with and the conversation history that occurred.
- Open tickets for the user, if any.
- A full Lync contact card that enables technicians to email, establish a remote assist session, have an IM (chat) session, schedule a meeting or a call back, place a phone call, all within Lync.
- An indicator that provides a visual representation of the level of frustration for the user. The meter enables the technician to gauge if the user is having an ideal experience, and then drives how the technician interacts with the user. For example, in the case of a frustrated user the technician may not choose to engage in the predictive aspects of support. The meter is displayed based on SQL database information such as context switching between keywords, words of frustration used, and time in the bot.
Figure 2. Agent portal.
Another aspect of the agent portal is a unified support view—a dashboard view into all open solution interactions. The dashboard shows a unified view of the support queues, top issues, and top countries. This dashboard enables the call center to identify trends in real time.
Phase 5: Develop Predictive Support
At the time this paper was written, Phase 5 was in development. Microsoft IT already stores data about all user interactions and behaviors in the solution. Microsoft IT can use that data to predict when a user might need support before the user realizes it themselves, and then Microsoft IT can bring that support to the user. Some examples of predictive support include identifying:
- Scenarios where—based on the time, the user's location, their role, the issue the user is asking about, and all the historical data about their persona—support flags them, predicts what they need, and reaches out to the user proactively. For example:
- People in a particular discipline in their first 30 days on the job have certain issues they need help with.
- A user in a regional office that initiates a Lync conversation, five minutes before the hour, and indicates they need help with a Live Meeting, A/V, or conferencing. IT support can work to solve the user's issue, find the user another conference room, or send a note to the people the user is meeting with letting them know of the delay. The key here is that the user never actually did anything other than open Lync and start a conversation.
- Call or talk scenarios based on the words the user types in the IM window. For example, when a user types the word "call" or "talk," we immediately initiate the phone call and connect the user directly with the right support team. Likewise, when a user types the word "chat," we know the user wants to IM, and we can reach out to the user directly.
- Systemic issues based on the aggregation of keywords that users type into the IM window.
- User preferences where users in a particular geographic region prefer to interact with IT support in a certain manner, such as a preference for live support versus chat.
Support technicians can reach out to users in the queue and address the user's issue plus other issues identified by the solution, and technicians use the user's preferred contact method for that support interaction—all based on data stored in the solution's SQL database.
Other improvements to the solution that are in development include:
- Adding an Administrative portal in Lync
- Incorporating support for FastTrack subscriptions, Microsoft IT's premium service that enables rapid escalation to higher support tiers
- Leveraging the solution as a chat platform
Microsoft IT already rolled out Unified Communications based on Microsoft Lync to provide users with high-quality VoIP that enables users to initiate conversations, to conduct live video or audio meetings, and to share desktop applications. The solution was integrated into the existing telephony infrastructure to provide multichannel communications and an enhanced user support navigation experience.
Note: To learn more about using Microsoft UCMA 4.0 to create applications, see UCMA 4.0 business scenarios.
When the user starts a conversation with the solution presence (the bot), Lync understands that the solution server hosts the Application Endpoint and directs the user to the solution for a response.
- The bot responds to the user with configurable text stored in the ITL DB SQL database.
- The Silverlight application runs in the Conversation Window Extension. Two web services populate the Conversation Window Extension.
- The solution calls a published web service exposed by the ticketing tool, which is outside the solution, to populate "My open tickets" and "Known problems" in the Conversation Window Extension and the "Tickets" tab in the Agent portal.
- The solution web service enables Silverlight to call into the ITL DB SQL database that contains all the topic tree and tile mappings. This web service was developed as Silverlight, by design, cannot call directly into SQL.
- Group membership checks for information such as a tailored UI, FastTrack Support Subscriptions, agent permissions, or administrative permissions.
The following graphic depicts the flow between the user and the solution components.
Figure 3. Microsoft IT support solution call flow.
The solution uses two databases. IIS application pools connect to the databases to pull configuration information.
- User Info DB. This database is a feed from the corporate HR database and provides information about the user's full name, their position, department, and country that are used to populate the Agent portal. The database is used in the solution, but the database itself is not part of the solution.
- ITL DB. This database is the primary database used by the solution to populate the Conversation Window Extension, and it drives the Natural Language components. Microsoft IT has spent a great deal of time fine-tuning this database to provide a good support experience. The database contains:
- Global settings.
- Topic trees that contain the tile mapping, including tile and sub-tile relationships, tile and action relationships, action destinations (email/chat/phone/ticket), and friendly names used for Natural Language.
- Knowledge Article to tile relationships and article to tile priority rankings that determine what article links show up and in what order, for each tile used in the Get Time Back section.
- The roles and groups used to manage which UI displays (user, agent, or administration UI).
- Phone routes to enable call routing to one of the seven local language call centers based on local language and static phone numbers to provide to users who are not Enterprise Voice enabled.
- Master contexts that contain every keyword or exact match phrase delimited in a single string for Full Text Search capabilities and a map of keywords to the appropriate handler. Handlers provide responses based on their role.
Actions handler Maps the actions (call/chat/talk/speak/mail) to a specific response. This is how the solution knows what to do with "I want to talk to someone...." Fun and Greetings handlers Deals with "Hello", "Goodbye" and everything in between that isn't a topic or an action. Negative handler Addresses "not, don't, won't" scenarios. The Negative handler forces the Natural Language Engine to look at the next keyword, for example, "Not Outlook, but Windows" maps a response based on the keyword Windows as "not" negates the keyword Outlook. Topic tree handler Maps the keyword(s) to the responses. The responses are the topic tree tiles. This enables Get Time Back articles and actions based on the tile selected.
- Analytics to track length of conversations and active/inactive time within the conversation. Provides the data to create reports on words used and matched or not matched words and topics. Keyword analytics based on non-matching keywords are used to improve bot efficiency and to reduce time to resolution. Keyword analytics also improve support, such as capturing when angry words are used so the support technician can follow up with the user or when the meter of frustration is high, the technician can provide a softer support approach—possibly with a bit more hand-holding.
Figure 4. Natural Language database architecture.
The initial phases of the solution deployment indicate potential for significant increases in efficiency and productivity. As the solution continues to evolve and the rate of adoption grows, benefits to users, support technicians, and the enterprise continue to increase. The following include some of the benefits that Microsoft has achieved by implementing the solution.
Gives time back to users and increases their productivity.
- Saves the user an average of 63 seconds per call through visualization of the IVR tree. The 63-second time investment was previously spent listening to, and navigating, the IVR phone tree. With call volumes of approximately 500,000 calls annually, Microsoft IT could potentially give back 364 days of time to end users from just the visualization of the IVR tree.
- From August 2013 through the middle of January, over 25,000 unique users from 92 countries placed 9,500 support calls saving 166 hours (6 days) of time that was given back to users who were no longer required to navigate the IVR phone tree.
- Enables users to engage with support based on their preferred communication style, and empowers users to decide if self-service or assisted support is their preferred path.
- Provides a single, integrated UI that enables users to find solutions faster, whether searching for self-help solutions or initiating contact with the Service Desk when needed, the user routes seamlessly into the correct support queue.
Faster time to resolution
Gives time back to technicians by streamlining the support process and reducing the length of time required for each support interaction.
- The Agent portal provides all relevant user information including contact information, open tickets, and the current IM window conversation, and then allows technicians to respond to requests more efficiently. Technicians no longer need to ask users to repeat information that is already entered into the system.
- The Agent portal allows technicians to accomplish most support tasks within a single tool. By minimizing the number of applications and tools that a technician must use, the resolution time for an issue is reduced, and the experience is improved for both the user and technician.
- Data provides the Service Desk with a predictive and proactive support model allowing technicians to reach out to users and to address their issue before the user contacts support.
Increased user satisfaction
An improved support experience results in increased user satisfaction.
- Tracks user conversations and interactions and presents technicians with a visual representation of whether the user is having an ideal experience. This enables the technician to adjust the support experience based on the user's level of frustration.
- Users communicate with the Service Desk using the support means they are most comfortable with, whether that is by chat or phone.
When implementing a helpdesk solution based on Lync, Microsoft IT recommends the following best practices.
Evaluate your helpdesk. Look at what is currently in place and use the deployment to improve both the technician and user experiences.
- Make small changes based on what's working. Understanding that employees were used to the existing support processes and tools, Microsoft IT simply visualized the IVR tree that was already in place for the first incarnation of the solution. Starting with small changes helps minimize resistance to a new approach to support.
- Review helpdesk processes to identify disconnects or broken processes (such as having to launch a new tool to complete the support experience). Streamlined processes increase productivity and reduce time to resolution.
Map your support hierarchy. Figure out and understand your bucketing scheme. Any tile-based system needs a top-level hierarchy that is abstract enough to at least provide a jumping-off point for a majority of users. Microsoft IT gained an understanding of this by leveraging a user study conducted by another group and by evaluating existing IVR usage.
- Determine the sub-topics under the top-level buckets. One of the most important decisions Microsoft IT made was enabling sub-tiles to map to multiple top-level tiles. This completely removed the need to try and discern the way users think about products, applications, services, and so on. For example: Outlook can be an email tool and a calendar tool, so it is mapped to Software > Office, Communication > Email, and Collaboration > Calendar tiles. Not creating a vertical hierarchy made a friendlier experience.
Hierarchical requires users to all think the same, and think like support.
Relational enables users and support to think differently but still achieve same results
- Use top drivers (such as password resets) to match and rank articles to the navigation tiles. Use these articles to help deflect contacts, which in turn reduces support volumes and support costs. Because the sole focus in Microsoft IT support is to give time back, they are very careful with what is published. Microsoft IT does not publish articles that take users too long to work through because it is quicker to get assisted support. They do not publish articles that do not meet certain style guidelines because the inconsistency in layout impacts successful usage.
Evaluate your user community. Determine the preferred interaction type and language preferences for your users.
- Create a presence based on your users. Do users prefer to think the automated bot is a human by giving the bot a friendly, human name? Or do users have no expectation that the bot is human and provide it a non-human name? Microsoft IT originally had 26 contacts (13 male and 13 female) of multiple nationalities for their bot, pretending to be real people and assuming users knew that the bot contacts were not human. Some people did not care, some were amused, but the most vocal people were the ones who were annoyed that the bot was pretending to be human. In the end, Microsoft IT named their bot Sme.
- Customize the bot image to provide a greater level of comfort to your users. Microsoft IT initially used the standard Lync presence image for their bot but replaced that with a customized, friendlier bot image.
- Determine if users prefer to interact via IM or through phone support. Customize your keywords based on your corporate lexicon. Determine what terms, words, and phrases users expect to be included. For example, are "IM," "chat," and "ping" all interchangeable? Understanding your corporate dictionary is mandatory because the solution is only successful if it starts off as a compelling augmentation and does not require a learning curve for the users. Microsoft IT maps "call" and "talk" to automatically initiate the phone call with the right support team and "chat" to initiate an IM session.
- Enable options for users that are not Enterprise Voice enabled. Initially, Microsoft IT required users to be Enterprise Voice enabled to use the solution. They modified that requirement as the solution evolved. Now users that are Enterprise Voice enabled have a completely seamless phone scenario using the Conversation Window Extension, whereas users that are not Enterprise Voice enabled can still use the solution—but they are provided phone numbers in the IM window.
- Refine your keywords based on regional intonations and accommodate for English as a second language (ESL) in the natural language conversations—perfect for those with a global user base.
- Refine your natural language for conversation styles such as using apostrophes ("I'm" versus "I am") or enabled exact match phrases in SQL for common items ("Windows 8" versus "Windows 8.1"). Microsoft IT continually modifies keywords, responses, tile mappings, and article matches in real time to show relevant information to users and technicians. One of the reports that Microsoft IT built captures words that are not picked up by the processor and also recommends words that may be similar by using the SQL SOUNDEX function—this is used to catch typos.
- Consider programming some human qualities into the system to improve the user experience. Microsoft IT programed empathy into the system. For example, after a few tries to respond with the appropriate support solution, the bot may respond with "I'm sorry, John, but I'm new at this, and we are still learning" or "Sorry you are not having a great experience. This is first-generation technology so please bear with us." Adding empathy to the solution was a bit easier for Microsoft as they are a technology company. They added empathy as a way to acknowledge their own imperfection. Microsoft IT relies on the fact that their users are actually helping the company by helping IT grow, and the addition of empathy helped ensure that users did not get so frustrated that they talked negatively (or not at all) about the solution.
Leverage analytics. Analytics provide you with the ability to continually refine and improve the system, ultimately increasing efficiency and productivity while also reducing support costs.
- Determine if you want the bot to learn and to update itself. Microsoft IT uses analytics to manually update the algorithms used for keyword matches to accommodate words that sound close, are spelled differently or are typos, and for non-matching keywords. Eventually, Microsoft IT hopes to have the bot self-update the algorithms.
- Make the solution adaptive to improve the user experience. For example, if a user changes paths while searching for support, have the bot remember where the user started and make some assumptions about the next likely path. Microsoft IT implemented the first incarnation of the natural language as serial. If a user said "Windows" and the solution said "Call or Chat" and the user said anything other than one of those words, the flow was interrupted. Users who made a statement, pressed Enter, and then provided greater clarification, actually caused a negative situation for themselves.
- Develop predictive support to further reduce support volumes and support costs. For example, password resets are the number one call driver at Microsoft. By querying when a user's password is due to expire, technicians can be proactive and resolve the need by resetting the user's password while the user is already on the call.
- Monitor keyword use and regions to identify trends that indicate possible outages and then create alerts to further deflect support calls.
For More Information
For more information about Microsoft products or services, call the Microsoft Sales Information Center at (800) 426-9400. In Canada, call the Microsoft Canada Order Centre at (800) 933-4750. Outside the 50 United States and Canada, please contact your local Microsoft subsidiary. To access information via the World Wide Web, go to:
© 2014 Microsoft Corporation. All rights reserved. Microsoft and Windows are either registered trademarks or trademarks of Microsoft Corporation in the United States and/or other countries. The names of actual companies and products mentioned herein may be the trademarks of their respective owners. This document is for informational purposes only. MICROSOFT MAKES NO WARRANTIES, EXPRESS OR IMPLIED, IN THIS SUMMARY.