Microsoft Dynamics 365 for Finance and Operations Business Events framework - BRK3016

Show video

So, good morning everyone and welcome to. This session on business. Events in, finance and operations, I am Sunil Garg I'm, the program manager for integrations. In finance. And operations and, with, me today I have, you know couple of my colleagues and dear friends, you know marae 5 who. Is a technical, solutions professional, I'll introduce them on. Their behalf in the interest of time and then, Chris Gotti who's a program. Manager in finance and operations as well so. Together we, are kind of doing a joint, session on business events in financial operations, so. Welcome again to. This session. So. The. Next 60 minutes or so we'll quickly go through the. Concepts, of business, events, I'm, sure. Some of you are already, familiar with business, events and how. It can help in, scenarios, but. We will quickly you know bring up to speed and. Be on the same page with regards into what the concepts, are and, we'll. Quickly go through the framework in terms of what is out there today. And. We'll. Understand the features and functions from a framework perspective. Then. We'll try, to tie, those framework. Concepts, in to real-world scenarios. And to. That effect we will take a look at couple of demos one, from Murray and one from Chris in terms, of how, you. Know real-world scenarios, can be affected through, business events, or using business events. Along. The process we will also try to understand, what, business value, are we going, to accomplish you know as an organization. Why should organizations. Look at using business events how does it help with your bottom line if at all so. Will will try to share some of our learnings, that we have had along the way and and. Will will understand, that as well. Towards. The end we will wrap up with quick summary and Q&A, and if, we don't have time for Q&A, you know we'll still be outside and we can have offline. Conversations. On, business events. So. Just to set context, right why business events how did we embark on this journey of, event-driven. Architecture and, why did we start with business events. So. When we look at a business process. The way we are looking at business processes basically a business. Process is a chain of events and actions right. As we look. At how users, interact how. Users, complete their tasks, when, they execute a business process, users. Are essentially, taking. Some actions and those. Actions, generate. Business, events and in. Response to a business event either, a user or a system, needs, to take some more actions and these, actions again generate business events and so. On and so forth right so this is a chain reaction that continues, to happen as, business. Processes, gets executed as users, interact, and complete. Their tasks, tasks. Tasks, could be manual, tasks, could be automated it doesn't matter at, the end of the day somebody. Has completed some tasks and they. Take an action to tell, the system that yes I've completed this and that results into a business event right, so. The whole concept is can, we not facilitate. Business, process, integrations, using, these decomposed.

Concepts. Of business events and business actions right, the. Ideal state, will be that you know we have a rich set of business events, and there, are a rich set of business actions and if. We are able to plumb these two together then, we have a good story a good solution. A much, more efficient, solution, from an integration perspective at. The business process level right and from. A business objective, standpoint the whole idea is to basically. Streamline. Integrations. In, terms of making. It less costly, for our customers, when it comes to implementation, and. From a business user perspective, it's all about increasing the productivity and efficiency of business processes, right there by making. Our users more productive, so that they can spend, their time in doing other value-added, things rather. Than spending time in doing things that can be automated, or that can be much more efficient. So. We will share a case study as we go through this process in terms of what we have learned so far in real customer, environments. As well although. The feature is fairly new so I, don't, believe there. Is any customer, that is live on this yet, but. We have been in a working with some of you in this room as well and and others that are not there in, terms of you. Know understanding. Case study is working with customers to make sure that, business. Events is used in the right way so. With. That concept. I, want, to quickly switch gears and walk you through the. Framework, functionality. Here. So. What we see here is the business events catalog, and. The. Catalog is basically showing the. Out-of-the-box, business, events that are shipped with finance and operations right. So. In the catalog you can see there, are different kinds of business events for example the. First column shows the category of business events so, alerts for example, is exposed, as business event meaning. You. Can configure. Alert as you would normally do but at the same time now you have the option of taking the business event out of F and now into. A Azure event event, hub or event, grid or a service bus for example or Microsoft. Flow so. You can trigger a Microsoft, flowed directly from, a alert, in fnot, using. Business events and the, same concept, extends, to application. Business logic right so there are 15 business events, across. Procure-to-pay, in order to cash business. Processes, that are shipped out of the box like purchase.

