Microsoft and their Generative AI and Copilot push. That is what 2023 is about. And this time at Ignite it is no different. In fact Copilot is mentioned in the Ignite book of news a staggering 281 times. I wanted to count the times Satya said it during the keynote. But I guess I better wait for Copilot to transcribe it, so I can ask it the question directly. In this blogpost I will write down my overreactions and ramblings about Copilot, the Power Platform but mostly about Microsoft Copilot Studio. While writing this, I recognize I am not good in overreactions, so my nuance will follow after my initial reaction 😅
Again with all the renaming of products?! Cognitive Search is now AI Search and Bing Chat is now Microsoft Copilot. This Copilot thing is already confusing! Every product has it’s Copilot and even Copilots to help you build Power Apps in which you can also utilize Copilots. I get that naming things is hard, especially with the fast development cycle Microsoft is in, but it is hard to keep up. I do think in the grand scheme of things, Bing Copilot fits better with the rest of the products. Now let’s jump into the biggest announcement. The loss of Power Virtual Agents and the birth of Microsoft Copilot Studio.
With European release news just around the corner I want to share my new series with you. Create your own Human Resource Copilot for your employees. Unburden your HR staff but also important, let employees engage in a manner of their choosing! In this series I want to also share with you all the cool things you can do with both Generative AI technology included in Power Virtual Agent. Both for building your chatbot with a prompt as well as consuming it. And I also share all the neat new features that are now possible with the new authoring experience.
To start of this series I want to lay some ground work. Let’s create a topic to request a day off. In this post I show you how to create your topic using a prompt to the Power Virtual Agent Copilot. I will also share some of my experience with making changes with Copilot in topics.
It’s that time of the year again, the second release wave of the year. We again get insights in the direction the product teams are taking in their continuous improvement efforts. In this post I will highlight a couple that caught my eye. I will tell you why and hopefully this is useful for your own digestion of all news coming your way!
Before we start I want to speculate if this is one of the last Release Waves as we know it. Recently Microsoft announced they will move to a monthly update cadence for Model-Driven Apps. This will move the product towards a modern cloud application with faster updates. Hopefully though, Microsoft keeps us informed of the direction they are taking with their various products.
In essence the Release wave already is on a monthly cadence as all Release Wave features are already released scattered throughout the year. However, for all you applications managers out there, it now is time to change your processes to a more iteratively approach. Especially if you can utilize the user level overrides to let your key users test and experiment before you roll out to entire teams!
It’s Microsoft Build time again and this year is special. We are seeing AI and co-pilot take the center stage. And unlike the the previous hype of the metaverse, this one feels different. It’s different because of 2 reasons. One, Microsoft together with OpenAI is a frontrunner in the field. And two, there are an incredible amount of applications for Large Language Models to make our life easier. In this blogpost I will give my thoughts about Power Platform announcements I’m most excited about.
But before we actually start off with the Power Platform announcements, I urge you all to look at our friends from the Data Platform side. Microsoft just released Fabric in preview. In every organization data and analytics is decoupled. Microsft Fabric brings together the best of Microsoft Power BI, Azure Synapse, and Azure Data Factory into one unified platform. Satya Nadella called this “The biggest data product announcement since SQL Server.”, making this an area to keep your eye on! On top of that there’s an incredible powerful Copilot coming to Power BI. This will help you both gain insights by asking questions on top of your report, but you can also describe the insights you need.
Speaking of Copilots, let’s jump right into talking about this. A part of me is still overwhelmed, but slowly I’m grounded (pun intended) in what this trend means currently. First of all, having the Copilots available to you, does not mean you will not have to learn how to build apps or automation. It will only help you on your way. See the Copilots as a way to be more efficient in making the stuff that you want. Keep challenging yourself to change / improve the way you work to get the most out of these productivity tools. And I say keep challenging yourself as these tools will improve over time. What does not work great now, might work later and be a real timesaver!
For example I normally build my Power Automate Cloud Flows iteratively. Thinking about what I want while building a couple of blocks at a time. The current Cloud Flow Copilot is great when you describe in detail what you make upfront. It has incredible productivity benefits if you use it. However it was hard for me to adjust to this way of working. Luckily now we get a Copilot inside the Cloud Flow designer to help me be more productive when I work iteratively.
Secondly I think Copilots and AI are a great way to learn. To me it feels they can step into that void between using a template or tutorial and calling an expert. When I was learning I always felt I was disturbing my colleague with my dumb questions, even though I knew I wasn’t! I think getting a preposition of what you want to do from Copilot can help getting you unstuck and on your way! However, I am a bit reserved with the Power Apps Copilot. It needs quite a few iterations before it gets to that intermediate level of capabilities and learning. Singular table data models are not the reason why you will move to Dataverse. But things might move faster then I imagine, I’m hoping to be proved wrong!
Power FX Dataverse Plugins?
Something that might have gone under your radar is the Dataverse Accelerator. It is a new tool developer by the Power Customer Advisory Team. Now what that tools means to do is not really clear to me yet. I just stumbled upon it because I really want to learn more about the feature Custom plugins in Dataverse using Power Fx I saw in the Microsoft Build Book of News.
It’s experimental and you can play around with it by installing the Dataverse Accelerator in your environment. I have not played with it yet, but the possibility to take your low-code skills and write logic on the table level is exciting.
What is even more interesting is the experimental direction Microsoft takes. By creating Accelerators, Starting Kits, Creator Kits and Collaboration Controls it allows the Product Team to experiment what works. Working closely together with customers and the community it generates learnings to eventually bringing these features back in to the actual platform. Examples of these are the Modern Controls, Pipelines and Admin features.
Bot Building will never be the same
We HAVE to talk about Power Virtual Agents. First the new authoring experience is now general available. Over the last year so many new features have gone into this authoring experience, it has fulfilled the promise of combining PVA with Bot Framework composer. It is now safe to use in your production environments and you can create bots in other languages.
Then we go towards generative answers. With it’s first preview release I point it to my own website. Which already is a great way to add content quickly to your bot. But now we can point it to multiple sources. And those sources may include your own private content on SharePoint, OneDrive, Dataverse or your own custom content. Such a powerful way to add data. I’m not sure if I will ever build a FAQ agent ever again.
Generative Actions in Power Virtual Agents?!
Now to top it all off Microsoft showed what they are working on with Generative Actions. By adding Plugins to your Agent the Bot will decide for itself what action to use. Plugins can be out of the box Connectors, APIs and even your own cloud flows. PVA will look through it’s libraries of Plugins to answer the users question. It will even ask follow up questions if it needs more information to complete!
After you’ve added these plugins you can test how it performs inside the Test Canvas. It will show you which plugins it picked in a “Tracing Mode”. There you can also see what information is still required for a certain action to complete. It absolutely looks like a killer feature. And it is not some future vision of the product, it actually is already available in a private preview!
It looks incredible powerful, but I have some small concerns. For example will we be able to set priority on those plugins? Which plugin will take precedent over what? Will we be able to decide how answers will be presented? Multiple cards in the same response might not have the best user experience. Also the generative answers makes the bot less recognizable. When working with customers they often want their bot to stick to a certain tone.
Come to think of it, how great would it be if we can use the generative action capabilities to generate the topics with it’s node for us? If out of telemetry a certain line of questioning is often asked we could quickly add a topic based on the tracing mode of the answer and tweak it to our liking!
If I had the Windows Copilot available already, it would help me summarize this blogpost about Microsoft Build. But it would also be weird to have a Copilot AI summarize a text about AI. I think there might be some AI fatigue in the community. But the conviction, commitment and adaptation from Microsoft to this latest “hype” feels like there is more merit behind it. I for one am intrigued where all these AI developments will take us. Some of it may proof troublesome, but hopefully we can utilize it for the greater good.
This post is of course about my first impressions using Copilot for Power Virtual Agents. It is also an excuse to quickly play around with it. I want to put this technology to a quick test as I did with Boost Conversation for Power Virtual Agent. I am very much an enthusiast of this technology and the productivity it can bring. So let’s put it to the test!
ChatGPT and OpenAI has taken the world by storm. Now almost everyone is talking about AI and especially generative AI. First DALL-E shows us we can generate images and art just by prompts then ChatGPT shows we can generate entire blogpost by doing the same. I find these AI models thoroughly impressive but what I find even more so is how fast Microsoft and other tech companies are incorporating these models into their products. Today I want to focus on one small piece of these announcement and give it my thoughts by asking myself the following question: When and how should you use Boost Conversation for Power Virtual Agents?
Let’s start off with a brief description of what Boost Conversation is for Power Virtual Agents. Boost Conversation allows you to wire up your PVA to a website of your choosing. Meaning it will read the content of that website and index it. And then tries to answer the questions a user ask to your Chatbot with data found on that website. For this it uses Azure OpenAI services paired up with Bing to access and index that website. So instead of using ChatGPT 3.5 to try to answer the question with the knowledge of the entire internet it will narrow it down. Is this a brilliant decision or a flaw by the product team?
In today’s data-driven world, it’s becoming increasingly important to separate data from logic when building applications. This separation not only helps keep your code organized and maintainable but also makes it easier to manage and work with your data. In this blog post, we’ll explore how to use Template Tasks to separate data from logic and make your applications more efficient and easier to manage.
I will do this by expanding my previous blogpost where we generate Tasks using a Custom Page. In that blogpost I show how to generate Tasks to help the user in their work. However for simplicity it did not contain a Description, or even all fields. Thus the Power FX logic looks pretty clean. If we want to keep it clean we can separate the data by using Template Tasks. By storing the data in Dataverse and using template tasks to generate tasks based on logic inside the Custom Page, you can create a more scalable and flexible workflow.
The first release wave of features for the upcoming year are available for us to look at! Always fun to digest what’s coming. And as always, it’s important to note that these plans are subject to change. Consider them as a general guide for what’s to come. Please remember that this is an evolution of the platform, not a revolution. Microsoft typically saves major announcements and game-changing features for their big events, so don’t expect any earth-shattering developments in this wave. Nevertheless, there are still some exciting updates upcoming that are worth taking a closer look at.
Now the first important announcement is about the planner itself. The Release Planner tool is now General Available and I encourage you to use it! Create your personal list of features you are exciting for and easily see what has changed since your last visit. Or you can create one to share with your team to keep track on new features you need in your solution. This is also an excellent example of dogfooding as it is build on top of Power Pages!
I can categorize my highlight list in 4 topics; Improvements to the UI, Maker productivity, Application Lifecycle Management and Power Pages. And if you read more, I will address them as such in this blogpost!
Sometimes you have a step in a process which is so complex you want to guide the user. You can guide the user by giving him steps of Tasks to do. But what Tasks do you present to your user? What if those steps of Tasks depends on variables that require human interpretation? We can create a Custom Page Dialog to Guide the user what Tasks to generate! That concept is exactly what I want to show you in this blogpost.
We will extend a process I have written extensively about. The Case of the Broken Screen. In one of the steps we sometimes have to coordinate repair work. And sometimes we have to coordinate sending replacement parts. All the while by personally informing the customer. To manage this we we will be using the Tasks set-up from this Blog post on our Case table. This allows us to relate Tasks to the case we are working on.
But what Tasks to work on? Let’s open the Generate Tasks Custom Page Dialog to create them!
When assigning critical Tasks to different users or teams, you probably want to know when they have finished them! You probably also do not want a mobile push notification disturbing you in your work. Luckily Model-Driven Apps provide a way to notify users! In this post I show you how to accomplish this using Power Automate and the In-App Notification center of Model-Driven Apps.
But what I find really cool, is that you can create a richer card for your notification. You do so by combining the body and data column of the notification table. In the body you can use some Markdown to style your message. In the data column we can add json to add actions in the notifications. Actions allow you to add navigation urls to for example a form in your app. Building these is a breeze with the In-App Notification Builder in the XrmToolBox.