MS Teams Voice API BOTs Integration for Technology Service LLC

25 yearsOf experience
10 yearsIn business

Problem statement: 

  • Automate tasks of the customer support team to achieve faster, more convenient, and responsive processes.
  • Identify and verify customers quickly during initial interactions to save agents’ time.

Approach and solution:

  • Developed an IVR BOT to identify callers and display their info to IT reps.
  • Created a Teams BOT to join calls, listen for keywords, and provide real-time information.
  • Implemented speech-to-text for transcriptions and email summaries.
  • Integrated Face Analysis for insights during video calls.

Impact achieved:

  • Faster Identification: Reduced time for customer identification.
  • Increased Responsiveness: Improved response times and efficiency.
  • Enhanced Customer Service: Provided real-time information and insights, improving overall customer experience.

Expertise and scope:

  • Tech Stack: .NET Framework, C#, Azure, Azure Web Services, Azure Bot Framework, Microsoft Graph API, Microsoft Teams, Microsoft Skype SDK

Overview

Technology Services is a trusted Microsoft partner with over twenty years of experience supporting the technology and business needs of midsize and enterprise institutions. The client was looking for a solution for internal use that would automate certain tasks of the customer support team in their IT department to achieve a faster, more convenient, and more responsive process as well as enhance the customer experience.

Challenges

The client was looking for a way to automate certain tasks of the customer support team in order to make the process faster, smoother, and more efficient. When a customer phones our client’s organization, for example, identification and verification usually take place during the initial 30 seconds of interaction. Identifying a caller’s identity can take up a large part of the agent’s time. Thus, the client wanted us to find a solutiоn with MS Teams that will automate the process in some way and will help them achieve their goal. 

Microsoft provides tools for real-time manipulation of audio/video stream data from an MS Teams call and LUIS – a tool for keyword detection. However, the output from MS Teams calls does not match the input required for LUIS, making them unable to interact with each other in a direct manner. To solve this problem, we had to split the entire data stream from MS Teams calls into bits and put them back into the type of data required for LUIS.

Solution 

We completed two different mini-projects, both related to demo BOTs in Microsoft Teams. The first project was on an Interactive Voice Response (IVR) BOT that allows the user to place audio calls and communicate via their keypads. We enabled the BOT to intercept incoming calls, identify who is calling, then redirect the call to the IT department and show a popup with the caller information on the screen of the customer service representative answering the call. The information gathered about the caller can vary depending on the industry and client needs and aims to reduce agent handling time and increase operational efficiency. Ultimately, this demo is designed to work not only with Microsoft Teams but also to allow you to attach a phone number to the BOT. This will be implemented as soon as Microsoft allows it as an option, which they are currently working on.

The second BOT is again connected to calls, but this time the user does not connect to an automated system but enters a call room in Microsoft Teams. When a customer service representative is in a call room with a customer, he can connect the BOT to the call and the BOT will enter and start listening for keywords. The entire conversation is processed in real-time, and the keywords that the BOT should detect can be customized using third-party software. When a certain word is detected, the BOT displays information about the respective keyword on the screen of the customer service representative. This eliminates the need for the representative to search for information during the conversation, which again facilitates and speeds up the process.

In addition, sentiment analysis is performed to detect when the words that the customer uses are negative. When this happens, a red flag is raised and the BOT notifies the supervisor of the respective customer support representative that the customer they are talking to is not happy with the conversation and provides the supervisor with two links through which he can either connect to the customer support rep via chat or directly join the call. 

We also implemented a speech-to-text functionality that transcribes the conversation whilst collecting the names, timestamps, and emails of participants, and automatically sends them the transcript via email at the end of the call.  

Last but not least, we implemented Microsoft Face Analysis, which offers the possibility to analyze the face of the customer when the camera is on and provide insights about their face and behavior. This could be used to build engaging customer experiences and maximize their satisfaction.