Or A confirmed, business event which is highlighted currently, right, so. Meaning when a Pio is confirmed, you are now able, to let. External, systems, know that, this Pio has been confirmed, in finance, and operations and then. Using, that information you, can enable, several, use cases right from rich. Notification. And collaboration. Use cases to, systems. To, business process integration where, you can actually say ok this Pio got confirmed, let me let let me tell the other system that the Pio has got confirmed or, you can get, additional data about, the specific, Pio from if I know and then, continue, your business processes, on the other side so. This is a near real-time, business. Process, integration capability. That we. That, is how we see business events as. On top of you know enabling. Notification. And advance, notification and. Near. Real-time collaboration, with users so. That's how we see. The. Whole business process get, becoming efficient because if we make our users efficient, and, that accrues to the business process becoming much more efficient so that's kind of the idea here. So. On. The right hand side what you see here, is a description. Of business event in terms of when, this business event will get fired because there can be several different. Ways, to confirm a Pio in fnow so. Does this business event cater to all the flow all the code paths or, does it only cater to when you click the button on the UI and not, when the batch is running so this. This basically explains as to when the business event is going to get triggered and what. We see here is basically the list of fields that will be sent in the payload when the event happens and you. Receive the event on the other side as a recipient this, is what you can expect in in. The event. Then. Second concept I quickly want to go through is basically, the concept of endpoints. And, when. We say endpoint, what we really mean is the. Azure event, grids event hubs you know. As. A blob. Microsoft. Flow logic. Apps you know all these are modern technologies, that are out there today which we must absolutely leverage, so. To that effect finance, and operations through business events is now, having a out-of-the-box. Integration, capability, with all, of these cloud technologies, in a jour where. You can come in and. Configure, based on your integration, requirements as to how you want the. Business events, to to go out right. So one can imagine, you. Know having domain-specific. Business. Classes, or business domain specific, topics, in service buzz for example right you can have topics by this. Is my procurement, topic this is my sales topic, this is my master. Data topic, or customer, topic or a vendor topic and then, you can configure those corresponding, business events and say all, my procurement, business events will go to this topic a the. Sales business events will go to my sales topic, and so so, you have that flexibility, now, to. Configure, your integration, based. On whatever the requirements, are and then come in and, express the same thing in finance and operations. So. Switching. Back to slides here. So. Once we set up those business events and once we have the, endpoints configured. What. Happens at runtime is what we will look at in in the couple of demos that you know Maury and Chris will, will. Show us. But. Where, are we right now right, so business, events was previewed, in, platform, update 24, and, that was I think end of March if I recall and. Since. Then we have been working with, our. Customers, and partners and, ISPs, you know some of you in this room as well and. With your help you know we have received, quite, a good amount of feedback you know we did a couple of workshops as well. So. During, the next, couple of - since March we actually took time to respond, to those feedback and we. Vg8, business events in platform, update 26. So. Right now it is GA so you can what I showed was you know GA so. You can absolutely go and take a look at it and start you, know exploding, business events. Like. We saw in the catalog out, of the box there, are application, business events, and in procure-to-pay and, order to cash, business. Process areas there. Are workflow. Business events which is quite exciting, and quite important. Because the. Workflow framework, has, natively, app taken business events framework, meaning. Ask. Customers, partners and I guess VC we really don't have to write a single line of code to get.

New. Workflow, events, right because as users, you can create workflow configurations, the, way you want and your. Workflow configuration, will get exposed as business events in the catalog itself so, you can have your custom workflows, you. Don't have to write a line of code those, are exposed, as business events right off the bat and that, is something that you know Chris is going to go detail into into one demos. As. We saw alerts are also exposed as business events so these are the out-of-the-box business. Events that we have and. Business. Events comes with a programming, model meaning. You, as. Customers. Partners and ISVs you, can easily extend, to add your own business, events right. Not just business event but the concept of endpoint, is also extensible, meaning. You can add support, for mule soft if you would like so. That business events can be sent to mule start if that is the integration platform you. Are already using or Oracle, service bus it doesn't matter the, constructs are the same you, can go and extend and implement those interfaces and you. Will be able to realize. The end-to-end functionality, as, standard. Microsoft. Flow integration, is is first-class, now as we. Will see again, so. You can directly trigger, flow applications. From. Finance and operations using. Business events. So. The, hard question, right this. Is cool right business, events or cool business, events can do so many things the, potential, is unlimited. But. The real question is what business, value does it add right. So. We've, been working with few customers. Where. We are basically looking. To understand. Their business processes, and we. Are breaking apart the business processes, the way it is integrated, today from an integration perspective not from a functional. Perspective and. Seeing. What value, can business events bring in. Terms of first. Simplifying. The integrations, and second. What. Is the bottom line impact to the business right so I'll. Share some insights that we have derived so far. The. First big area, of impact is as, we are seeing is. Reduced. Usage. Of - right. Because. Today. In integrations, when we look at it there. Are several. Batches, that are run on a periodic. Basis it can be as. Frequently. As every five minutes or. It can be every two hours or once a day it doesn't matter, but, the point is any reasonable, sized integrations. Will have few. Hundreds to few thousand, of, executions.

Of Batches, every day and if, we drill into the reasons as to why it, is configured, like that and what is the requirement, more. Often than not it boils down to there. Is some polling, logic, that it is running just. To know if something, has happened or not right. Like, urgent. Sales orders right out, of hundred, sales orders five sales orders will be urgent, and when, that original, sort of comes we want to process and prioritize, that over other things so. Those are genuine business requirements. But. Technically, from an integration standpoint, ok let's schedule a batch that runs every five minutes because I don't want to delay the. Processing, of an urgent sales order right, so. This was an exercise we went through one of our customers, and we and, these are real numbers right and they've not implemented, this year but this is just the. Process we went through, so. We have what, we learned was we can reduce the, total number of batch executions, by. 4,000. Executions. Per day so. It was their integration, landscape, it was a complex integration, landscape right several. Systems integrating. And several bad jobs scheduled. But. What we realized was okay, let's just break it up let's enable few, business events in these touch, points and we. Don't need batches right we, can just save, these wasted, executions. Wasted, system cycles and reduce. The load on over all AOS and fnot our, system and not, just that we can introduce. Efficiencies. Right that is where we go into the next set. Of benefits. Which is. We. Can we can foster real-time, near real-time. Notification. And collaboration, with users thereby. Making them much more efficient and and. Without naming you, know customers, or anything I think there. Is a potential for saving, some full-time resources. On the team right and what. Does that mean that translates, to hey. We can have these full time resources focus, on other value-added, things rather than doing. The same thing over and over again so that was a realization that that came came across. Secondly. He, we are able to process you. Know customer invoices, efficiently. Then, we create opportunities for better cash flow if, we are able to process vendor, invoices much more efficiently, then, we create opportunities to negotiate, aggressive payment terms for example right, so. Those are clear-cut. Opportunities. Where cash, flow can be directly impacted and again this is all theory years of now right this is the work that we have done over. A two day three day workshop, with all the business analysts, on the team where, there is a there, is a good opportunity, to have, this bottom line impact but, once they implement, the business events, and things go live, that is when we we get to know realistically what's going on but. This is the, current state and this is the learning that we have so far, the. Other benefit, is all the parties that are involved, in the business process which, is internal external trading, partners, or, suppliers. By. Nurturing new real-time collaboration. And, communication we, basically, improve, the overall satisfaction. Whether it is customer satisfaction or, supplier satisfaction, it doesn't matter the. Entire ecosystem is much more informed, in near, real-time which. Builds, confidence in, your organization's. Business processes, and that, improves the overall satisfaction, as well which, we.

