Simplifying MDM Support with Power Virtual Agents and Power Apps
IT support has developed into a crucial component of any modern organization as we become more reliant on digital tools and remote work. Yet, it can be daunting due to the amount of manual work involved, especially for large organizations. Thankfully, Microsoft’s Power Platform is here to simplify things.
This blog post will guide you through creating a self-service IT support bot using Power Virtual Agents and Microsoft Teams, particularly focusing on managing devices enrolled in Microsoft Intune. This blog will be followed by another post with a device management app with Power Apps, powered by Microsoft Teams and Azure AD.
Getting Started
Power Virtual Agents allows anyone, regardless of their technical expertise, to create intelligent chatbots capable of resolving common issues. It integrates seamlessly with Power Automate, Microsoft's tool for creating automated workflows between apps and services. I wanted my bot to be capable of automatically starting conversations and managing devices enrolled in Microsoft Intune.
High-Level Steps
- Set up Power Virtual Agents in Teams: The first step is adding Power Virtual Agents to Microsoft Teams. The bot is designed to automatically greet the user and offer a list of common issues.
- Define the Bot's Skills: Next step is defining topics - the specific areas the bot is equipped to discuss, like 'Device Compliance Status', 'Passcode Resets', 'Troubleshooting Guides', and 'Software Updates'. For each topic, it requires designing a conversation flow using an intuitive graphical interface. The flow often involves asking the user for more information, like a device ID.
- Integrate Power Automate: In all these scenarios, the bot's capabilities are powered by backend flows created in Power Automate. These flows start with an HTTP request trigger that receives the Device ID from the bot.
Prerequisites
To create and manage Power Virtual Agents chatbots in Teams, you need:
- A license to use Teams
- Licenses to use Power Virtual Agents
- Required permissions for using Graph APIs
- Intune Admin
- Power Automate
For this blog post, I have created a few common topics that are the most common support requests for managing devices enrolled in Intune. You can add additional scenarios such as Feature Update, Bitlocker Key, on-demand Sync, and much more.
Let’s get started!
Create A Bot
- Go to the Power Virtual Agents home page.
- In the navigation menu select Create. You can also select Home then select Create a Bot.
- For Name your bot, enter a name for your bot.
- For What language will your bot speak, select the language you want your bot to speak.
- Select Create.
Create Topics
Microsoft's Power Virtual Agents allows you to create topics to help guide conversations with users. Topics are essentially dialog trees that your bot can follow based on keywords or phrases provided by the user. Here's how to create new topics.
- Once in the Topics page, find the option "New Topic" usually at the top,ö and click on it. This will open a new topic creation page.
- First, give a name to your topic. After that, input some trigger phrases. These are phrases that you anticipate your users might say that would make the bot start this topic. For example, I am creating a topic about 'Password Reset', trigger phrases could include "I want to reset my password", "How can I reset my domain password?" etc.
- Once you've set up your trigger phrases, start creating the conversation flow for your bot. This is where you'll design the path of interaction the bot will take once a topic is triggered.
- Use the
Message
node to send messages to the user. - Use the
Question
node to ask something to the user. - Use the
Condition
node to create conditional paths in your conversation. - Use the
Call an action
node to connect with Power Automate flows, which allow you to connect to external systems. - Use the
End with survey
node to close a conversation and ask for feedback.
Author & Edit The Conversation Flow
Let's take an example of the Greetings topic. This is the first topic, which will initiate the dialog between your user and the Bot. Here, I have modified the sample topic in my bot.
First, I modified the trigger phases, so that the conversation can start. You can also modify the index.html file to let the Bot automatically start the conversation.
Next, I incorporated a "question" node where the bot greets the user by their name and provides them with a list of options for which the bot can offer assistance.
Depending on the user's selection from the response options, I have implemented conditions to guide the conversation to the relevant topics. For instance, if a user chooses "Device Compliance", the bot will then direct the conversation toward the "Device Compliance" topic.
To achieve this transition, you need to have the topics created and configured.
Revisiting the example, let's assume the user chooses "device compliance". In this scenario, the bot transitions the conversation to the "device compliance" topic. Within this topic, I've also incorporated triggers so that if users need to verify the compliance of their registered device, they can directly access this topic.
To foster a more productive conversation, the bot is programmed to inquire about the specific device platform for which the user wishes to check compliance. This is a useful feature, considering it's common for a user to have multiple devices.
Now we're at the point where you'll be interacting with Graph APIs. Based on the user's chosen platform, I've stored the response in a variable that's then utilized within Power Automate. I've employed the "call an action" node to invoke the Power Automate flows configured to execute this sequence.
To ensure an interactive conversation, I've incorporated conditions to capture the user's response. For example, we can determine whether the user needs to be redirected to a service desk agent for additional support, or whether they are satisfied with the assistance they've received.
Let's consider a different scenario, such as a Passcode Reset. Since the passcode reset command is exclusively applicable to iOS and iPadOS devices, the bot will autonomously verify any such devices the user has registered in Intune and will display the device details. The user is then prompted to enter the device ID for the device that needs unlocking.
If the device unlock attempt is unsuccessful, the conversation is then routed to a readily available Service Desk agent for further assistance. The design as below:
Quick Demo
Wrapping Up
The combination of Power Virtual Agents and Power Automate can significantly streamline IT support and device management. Not only does it automate many manual tasks, but it also ensures users get immediate help when needed, and IT administrators have the tools they need to manage devices effectively.
I hope this walkthrough inspires you to explore how Microsoft’s Power Platform can transform your organization. Remember, every organization is unique, so feel free to tweak the steps to best suit your needs. Happy building!