[MUSIC] Welcome. Today we will talk about Business Central and Power Platform. My name is Blazej Kotelko. I work as a product manager in Business Central Development Center in Copenhagen.
And hello everyone. My name is Monica Ahuja. I'm a senior software engineer in Business Central team here in Copenhagen. Today we'll cover various aspects of Business Central integration with Power Platform, starting with Power Automate, Power Apps, Dataverse Virtual Tables. We'll mention, of course, Power Pages, Power BI, and so on. And that all starts with Business Central being and running in Microsoft Cloud and working closely together with all those Microsoft Cloud services like Microsoft 365, Azure, Power Platform, and Dynamics 365.
And of course, for the context of this session, we will be looking at Power Platform. Power Platform, for those of you who don't know, is a set of low-code development tools, tools that help you enhance Business Central and create new experience for customers. And that might be Power BI, where you can build business analytics, charts, reports, and dashboards. Power Apps, where you can build mobile or desktop apps. Power Automate, that allows you to create automations, workflows, and various other automated tasks.
Then we have also Power Visual Agents, which is a tool allowing you to build chatbot experiences, virtual agents, plug them into your websites, into teams, and into your apps. And then last but not least, Power Pages, a new tool from Power Platform Family, allowing you to build websites that are externally available. And all of that works on top of Dataverse, Dataverse being Microsoft's data management platform.
And works together with connectors. So connectors are a very important component of Power Platform, allowing you to build connectivity to various systems. And that includes Microsoft's products, but also third-party products. And of course, Business Central connectors are in that group.
And as you can see in this wave, we actually changed the icon theme for the Business Central connectors. So now it is easier for you to distinguish the online version from the other on-premises Business Central connector. Let's start with Power Automate and the enhancements we have done in that area. And that all starts from the way you create flows. You know that in Business Central, you have the Automate group in most of the pages, and that's where Power Automate integration is located. And right now in this wave, we created a very easy way to distinguish between those three different ways of creating Power Automate flows.
You will see approval workflows. So on pages that support approvals, for instance, sales order, you will see an action to create an approval workflow. You will see also a new entry point, a new action, allowing you to create automated flows, those flows that run in the background and are able to react on various events. That might be business events coming from Business Central, but it might be also some events coming from outside, like for instance, a message, an email that you have received. And then the third option is something that you are familiar with, but we changed the name a little bit to make sure it's easy to understand that this creates an action in Business Central Action Bar that starts a Power Automate flow and then can automate something that you need to automate in Business Central. All of those are features enabled in feature management.
So if you have a Business Central tenant or environment that has been upgraded from previous version, make sure that you turn on this integration with Power Automate and templates in feature management. If you're creating a new environment in Business Central or a sandbox environment with preview version of Business Central 2023 Wave 2, this is enabled by default, and this is enabled on by default for you. And as you see, we have a lot of templates, and we're talking about templates because we want to focus you or focus your attention on templates, and we are giving you a lot of templates. And I think Monica has something to say about those.
Right, Blashe. So in this release, we have not only improved the existing templates, but we have also added a lot of new templates in all the categories of flows. So for example, we have added a request approval flow for Sales Order Entity, but previously you would set the approval request by email, but in this one, you could also send adaptive card in Teams. We have added 17 new automated templates that are based on external business events.
So these templates allow the notification on Teams whenever an external business event happens. For example, a customer is blocked, or a purchase order is released, and so on. We have also added new instant templates.
You might have already seen the block, the selected scenario in instant templates. Now we have added three more, which includes scheduling a visit, creating summary email, and summarizing inventory for item from all the companies. So that was about the templates. Thank you, Monica. When we're talking about templates, you can create a flow based on the template.
And actually, as you have seen, we have plenty new templates in the box. We will be for sure adding more. But you might want to edit that template and create some adjustments to it. And we will see that later on in the demo. The templates that we provided for approvals have been also changed, so they are not completely new, but they have been changed, and some new capabilities are added to those.
I think it will be best to show it in a demo, Monica. Yeah, let's see the demo for the simplified Automate Approval Template experience. So let's start with the flow that I created based on an existing approval template. And as you can see, it is massive, so let me just zoom in. So we have made plenty of improvements in this template.
Let's start with the first one. Previously, the requester that would show up for the approver will always be the creator of the flow, no matter who actually requested the approval request. So now we have improved that by actually adding the real requester's email in the approval action.
But not only that, we are actually getting all the details of the requester and passing it along in the mail that the approver gets. So approver knows who the requester is. That's one of the improvements that we have made to this template. Another one is now we are supporting the cancel scenario apart from approve and reject. So we have exposed the cancel action as the endpoint.
And now when the requester cancels the approval for any reason, then that will be also supported. Please remember that these templates are just the basis or examples that you can start from. You can always modify anything on these templates as per your need. Let's say, for example, you can add an action where you want to add an item to a SharePoint. So you could just go ahead and click an action and change as per the need. So in this case, we will go and search for SharePoint.
And we can say I would like to create an item on the SharePoint. So that's how it's simple it is. Thank you, Monica. That was very interesting.
As you have seen, Monica is creating some additional experiences in those templates and playing with the maker experience. And we made it much easier in this wave to manipulate flows and create flows that later on, when you run them, are working with different companies and different environments. Yes, you're right, Blasje.
So in this wave, you don't even need to specify a company to list API categories or tables for any action or trigger of the connector. But not only that, you actually get all the metadata details without specifying the company. So now you can use just a standard variable for specifying the company ID and then make flows that can run in the context of different companies. We also support the use of data was environment variables for environments, which means that now that the ALM story for ALgo for GitHub also supports environment variables.
But talking about companies and environments, what other improvement have we done? We have now added a new action in the connector called list companies. It allows you to get all the business central companies for a given environment. So basically now you can enable flows data across the companies. Let me just quickly show you a demo for this.
To show you all the improvements that we have done for the maker experience, I'm starting with the solution where I have defined an environmental variable called BC environment. And as you have seen that I have also added a default value of my current production name to this. So let's see how we can use this for better makers experience.
I'll go ahead and create an instant flow. And we can now look for the new action that we have added. It's called list companies. And you can see that it only asks for environment as an input and provides the list of companies for that environment.
And normally you could just add the predefined environments, but you could now also use the environment variable that data was provides. So in this case, I'm going to do that. And let's see how the further metadata is created. So right now I'm just going ahead and creating record. And you can see that I can use the environment variable again for the environment.
But now without even specifying the company, I can already fetch the API categories. This wasn't possible before. And not only that, I can also fetch the tables that are available for these API category and all the metadata that exists for that particular table.
So what does that mean? That means now we can use the normal variables to define this. But not only that, we can also use the output of list companies so we can go through each of this company to create a record in all of these companies. So in this case, I am using the output from list companies. And that's how simple now creating a flow is. Thank you, Monica.
That was super interesting. Imagine what you can build right now with those new tools. One more thing that we added to the connector, we have added that already around summertime. So you could have seen that in the connector.
It's a trigger to react on business events. The concept of business events is new in Business Central. And it's still in preview. But that allows you to react on special code or special events that happen in your code.
We have created several business events in our app, from Microsoft. But you as a partner are able to create a new event using a new ALA construct. And then you use a Power Automate trigger when a business event occurs. Or if you're using virtual tables, if you're virtualizing our data, you can also use the Dataverse trigger and react on those business events. That event passes a specific context to Power Automate. For instance, a document ID.
This business event can be triggered from any company. It could be a specific company or all companies. So you can react on a specific business event coming from any company in a given environment. That can be quite powerful. Super.
And connector also supports latest versions of business events, right? Yes, I've heard about that. Let's see that in action. Yes, let's see the demo for this.
For this demo, we will start with Business Central client. So we'll start with the single consolidated place for creating approvals based on templates that Blashe had referred in the previous slides. And you can see there are three options available. For business events based templates, we will select Create Automated Flow. And now it opens a template gallery where you can see all the templates for the given entity that are based on automated flow. This is something similar that will also happen for other actions.
But that will be based on instant or approvals, depending on the action you have chosen. So in this case, we right now have two templates that basically notifies on Teams whenever a customer is blocked or unblocked. So basically, whenever these particular business events happen. Let me just go ahead and create a flow based on one of these templates.
So this one is smart enough to recognize what are the connections needed. So it's only Business Central and Teams to notify. And then basically, it asks you which team and channel you want to get notified to when the customer is blocked. So let's just go ahead and select Communications Team.
And then it will pop up all the channels available. There's only general. So let's select that and click Create Flow.
That's how simple it was to create the template. So now we will just go ahead and block the customer. So I'll block this one. So you can see this is not blocked. So we'll just go ahead and block it.
And let's see what happens on the team side. So on the team side, you can see that I have received an adaptive card, which gives me the details of the customer card. And it also adds a special header that says customer has been blocked. Let's see how it looks on the Automate side.
So here you can see a new flow has been created for notifying it on teams when a customer is blocked. Let's just see what are the details of this flow. So you can see that this flow is based on the when a business event occurs, which is a trigger that we use to identify all the business events.
In this case, we are saying customer blocked. But there's also all other business events that are available out of the box. As a partner, you can also add more business events. And then it will automatically recognize those available business events. But what else is there? We're now extracting the particular customer who is blocked.
And then we are getting the adaptive card. But now we're doing a small trick to actually change the output of the adaptive card, which allows us to add the header, saying that the customer is blocked. And then we are posting it in the channel. That's how simple it is.
Thank you. Let's have a look at a few other things. So this first one is about notifications that come from Business Central to Power Automate, based on webhooks.
Before, there was a limit of 100 rows only. And right now, it's 1,000. So we changed that 10-fold. And that allows you to build flows that react on bulk changes when you change a lot of data at the same time. And that, of course, opens new scenarios. The other thing that we would like to mention is V2 actions.
You have seen in our connector that there are actions-- the current actions called V3. And then, of course, some old actions designated V2. From December this year, all of those V2 actions will be hidden.
And you won't be able to see them again. But for the flows that are running, that are in production, they will continue to work. We are not disturbing you. But if you edit those flows, you will have to update to version 3. We would actually encourage you to do it before December and change and update your flows and always use the latest versions of the actions. So this notification or the change of this will be happening in December.
Let's switch gears to Power Apps. We talk about Power Apps and two different types of Power Apps that work with Business Central. We're talking about Canvas apps, where you have full control over the UI, but you have to build that UI. And those types of Power Apps are usually designed for mobile experience, for phones or tablets.
And then they work with Business Central through our connector, all through Dataverse virtual tables. And then the second type of the Power Apps is model-driven apps, which are based on a database model. And that requires Dataverse virtual tables.
But let's talk about the Canvas apps, the apps that are designed for mobile. And we have added some interesting things in this wave to the experience for partners. Yes, Monica? That's absolutely right, Vlage. Not only we have updated the documentation, but in this release, we are adding new sample apps so you can get started fast. And we are also providing the get started guidance on how to make the app look good, easy to maintain, and properly engineer.
Let's talk about the Dataverse virtual tables. This is a technology that allows you to visualize data from Business Central so that it appears in Dataverse almost as native tables. And then, of course, it allows you to build rich integrations with Dataverse apps or apps that are running on Dataverse. That might be other Dynamics 365 apps, but it might be also some custom apps that you have built. In this way, if we made it much easier to get started-- so when you are starting from Business Central, you go to Assisted Setup, and you enable Dataverse virtual tables. Right now, you can easily choose which virtual tables-- or which tables you would like to visualize and just enable them one by one.
Or even you can select multiple and enable them from within Business Central. What is also important that this technology, virtual tables for Business Central, is going to be generally available later this year. So you can start building more robust solutions based on that technology. Speaking of virtual tables, we need to mention Power Pages. Power Pages is a new product coming from Power Platform.
And later in this year, we will deliver a preview version of our integration based on Dataverse virtual tables. That means you will be able to build portals or websites that are exposed externally, that are available to your customers. So think about B2B scenarios. Because Power Pages enables authenticated access for external users, and there is a way of mapping those external users to your customers, you can think about building portals where your customer can see data related to them only. We will provide more details around this technology around November timeframe. And of course, this will be a preview opt-in experience at the beginning.
And we will be looking for feedback from your partners through our Yammer community. We will talk about Yammer in a moment. You will also find a separate recording talking about Power Pages and Dataverse virtual tables and this technology in this event. Let's talk about Power BI. In Power BI embed experience, which you will see in Business Central, we have made some significant changes to make it easier for you to control what you see and how you see, especially when you see reports of dashboards that are full screen or larger. You can control how the page opens up.
You control the zoom level. You can control pages. And those pages are remembered. So it's easier to return back to your specific report that you choose. We also support Power BI scorecard.
So right now, if you built a scorecard, it is also viewable from within Business Central. And we also added some components in AL that allow you to control that from your code, from AL code. And there is also a separate recording in this event that talks about this experience. To summarize, in Business Central integration with Power Platform, we offer multiple technologies, starting with Power BI and Power BI connector through our standard core Power Platform connector, allowing you to work with Power Apps, Power Automate, Azure Logic Apps as well, and of course, the rest of Power Platform.
We offer Dataverse virtual tables that virtualizes data into Dataverse. That will support Power Pages natively, as I mentioned a moment ago. And then we also offer Data Sync, which is a technology that allows you to sync data to Dataverse. And that is mostly to connect to other Dynamics 365 products. If you have any questions about that integration, we have a special Yammer group for Power Platform and Dataverse in our Yammer community. Of course, we are always in our social media, Twitter, X, LinkedIn, and so on.
If you're looking for anything, aka.ms.bcl is your link. And of course, always submit ideas through our ideas site. We have also, a couple of times a year, open office hours or office hour calls for Power Platform.
And there is one in the next couple of months. So please tune into those and ask any questions related to Power Platform integration over there. And I think that will be it from us in this recording. Thank you very much. Thank you.
2023-12-31