Cannot Put a dollar value to that but, that is something that goes a long way in the overall you. Know scheme of things so. These, are some of the learnings. That we have had which, we find it very useful that we we keep sharing that over there's. One more thing I want to show. So. This, is the business events documentation, it, basically walks through the. Things that we have been talking about. The. Thing that I wanted to show here is basically, the use cases for. Business. Events and, the. Intent, for starting a wiki like this is is. Primarily, to to. Share. From, community, as to how they see business events being used so. This list of use cases is not from Microsoft, I think two or three are from Microsoft. Based on our learnings from from from customers but. This is primarily, contributed, by community. By by some of you by. People who are not dead in this room but basically MVPs, and all of them have and are contributing. To. How they see business, events being useful. So. One. Thing that I will suggest is please go through this this this, triggers, thoughts. In terms of okay I can use business events for this reason, as well right so, that is the intent of starting such a wiki which, is to create a, community. Around how. People are seeing they, use business events, so. Please take some time to look. At this as well. So. With that I'll quickly, hand off to moraine, for. A quick demo on business events Marie, okay. So. Some. Business, events are cool there's also van sir the best thing ever it's because, you, know and I'm, really excited about it because everyone. Else CRM, and all of them they've had a way that they can trigger flows and then can have all these workflows running in the background we really haven't had that up. Until now and what. We can do with this is. Pretty, darn cool so. What let, me swap over to. Eight. So. The. Chris, is going to show workflows. So workflows, are more controlled and also, already sort of partly, in the system but. There are a lot of processes that, you, need to that you may want to manage, that, maybe outside, of the system and that's. Where I'm going to show you how we use alerts and the. Business. Events to do that and so. They all said to me you said what. What examples can you think of and I was thinking well a lot of things are business processes, and checklists that need to be performed we've. Got some of their functionality, and dynamics, but if you're. If, you've got a new product introduction. Or a new, customer, onboarding, then. There. Are steps, and exceptions, that need to be managed, within the system so. What. What, I'm going to do here. Let. Me just go back. As I'm, going to create a new customer. And. I'm gonna sign it a group, there. In a zip code. And. What. Would normally happen and never this. Isn't rocket science for, for all of you.

But. What's, normally going to happen when we go out and create this customer, if, the customer just goes live but. As a, prospect, as it's coming in then there's probably a lot of things that we want to do we need to set up the credit terms we need to set up delivery, terms we need to make sure a salesperson, is assigned to it and. Right. Now a lot of that's just informal. And if. You do, have a formal process then, a lot of times, it's email and you're, monitoring, and you're trying to manage. All this with one customer that's. Not that big of deal but we're the more. Customers, coming in or being on boarded then, that, starts, to become a little bit more work, so. I thought how could we do this or how could we show. These business, events happening in the background helping. Us and enabling, us to trigger, us so. What I did is, I thought, well we've got planner, with an office and, it. It, can give us tasks, it can assign tasks, to different people and also it has a link into flow so. As I, go out and as I create. A customer, then this is going to use, the alerts. Function, to go out and trigger an event to say we, need to what, do we need to do when a new customer comes on board so. As you can see here of God some. Customer set up tasks, and the good thing about planner as we can go and look at this as charts, we can look at it as scheduled we can see who's been assigned to it but. As. I, look over then this customer, that I just added has already been assigned one task now. In the background. What's. Happening, is that. The. Business, events went out and, called. Out to flow and initiated. This event and what. What. I'm doing, inside. Of this is that, whenever a new customer, gets are created, then, I'm going out and doing some things what I'm doing is I'm going out and grabbing the customer information I'm. Creating a deeply, so that I can link to it later on and, as. This. Runs. Then. 15, seconds, ago this rain, so, it takes I've got my business, event to run every minute so, there's a little bit of a lag but not a lot of lag and notice. What it's done here on the, planner has now created three. Additional tasks, it says that we need to validate the address make sure it's correct we, need to assign the shipping delivery, terms and the credit ratings so, imagine this is just a ad-hoc, list of tasks that everyone needs to perform, now. If I look, at this I've got a task in here with thee for the delivery terms, now. Down, here I've got a link, for, the goat. To go directly into that customer. So. Now and, all of this was created within flow so now I'm going out and I'm working, as an in an exception, based mode, and I've, got my, custom. That I've got here and then. Down here we've got the delivery terms so. My task here, is to go out and say. That it needs to we're, gonna deliver if OB and, I'm gonna save that, now. The reason why I'm doing that is. Because. Not. Only do I have a business, event that goes out and creates, the tasks that we need to perform it's. Going, out and watching, for those tasks, to be performed within. Dynamics so I've got an alert that says whenever the delivery terms change, then. Go back and in a second you'll see that the delivery that task will actually be checked off by Flo and then. Move down into the to. The lower area also what you saw was. Actually, teams, integration, so the thing is business. Events just goes out and it creates, things, it, creates events, but. What, you can since you can go up to Flo then you've got the whole breadth of sort of applications, that you can take advantage of, so. Now if God our. Flow is going out and saying I've now got this address, that's been created i've, doing. This two ways it's, going out and validating, the address that's going out to Bing Bing, Maps and doing a reverse lookup, so. It puts the address sir and finds a long lead and then puts the long ladder, to go out and create it and now, all whole. Slew, of things are sort of lighting up along the way so. So, I've got that and I could go in and go, into the customer but if I wanted to I could go into my bot and. The. Bottles going out and giving me interactions. So. I've triggered this off the address has been validated do, I want to go and accept. This address and I can say yes and now. It's going to confirm that and use flow and go back and update it. Now. As this wind along. Then. If. I look at my customer. Address that I've got here then, it's tracking. All the changes, that I did and then. In a second, since I approved, that task. Within the bot it's going to go and mark, that just like I've got here with, an earlier one that I created and and.

Us. Reduce. All these tasks so all of these the things with business events is that they're just triggering, and based. Off things happening with the and dynamics, and if you chain them together then. You, can create flows. And you can create work processes, that we couldn't, ever do within dynamics, or, without going out and doing coding and we couldn't take advantage of, these, tools so notice here within. Within, a minute of it it's, gone out and said I've changed my delivery terms and I've. Validated, the customer address so now we've got this checklist that, we can always go back to now, we don't have to use planner we could use office. We could use teams. And other ways we could go out and use, tasks, within office, to, assign these tasks, out all I'm doing is I'm just tracking it but it's all enabled, through here now. The. Thing. That makes this available. Is. And. The verge what, I'm showing is. That, we, can go out and if you. Your. Customer created up all. I'm doing is registering. Alerts. So. Anytime. We register. An alert then, we can make that a surfaced. Within, within. A business events, and then go and grab it so, any change that you want to make within the system if you have new records. Being created, if you have Rickles, being deleted if you have fields, being updated then. All of that just flows directly, through into the business events, and. No. There's no more programming, that's involved, everything. I did here was. Just. Done, through, little, micro, flows, which. Did specific, things for example. When. For, example I go out and my. Delivery, terms are changed. Then. I've, just got a simple flow that's going out, and grabbing the information. Condensing. It down and doing, the transaction than going and updating, something else so, that's where just. The business. Events, by themselves, give, us all of us all. These triggers and all these sort of things happening, in the background so, so, that that's all I'm showing it's just a little, small flow that's running and and managing. Your entire customer onboarding that's all just, all. So. Now we're going to swap, over you're gonna talk a little bit about workflow, to fly. Low. 6 I got. It yeah. Just, a little fly. You. Can hear me okay yeah yeah, yeah, yes. Okay good and yes. So cinahl's. Talked about kind of the basics of business, events Marie showed off. Quite. Elegantly, a, lot of flow, stuff with business events I'm gonna talk about work flow to flow so. There's a number of business events that are out there right now and you can see those in the business, events, workspace, if you've got p26 who's, used an environment, with PU 26, or newer. Okay. I like it I like it that's good yeah. So you'd be able to see in that business events catalog there's a lot, there's. A lot of events for. Application. A lot, of business events for, the application, but. There's a large, number of business. Events that you'll see in there for workflow, specifically. And so. What do I mean by work. Flow to flow so, what. We've done is we've created these business events, events. On starting. Stopping workflows starting, and stopping, elements. When. A work item gets created there's an event that's firing. Off and. Doing. Something similar to what Mary, was showing we can take advantage of those and, flow so, we can facilitate notification. About key workflow events, we. Can fill certain facilitate. Completion. Of approvals. And tasks, via. Flow and that's what I'll be showing in, just a minute as a demo and. Then. For. Some reason the screen went blank oh good and. Then, yeah. Mary really showed off that, you've, got a lot more notification, mechanisms, that you can take advantage of and. Then as far as the flow approvals, are concerned you can do those via email, you can do those via the flow, app and you can do those in the approvals, Center. Inside of flow. So. Currently some p26. We added kind. Of we made the business events, for, work flow and publicly, available so. A flow can be triggered by a business. Event on. Work. Item creation for. Approvals, and toss and, you can take advantage of that. Grab. That and then facilitate, validation. And completion, of that approval. A task work item with. The user using. Flow in. Addition I mentioned the ones below the started and finished for the workflows and the elements that we added.

So. What, is this approval process that I'm just about to show so when. Usually. In finance. And operations workflow, a user submits a, document. For approval. It. Goes into the batch, process, someone then approves that and then, it comes back as as an, approved business. Document, with, flow there's a few more steps so I wanted to walk through those so. You can see on the top left. Here the user is submitting the business document, for approval the, batch process, is going to pick that up and create, a work item for. That, approver. Or for, each approver. And then, for the work item there's going to be a business event that's fired off that flow can take advantage of and it gets triggered by that it. Can then sin and approval to the approver, to. Say come, on give, me an outcome giving it give me a response the, approver selects an approval outcome, and. Then Flo will call. An OD to action that we're using for the completion, of the work item and then the batch process, sees that that work item is complete just. Like it would be if they went into the finance. And operations web clients into that that, it will complete the workflow, and then there'll be some business logic that'll go ahead and update the business, document. So. I will jump. Over here. And. The. Business. Document I'm going to be using as free text invoice so free takes invoice is just a simple, workflow. When. You use that for demonstration, purposes so I'm. Just gonna create, a new free text invoice here it's. Not gonna be anything fancy. Yes. We're. Just gonna pick a customer, count. And. Then, we're gonna add a single, line we're. Just gonna use. One. Of the basic main accounts, and then, we're just gonna give it a unit. Price and. We're. Gonna hit. We're. Gonna hit save. Conference. Wi-Fi. I've. Got an amount that got filled in here got two faulted and then we've got our workflow menu. That shows up up here because this business. Document, has workflow, enabled and now, I can submit that workflow. So. We're hoping for a purple via flow. Will. Submit that one off. Great. So. You can see the workflow status on this I pulled in that workflow status field so you can see that so that's submitted and so.

That That free text invoice workflow, is very very simple it's just one, approval. Element and. Then it, just has a single step in there and then, if I go in here into, the properties, we, can see that the assignment, is user. The. User that it's assigned to is. Myself, and, a colleague, and. In the completion, policy that I have set up is just single a pervert so I can approve, it and. It's, good, to go. So. Very simple workflow. And. So. Once, workflow picks that up in that business event fires the. Flow. That it's going to trigger. A, witch. So. In flow I'll just show you that quickly and I'll, jump into the slides so in, flow, we've got this nice block. Designer. Unfortunately. The reason I'm gonna show you some slides is because when, you're going in and you're hitting the metadata, service. On the environments, sometimes if the Wi-Fi is a little spotty it, doesn't show up with all of the different fields down. There so I'm just going to jump back to the slides and show you that flow design. So. We've got some documentation, I should say up front out, on the dock site and, I'm gonna be adding a bunch more based. On the the. Work that we're doing. So. This is the flow design, we. Know business event occurs you can see it up top here we parse out the JSON kind, of a payload for that business event we're gonna validate, that we're trying to make sure that it doesn't have any, anything. That requires the user to have to do this inside of the web client maybe. There's a value that wasn't, dated maybe there's some something, that needs to be updated actually, on the free to extend voice or on the other business. Document, if that. Returns no. Then we'll just send a notification and, we'll say hey you've, got this business. Document, here and finance and operations you need to go into finance and operations and the web client makes, the updates to those fields and then and. Then proceed from there but. If it comes back is valid, if. It's ready for flow, to take to. Take the next step then, we can start. An approval and we can go and execute the completion, action so I'll just show you those blocks. Quickly, maybe I'll just blow this up and.

One More step. So. Yeah we're we. In a business of inter curves we're taking advantage of that trigger and, we're pointing at our, environment. And we've got our work flow work item category, we've, picked our business event and then, we've just got a, company, that we're targeting there we. Pause out that JSON and then the next step is this, invalidate work item block. So, same environment, using, this workflow work items validate OData, action here and passing. In the work flow work item instance ID so we just pass in the ID of the of the, work item, and. Then. We go into this condition and then, down below we're going to start. An approval, we're, just going to pass on the values that we parsed, out of that payload. So we've got a list of outcomes that, we can put in there a. Work item subject, we've got our user emails, so that's how it's actually going to get assigned to who it's going to get sent to so, a, approval. Is going to get sent to me and to my colleague Gayathri, because, we're. Both set up as a Pervis and then. We've, got some details that we can put in here so I use the step instruction, you, can put in whatever text you're, interested in, and. Then. And. Then. Once the approval, comes back so whatever that responses. Whether it's an approve or deny, that. Gets passed into this into. This complete, action just, OData action back, in the environment, passing, and again that workflow, work item instant side a and just, passing that outcome, and and then the comments, and. Then this target, user and run as user this, allows the, this allows flow to kind of function. As me, or as the as the person, that's actually doing, the approval. So. We'll jump back over and, we'll. Look at. Once. We, have done. That, once. We've set up that flow we get this active event in our business events workspace, and so, all of the flows subscriptions. To, show up as active, events and you can see this one here for this free text invoice workflow. The. Approved free to extend voice element. This work item, workflow. Work item event. And you, can see the some, identifying, information for, the flow right. Here on the right, right.

There. Great. Whenever, you send out the approval, to flow, so, flows facilitating. Approval but it's worth noting, that in, the, work flow and the work items assigned to me form I'll, just refresh this data that. Work item also shows up for approval on Finance and operations, so it's always an option to either approve, inside, of finance and operations or via. Flow. So. We can see that, free. Text invoice approval request, is coming here into, my email inbox I can, from. Here approve reject request, change I can. Hit a prove put in a comment and then hit submit but. I won't do that because I'll show you a couple of other mechanisms, so. Back over. Inside. Of flow I had. Won approval waiting, but. In this in, this approval, action. Item space. We. Can see that this one just came in four, minutes ago waiting for approval, and so. I can approve here the other way that we can approve let's see if this is gonna work for me. Yeah. Inside of my flow app so, I don't know if he didn't see that but I got a notification and, then. And then, inside of my flow app I can also approve so, there's a bunch of different ways that someone can do that approval, once it's facilitated via flow, the, one that, people. That have talked to us about approval, inside of finance and operations seem, to be most excited about is that approval, via email is. One that we've been asked for a lot so. That's going to be a big, boon. So. I'm, gonna use this. Approval. Action center from. Flow I'm gonna choose my response. And. I'll prove that. And. We're just gonna confirm, that. So. That's cold. That OData action. To, complete it and. Pass on the approve as. The as the outcome that it shows, and. While the batch process is just picking that up I'll just quickly jump over to the flow run history and show you an example of, what, you can expect for, a run. History I'll. Just jump back out so this is the this is the flow that we, have created and, I'll just grab one of these Oh actually, is. This. Yes. This might be the one right here, so. This is the one that we were just running. So. We can see our flow runs successfully, we can see flow, breaks down all of the different steps and provides a nice little kind of check. Mark to show you where it's gone and. You can see all of the values in here as well is really. Handy so inside of this parse JSON I can. Roll, through here and, see that in the. In. The. Contents. We. Can see that approve. Outcome. Possibility. And. We can see that. We, can see that here's this workflow user email this is one of the fields that we took advantage of and flow so, you can see all of those values inside of flow and kind of debug, what's.

Going On and, then when we get, to the condition, we can see that, flowed delineates. Between the, null and the aside so we can see it ran through the S. And running through here again we can see the details of that approval, so. We've got kind of our full, audit. Capabilities, by looking at the at the workflow at the, history and side of flow, and. Then we can see our. Completion. And. When. It exactly when it called, in and what it what it provided. So, back inside. Of. BEC, inside. Of finance. And operations on this, free text invoice we. Were previously seeing, that. It was submitted but, if I hit the refresh here, it, should now show up as approved it does and then, inside, of my. Final, thing just going to show you inside of this, workflow. History, you. Can now see in this nice list that we added more recently. To. The workflow history form we, can see that it was submitted by Julia Funderburk the admin and. We run through here. It. Was assigned to either, C, Guardi we can see on that row or, Allison. Brown that was the person. The user the the yeah, the the worker that guy, a through my colleague has, associated, with her account and then. The approve action was taken by Seaguar d you can see the comment that I added in there approve via flow and then, the and then the pushback and, to complete the workflow with, a full kind of timeline, of that. Great. So, that is workflow. To flow. I'll. Just jump back. And. Talk. About what we're doing, from here so right, now you have to create that flow template, by yourself but we're. Working. Right now on the flow templates, to facilitate, we're kind of completion, so you'd be able to go into flow pull, up that template, that i was just using and. Take. Advantage of that as a starting point and we're, also adding additional document, and, workflow context, so we want to put more of the document, context. In there so you can give information about that. Free text invoice without. Having to reach back in so. You can always do that make a call, back into finance and operations, get additional data and put that directly. In an email or in the instructions. What, have you some. Additional workflow, context pieces that we haven't added quite, yet and then, we're working with the application, teams to to, refactor their validation code right now a, lot, of workflows. Have some validation, code that runs in kind of an ad hoc way we're. Refactoring. That into a into an interface and we'll have more details about hepatis, and ice fees can take advantage of that and. Then, starting. Soon our, next step will be not, just being able to facilitate work. Items via flow and kind of respond to the events, that I talked about but. We want to make it so that you can trigger a flow. From inside of the finance. And operations UI well, we'll probably be taking advantage of business events for that as well but. It'll allow you to kind, of. Sidestep. What, is right now the finance, and operations workflow, side of things and just have that flow. The. Flow, facilitating. The the record change the record, approval, and. Having, that using, that flow run history as the kind of not only history of. That action yeah. So. I'll hand you back over to Sanel. Hello. My. Question was if, you could talk about the. Licensing. Model. With the users that are interacting, with flow, through. Business events, that's, part one and then second. Is as, these business, events, are, creating, work items outside ethanol. Back. In the day I mean currently the. User security. Kind, of controls who can approve or who cannot approve but. Once these work. Items are being approved outside, how how are we managing the. Security, aspect, what's, the vision with that okay, so there are two questions, I, will break it up into three questions. First. One talking about licensing, from. A flow licensing, perspective nothing, changes, in the context, of business events, right, so, the licensing, from flow. Continues. To be the same and and flow controls, that licensing, aspect of it think. Of business events, as just, another trigger, that, is going to trigger your flow, so. There is nothing specific from my F&O perspective, on the flow licensing, aspect right the. Second aspect of security I'll, break that into two parts, and I will want, Chris's help or the other part, so. First from a basic security perspective. What. We lacked today is that, the, business events catalog, is not, tied to rule based security right. So, meaning this is not a big deal for somebody who, is interacting, with fnot per se because. You can absolutely not. Give access to the business event catalog to a non admin user that is possible that you can do but. What is not possible is. Especially. This affects the flow scenario, where, when you click the drop-down and you see the whole list of business events which, is nothing but the entire business events catalog, that. Is where security is super, important, because we don't want the. Nancy's, in the organization. Who is going to create a simple.

Personal, Flow to. Get a text, message when, she submits, expense, report or when, her expense report is approved we. Definitely, don't want her to show the rest of the thousand business of, that, are there in the system and allow, her to subscribe, to a payment. Posted, business event for example right that, is absolutely. Not. Right, so, as we speak we are actually working on, tying. Rule base security to each and every business event, in the catalog, meaning. As an admin, you can go and, do. Mappings, for, a business event to, one or more fnot. Security, roles that, way you can say that hey, the expense, report submitted, or approved business event is OK. For assigning. To all employees, for example whereas. The accounts. Payable related. Business event is only applicable, to the accounts payable manager. Accounts payable clerk and so on and so forth so, once, you do, that then. What will happen is in flow when you go in with. Your user context. And you click the drop-down you. Will only see the business events, that your admin, has authorized, you to, see and subscribe to, so. That work is happening as we speak it will be part of PU 29, if, everything goes as planned so that, is absolutely p 0 item for us to address right away now. With regards to security from a workflow perspective, and flow Chris please take it over yeah I didn't, I didn't delve into that too much so each, of those so. When flo, calls, that work. Items complete. Yeah. That work for that work item complete OData, action it's, calling it on behalf of some user so and flow there's a little dot a dot up on the top right on each block you can execute each block as some, user so we were executing, that as an, administrator, as an. Administrator, you have the, rights to execute. As someone else so run as someone, else and the the, runners and target user information that I passed in there was like, that. Edmonds saying I want to run this completion, as someone. Else, yeah. But the like, inside, of inside. Of the, workflow history you'll see the information, about which user that was and inside, a flow you'll see the information about like who, ran the block and. What like, which user was passed and as the. As the. User to run as. It. Doesn't slide step security in any way yep. Someone. On the mic yeah. I got a couple of questions the. Alerts, piece. He. Filter alerts like, you. Know I only, want to see when, alerts are, processed, or a subset, of customers, or something like that as opposed to like either this record or all records and then, secondarily, it. Seems to me that. You. Know the alert is the the. Business. Event, but. It could be any one of fifty, thousand different types of alerts that are in the system and all of those are going to get sent out to business events and to, my flow which, I then I have to deal with right, is there a weighted split. That up so that's a that's a good question so again will split that into two parts and I will, have more a also its share his experience, as you know we were working on this specific demo.

So. As. Far as alerts are concerned, there, are only all, alerts, are funneled. Through just, one business event right, but. There, are two categories of alerts one is change, based alerts so that is a that is one representation of those change based alerts as one business event in the catalog and, the second one is due date alerts which has its own representation as its own business event, now. The reason why we did not. Take. The approach of exposing. Each and every alert in the business event catalog is purely, because of one of the reasons that you said which is there can be you, know 10,000 alerts that. Are created, in the organization, because there are so many employees for example right and showing. 10,000, business events in the business event catalog just creates, a management you. Know a challenge, so. Which is why we took the approach of doing a mini to one mapping between alerts. And business, event now. From a practical consumption. Perspective there. Is absolutely, need for, the, consumer, to filter. Out the alerts and then. Trigger the corresponding, business logic now. Maury if you can share your experience, because you had to go through the same challenge, here yeah and and, it's a valid it's. A valid question because. The good thing about alerts is that you can set them up on anything right the, bad thing about that is you can set them up on anything so. So, then when you set up the alerts then. There's a send external, flag if, that does not set then. It will not go to the business events so that's the first thing you want to want, to filter those out and not turn that on, just carte blanche for everything but. I've been as Sunil said everything. Is going through. Through. This one, one. Event so the way I handled, it is. So. If you notice here I've got two there are two business, events, that's Neal was talking about I've got one for win and a alert. Is triggered and, then a time-based, alert that's, it up and. If I look at my alert, then. And, the way I addressed, it is everything. Up here at. The top part is just, passing out and working out what the alert is associated, with and. The. Main part is that it goes out here and it looks and finds out that this is a what, the record is and then. For me I went out and I worked out what the table was that's, being alerted and. Then. Then. I go out and, split. Out my alerts I couldn't, do this as a great big monolithic. Alert. But it's easier, to. Visualize and, to manage that when I go down to here I have, have. Customer, alerts and what I'm doing is I'm calling another sub flow that's, just for customers, so, if I had one. For products, if I had one for, anything. Else and this gives me a way that I can segregate things, out and then work with them and then. After I've got that. Then. So. This goes down and, calls the customer, business. Of end then. I break it out. I break, it out just a little bit more and. You. Find. And. Then. I create another flow, which. Sort of does the same thing so. This, this makes it manageable that, then I can go and I can track everything so notice here I've got and have one for when a new customer gets created, and then, one for when a field changes, I could even break it out further if I wanted to if I thought this was just a nice sort. Of grouping so that's parts by the message. Yeah title yes. The Lord or something like that yeah so when the message comes through one, of the things that I grumbled. About is that. With the alerts the record, ID is returned, but it's part of another string so I took part I had to split that out just use string manipulation and pull it out find, out what the table was find out what the record was and then, it allowed me to have all this additional control.

Around It, so. So, that that's. How I managed, it I think that sort of works pretty well another way I don't, know whether we can have could, we have have, multiple. Multiple. Flows by. By. Business event you. Can have multiple flows, pointing. To the same business of yeah correct, so we allow one is to end subscription, meaning. Multiple flow, apps can, subscribe, to the same business event in the same legal entity, so. That is absolutely possible so so another way of doing that is to register. A business event that's for customers, and then, look and see is this a customer, as it, hit every time they're bent yeah. So. So then this is this is a little, bit more. Economical. Yep so the second question was how do you generate that deep link what's, that what's. The magic. It's. All documented it's super easy. So. Yeah. I'm. Polly. Tiny cheek because the deep links has always been documented. But. It requires code so I got a colleague of mine Ryan call to go and create the code with, dynamics, for that but. Then that gets published as a service, and then, once it's a service, then we can go out and we can call it just through HTTP. And grab it I took it one extra level and then. Create an Asia function, that. Called, down to the deep link and they're not created. So. One. Thing that we have discussed as part of this experiences. We. Should probably look at having a. URL. To, the record, in FN oh yeah as a payload, in the alert business event itself yeah, so that that, consumption, becomes much more easier on the other side and Marie. Didn't have to go through all the hoops that he did yeah so so, good. Up ideas. Dynamics, comm. Upvoted. I'd, love to have that so it took me like days to work out there -, yeah yeah. So. Thanks. Yeah yes, please please use the mic. Is. There any. Do. You have any plan to deprecate, that. Work role sorry. Duplicate what work, for workflow, yeah Chris. Just stepped out but, as far as I know the. Way Chris was thinking about us I don't. See a deprecating, workflow. Because. There are there's. A lot of value in what, ax will claw has especially around the provider concept, right, because unless, and until we figure out a way to, extract that logic out and still.

Have Extensibility, story, around that we're, today you can go and apply and plug, in your own provider, and have, your own approval. Logic. There I don't, see us taking that out yeah I think what we will facilitate both, flow and workflow and customers, can choose which one to use. Yeah. There. Was a. Discussion. Around dedicated. Service for. Triggering. These business, events yeah can, you share some insight about that, right. So the. Question is around how, our business events getting processed, so. In, pu 24, 25, and 26. There. Is, a need for you. To go and schedule a bad job there. Is a dedicated bad job for business events processing, so. It can cross this as fast as one minute but. Starting pu 27, what we have done is we have, you. Don't no. Longer need that bad job because. Out of the box a OS assigns, some, four. Threads by default for. Processing, business events it is still processed. By batch but. The threads are pre-allocated, meaning it. Is going to be much more faster, to process, the business events, definitely. Faster than every minute if, I recall I think it does every three seconds or something to that effect so which. Means the business events are much more near real-time and. Doesn't rely, on a batch job, that is scheduled, yes. I. Will. I will, pass on that message to, Chris I. Cannot. Answer that right now but I will pass it on. No. I don't think that, is exposed in the UI it is all done internally. So. No I don't believe you can monitor, that because. It is not a bad job per se it. Is direct plumbing into the the kernel level. Is. The business. Event activation. Is a global, or per equal. Entity so. You have, choices so. When you activate, the business event you. Can either specify a specific company. Yeah or we can just leave it blank in which case it is all company so one. More question so that you talked about tying, the role-based security to, the business event ERP you 29 that's also by legal entity that is, also by legal entity meaning. The. Legal entity assignments. In the org based, security, will, get honored. Thank you yes can. You. Please use the mic. Is. Any way to send. An attached document, from, a fan out to that to the flow for instance the invoice the invoice the, vendor invoice in. Order to make the approval for from, the email scene. They. So. That's. A good question so basically the question is can we attach, the the, source document, not. Like a, no, source document, but the. Invoice or the POS an attachment. Yes, you can absolutely do that because you will have to go and extend the data contract, for that business event and you can you, can write whatever you want but. Is that a good thing to do it depends, on the, size right, because, one thing that we keep talking about from a guidance perspective, is keep. Business events simple, events. Are supposed to be very you, know short. Fast. Nimble, right but, if we stuff it with heavy, payload, then, it becomes slower and slower and slower right. A. Link. To the document that is a smart way to do it which is hey let, me upload the document to the blob for example and just in the URL and the recipient can download and they can do whatever they want to do yeah or sorry. Or you can also make a call back into fnot for or using mo data and get the full Pio for example, that, is also an option that that's. What I'd do I'd go I'd go and have a second very called get, the information and, they, not build the document, and it'd probably be prettier, as well not. That the documents, are ugly but it. Would be specialized. For that. Send. A URL do that yes and, attachment, and with the dog yeah. And with the document, attachment so if you put them a blob storage then. You can go back and reference yeah some. Question. Is when. You have the the workflow the work item, in a fan-out and also, they they are prevailing in the flow what. Happened, if is the the, approval is made inside. A funnel or or. The user and, recall. The what. Happened with the flow so that's, a good question right so I think at the end of the day this boils down to the fact that the. Control, is still with FA no workflow right so the logic that we have today in fnow will. Continue, to prevail meaning, if the workflow document, is assigned to multiple people and a. Couple of them rejected and the. Logic, says that if two, people reject, then the workflow document is rejected, that. Is still on which, means if, as, a third person if you go into flow at a later point in time you will not be able to do. Anything with the document even if you take an action you will get an error because the document is already either, rejected, or approved which. Is governed by FA knows business logic yeah and and you, actually get the message and it says this document, is no longer live or valid right so so it's not not a horrible, message but it just means that you're too late and it's already been worked on for, you. You talked about the end points being extensible. Right can you extend, that so that it instead.

Of Contacting. A external. End point it does something internally like all class so. That's, a good question and that we keep hearing that you know very, frequently, so unfortunately. Today there. Is no pattern where, you can actually call into a function, or some. Method internally, itself. The. Guidance, that we are giving. Is basically, take it out and then, come back as a function, call. But. We are waiting to see more. Requirements. Around that aspect if, we see a lot of genuine, requirements, and genuine reasons for us to enable such a thing when we will certainly look at it. What. If that email gets forwarded, to someone else and they don't have the same security, can they still approve it no they will not be able to approve it because I think just like Chris mentioned. It. It takes into account the. Users. Credentials. Even. Though it is doing on behalf it. Will not be I think we have four minutes over time. So. Thank. You so much thank you for taking.

2019-06-14

Show video