Platform Academy Session #35 - April 27, 2023 - Flow Designer Approvals
hello and welcome everybody Welcome to our 35th platform Academy session today I am joined by my favoritist colleague that is Andrew Barnes thank you so much for joining me and we have a most exciting topic today because we will be talking about flow designer always my favorite in this case we will be talking about flow designer approvals some of you may have already seen that I've also published an article on the now Community uh part of my Center of Excellence for the workflow automation products this week so I will put that in chat so you can check it out later if you want to read up on anything we talk about today uh before we get into things we'll do quick introductions and I'll start since I'm the host hello everyone my name is Lisa hornstein I'm a product manager I live in Germany and I've been with servers now for over four years now and on the platform for almost seven as I said excited to be joined by Andrew please give a quick introduction to yourself no thank you Lisa I'm Andrew Barnes I'm a product success director here at servicenow I have also been with servicenow a little over four years and I've been in the ecosystem for uh oh coming up on nine years now uh next month I will be my 10th knowledge of it and my ninth time as speaker at knowledge uh so I have been at a couple of customers in an implementation partner and now here at servicenow and have a long history with flow designers workflows building apps and and development and I'm so excited to be here for the 35th Edition this is so awesome all right uh how about you get let me uh get through the first couple of intro slides and then um I'll kick it over to you because always you know this one just in case that we might be mentioning anything uh forward-looking statements anything that might be uh coming up please don't make any purchasing decision based on anything you see today and then I think with that I'll hand it over to Andrew absolutely well thank you for that uh rousing intro I'm so excited to talk to you folks today about approvals so approvals are a very important part of uh servicenow uh so let's let's dive into approvals and and how they work in service now and and a little just a little bit of History so you know a long time ago uh there were a lot of different ways to do approvals in the platform um and nowadays uh there is a uh you know uh well in the past there was actually a field on the task for task.approval um and that's how you did approvals uh if you've been here as long as uh you know my co-worker Paige uh you're probably familiar with that but uh something like I don't know 10 years ago or so we switched over to having a task type for approvals so if you weren't aware the task approvals ra tasks they're a form of task and so now that that field uh is going to come up in our conversation later today which is one of the reasons we brought it up um but uh approvals are super important so there were several ways to invoke approvals in the past as an example and and we're going to burn through these uh because uh these These are no longer as you can see in the slide header these are Legacy uh methods so as an example approval engines uh and approval rules um well this is definitely going back into the past I barely used these and I've been doing this for quite a while uh so approval rules that was that was back in the past um so shouldn't be a lot of use uh for you if you're watching this in in 2023 or later um another way that is still fairly active uh but you know we're we're talking about flow designer and approvals today and and Lisa and I have talked about flow designer a lot um and uh Legacy workflow certainly had lots of approvals in it because that was our key way to do approvals in invoke them in the past um and we'll talk about you know transitioning that at other points um so why would you ask for an approval for things like when should I get approvals um you know so the kinds of uh times where you want an approval a good example service catalog right so I've got I've got a request process I'm providing a service um but there's you know sometimes there's a cost associated with that service it might be human time it might be actual dollars and sometimes depending on who's requesting that they need to get an approval so there's also logic that goes into deciding uh when to invoke that approval but service catalogs very important top change management oh I've worked on change management a lot there's definitely a lot of approvals that in different levels of approvals that go into change management to help you uh authorize risk right because that's a different kind of approval so service catalog was sort of that resource allocation and change management is more about that risk decisioning is should we do this here and are we ready for this and have we de-risk it enough so some of the other examples we've listed out here we've got knowledge articles you know who can publish uh and and when can they publish security incidents major Incident Management a major case management so deciding when something becomes a major case is a good example so we have uh you know sometimes we have rules that help us narrow down when we don't need to do an approval but but we can't prescribe every scenario and sometimes a human has to go and actually invoke an approval does that make sense anything else you want to add there Lisa I don't think so I just love the uh the throwback if you think about service catalog in the past we started with execution plans then most of them are probably still with workflows but today we want to do a service catalog with flow designer absolutely and so nice kickoff to this side which is where do we where do we invoke those approvals so we we mentioned some of those Legacy ways but we certainly want to focus in on Flow designer as that is our key method for workflows and servicenow today are are executed with flow designer like that's if I'm building new workflows in servicenow they're actually flows so flow designer is the way for me uh nearly anything I do I start by crafting a subflow like that is my first step if I want to if I want to to run things in the servicenow land to help those other way so when I think about approvals flows that's certainly where I go yes we have a fitting question for the previous slide what's the difference with flow workflow and execution plan which is the best option to use and the best option is always flow designer so today your choice will be flow designer execution plans have been I don't know have been Legacy for like 10 years uh workflow is being considered uh Legacy now you can still use them you can also migrate uh incrementally so if you are using subflows like Andrew just mentioned you can actually in embed a subflow from flow designer and run it from your existing workflow so you can incrementally replace your complex workflows in workflow editor and then move to a full flow designer flow execution when you're ready absolutely and those reusable components subflows like you said are applicable in that workflow context but they're applicable in other places as well so you can invoke that so you can craft those reusable subflows that are doing these approvals for you and invoke them in a variety of places not just the Legacy workflow editor awesome thanks for that question so where do we give those approvals and the answer is many varied because you want to meet the users where they're at so it could be almost any of our experiences are the ways in which you can give approvals so we listed out some of the examples here which are um you know we're looking at at the portal interface mobile so those push notifications to your mobile device to do the approvals those are really handy um you know the regular platform core UI view is certainly a place where you can do approval and then you have things like workspaces or even emails and then you have conversational interface places where you can do approvals so you can get it in your teams or your slack so you can reach the users where they're at with the approvals just as you can reach them that way for nearly any task in servicenow land so we want to meet those users where they're at and give them the best experience to interact with servicenow for their use case and approvals the way they're structured can meet the users pretty much anywhere they're at we have uh one question about these approval users is approver user the role always required for approvals uh so that is a good question so is the role required uh no so the role isn't required the purpose of that role is in scenarios where you have licensing constraints around doing approvals that helps you Monitor and manage that but to to have someone do an approval isn't necessarily tied to a role but sometimes licensing is and I use roles to help me track licensing awesome thank you so I think with this I'm going to hand it over to you Lisa to to talk about you know different approval use cases that is correct thank you so much so um today we will be talking uh and taking you through a couple of different approval uh scenarios and in order to do that we have the same uh the same use case in this uh in this particular case for our demo and for our presentation we chose a catalog item because that's I mean to be fair that's one of the most common uh use cases that you'll encounter in the servicenow environments is most probably a service catalog item and to kick it off we'll start with the very simple single single stage approval and this is probably the most common type of approvals that you'll meet um in this case we'll have a simple approval that is asking for the manager approval so we will just add the action to our flow ask for an approval from the users manager in that case it's the requested or we can Dot Lock with the pills in flow designer to get this manager's approval and then once the task is approved then the request item is approved we will kick off a little bit of logic we'll ask for a decision from a decision table determine some catalog discount and then go into regular fulfillment creating a task updating the record whatever you have one note for these examples just so you are not confused there are different options to proceed after an ask for approval the ask for approval has an output that can be approved rejected cancel not no longer required the usual states of an approval record you can make your decision your if path uh based on this is my happy path what happens if it is approved or you can take it like I did I said what happens I will just uh filter out if it is not approved then I will update the record and end the flow and then continue if if it is approved that's the false path in this example that is what I want to want it to happen if an approval happens so I will catch everything else but approved and the flow and if it is approved we'll go further with the logic and the Fulfillment of this item and I can see there are a couple of questions is there a way to do a roll back and flow after approval rejection uh we currently do not have rollback in flow designer and um it is also not planned uh the thing with rollback that we had in workflow designer and in workflow editor and we get this question a lot is that uh if you do a rollback there's no easy way to determine how far the rollback is being cascaded if you update a record other things may happen other logic may be kicked off other business rules may be kicked off other fulfillment or other things can be uh can be cascaded out from one updated record and it is so hard to tell how much should be rolled back and that is one of the reasons why we decided to not make this a feature of flow designer um let me see if we can see more questions can we accommodate manual approvals similar to workflow manual approval activity that is a yes we can maybe show that later in the interface there's also the option to add manual approvers in flow designer in the flow designer ask for approvals and then they can be added later all right so let me uh head over to the next one because the next one will answer some of the questions can we do skating multi-level approvals in flow designer yes he can we can see uh that absolute e you can chain uh multiple ask for approval activities uh and just put the next approval in the happy path in the if the first one is approved uh go to the next uh there is one small caveat so we did rework the ask for approval action in Utah it will now work as expected so prior to Utah you might have seen that any subsequent approvals after the first one would not act the way you expected them to be and we will have a small work around and the next slide so uh to solve that that issue if you are on an instance that has not been upgraded to Utah once you're on a Utah instance this will work just as expected you can chain as many levels of approvals as your heart desires but I will also recommend to check out the more complex options for the ask for approval action that we get to later do we need to know ahead of time how many approvals will be needed no you won't and I will show you an awesome option how to do that with decision tables later I think it's time to show the workaround so as I said previously if you are on an instance that is not Utah and you want to use sequential approvals that is first the manager approves and then maybe the head of cost center and maybe there's another group that has to approve for uh requests the where the cost is higher than ten thousand dollars or something like that that wasn't easily possible on on prior to Utah but it is now possible if you are on an earlier instance or you want to do parallel approvals in parallel low pass what you can do is you can clear the approval field as indicated on this slide there are two things that will happen if you ask for approval through this approval field whenever the approvals are being generated there is also a record Watcher that is being generated for all of the approvals at that point they will look for an approval to be given for a record that references this item and this means that if you are in a parallel path and your record Watcher recognizes that one of the approvals has been given it'll Mark all of the rest as no longer needed and we don't want that in the most cases of parallel records or in this case if we do the sequential approvals so if you empty that field this is the field that Andrew mentioned earlier that is on the task table if you um you don't let the flow action update that field then your approvals will work the way you expect that and you will see a small demo of how that looks in a parallel approval a little later so just to keep this in there if you need to do this clear that field save your flow publish it and it'll work as you expect I think we can continue to the complex approval rules yay I love complex things uh so thanks for showing those us those uh Lisa so now I'm gonna dive into a little bit more of uh complex scenarios so the first thing that we're going to look at is a complex approval rules so if you have seen uh this before uh yeah you may be familiar with it but if you haven't inflow designer when you're doing the ask for approval action it can actually accommodate very complex scenarios already so while Lisa showed you a scenario where I had a sequential approval where I needed to go from one approver to the next that's not always the case that we need right um sometimes I can ask for approval for more than one group at the same time because I don't need to gate those mechanisms there's not a reason I'm asking group one first uh before group two I actually need to ask multiple people at the same time multiple groups different stakeholders and I can do that inside of a singular action so this asks for approval action can handle fairly complex scenarios all without writing any code in this action so what you can see here um is this rules area that we have on the screen shows us that we can craft so if you're familiar with uh you know uh the condition Builder um it's got a similar look and feel experience here where I'm going to have and in or conditions and I can set up fairly complex scenarios right here just using combinations of these different approval rules that will work in parallel or in concert with each other so if I use the large or that large add another or rule set at the top that's actually going to run a parallel operation of approvals right here in the same action so this can accommodate that use case right here in line for a parallel approvals when I don't have to do anything different as a result of a parallel path so there's lots of flexibility here with these approval rules and I can put a lot of logic right here inside of this rule action yeah note that we have different options on the on the what kinds of questions we ask so we can do approve approve or reject or just reject when we can also have and there's lots of yeah there's lots of conditions of the kinds of approval rules I need in there so I can be one person approves one person objects a percentage of people approve or reject so there's a lot of choices uh in the drop downs here that you can explore and we may even when I get to the demo set I may even open up a couple of those just to quickly uh pop them on the screen for you approvers and I don't know if you can move your mouse over the button next to one of the yellow or boxes there are three buttons next to them on the left we have one to choose a user one two you choose a group and the third one is for manual approvers so I believe you have to use that to mark that this approval can be given manually and the approver can be chosen once the uh flow already runs and Greta has a great question about figuring the approvers at runtime can we use a script and we'll come to that in a couple of years we sure will thank you for setting that up in the the near future Greta so um let's look at one of these uh fill it out in a slightly different way so I talked about that I could do this parallel uh scenario here in a singular action so what we see in this setup is that I've got three different groups and I've got it to set on approve for anyone approves an approval group one approval group two or approval group three or and you see this is where that big or comes in from the the top of add another or rule set produces this large or here and I can do or reject anyone Rejects and from any of these groups um and and I always like to point out the due date so I think approvals should have these are tasks and they should have a due date oh yeah and I have an expectation of my approvals to to get through their approvals and get them done so um I am going to step forward to our demo of complex uh Parallel Group approval so I have a catalog item right here uh and I'm going to use the try it button uh to quickly generate us a new req and ritm uh for our pre-setup flow and we're gonna we we're gonna order this now so this has generated me a new req I'm gonna We and I'm going to drop into my service operations workspace I'm going to go to my opens items list I'm going to refresh that list and find my rhythm here so I've got this new Rhythm right here for paper and supplies and I'm going to go to the related records and I'm going to see I've got six approvers why do I have why do I have approvals here so let's go quickly uh drop into see the flow so I've already got the flow opened up here for us to take a look so this is a service catalog trigger based flow um here is my ask for approval and you can see here this looks surprisingly similar like we had in the deck which is I've got three groups for anyone approves or reject when anyone from those three groups Rejects so in my radar I need to go do at least three approvals so each of these groups has two users in them which is why I've generated six approvals because there's uh three approval groups each containing two users which is six a perverse you have a question Lisa how would I make do this if I want anyone to approve from all three groups just one out of the six would would be sufficient how would you do that ah if we just want one out of the six we don't need these separate ands I can actually similarly to how anyone rejects here I can do that with anyone approves so I could go and grab uh from our approval group so we can do to do approval group two approval group three awesome boom and then I can remove these two um I'm not going to do that uh because I've already got this flow in it's already active it's already running but that's how I would do that so the other thing I mentioned was I would show you this Choice drop down but that I have here so we've got anyone approves all users all responded so all responded and anyone approves uh a percent or number so I've got a lot of flexibility here all of this with no code uh for me so let's go do some approvals so I'm gonna go back to my operations workspace I'm going to for approval group one approve and then we're going to do approval approval group three approve and if we refresh this what we'll see is that that we still we still need more approvals so if I quickly come to my operations view which I've already uh loaded the list View and I can see I've got a waiting flow and we are waiting on our approval action so we're waiting uh to get that third approval to satisfy these conditions so I need to go do my third approval for a proof of group two so if I do this so this is the happy path right so I got at least one person from all three groups as done my approval it'll Mark the other approvals as no longer required and it'll progress my flow so over here I was in a waiting State on the ask for approval and now we'll see that this has moved forward um and uh you told us that uh you had this as uh if it's not approved we're going to you know update the record and exit our flow and then the normal path uh or the happy path for the rest of the flow is if I got those approvals yes so that is our complex ask for approval questions about that yeah so I have one shout out one thing I wanted to show you with this example specifically is that you don't necessarily need parallel paths to get parallel approvals so we don't have to use the do the following in parallel flow logic and we don't need the workaround if you work with this so the parallel approvals are uh connected by the end within one rule set and then you will have the reject path on the other side if you uh want this to work as anyone approves of any of these you can configure them differently but I really like what we really wanted to show you here is this thing is capable of way more complex things that you expected to be and you don't necessarily need to make this different paths absolutely uh questions um Sharon asks if the approval date is missed and you just showed the due date will the request be rejected do you know there's Automation in there I haven't tried it did you date so uh let us see look at that what we do when the due date has been passed is I get to decide what happens at the due date that is awesome so if you choose the approve and then you choose some time so after the time is over it will auto prove or Auto reject or Auto cancel I love that that's awesome Yep and then I can decide with my flow logic how to proceed based off of that right nice excellent question uh an excellent setup for uh so as we did in that example that was a parallel approval all in a single ask per approval and now we're going to talk about the next complex approval rule type which is parallel approvals where I actually need to do some logic differently based off of the approvals so if I'm going to take a different path based off of the approvals so I need to apply that different logic then I need to break those up into separate ask for approvals so in my previous scenario I didn't I wasn't going to respond differently with those approvals from those three groups in my logic as long as I got an approval from each of those groups I was happy so what asks for approval uh and then get get all three groups to approve in this scenario that I'm outlining here I actually have to ask for approvals that are going in parallel which could have multiple approvals groups in them but my logic coming out of the approval is going to respond differently and that's why I'm going to break them up with as you can see in my diagramming view here I've got this parallel path and I'm performing these ask for approvals at the same time so does that make sense that the scenario is I want to have logic differently for the different parallel paths and is almost not related to the fact that the the action that I'm performing at the first step is approvals it's that I have different logic based off of these steps I think so yep I hope so excellent I hope so too if you have any questions about that please let me know hey Andrew that was confusing uh tried it again uh put a put a comment in in the chat we have a question with the parallel path if one of them is rejected does this can't does it cancel the entire flow the good thing is you get to choose so in our example here that we're showing yes so I have chosen to put inflow in both of these paths in the parallel path here um when either of them rejects because that's what I decided but you get to decide like Lisa said how I want to proceed there um so it's up to you you have you have the control and ability to to craft this to how you need all right so let's go take a look at how we perform this uh parallel approval with a little demo that incorporate it's our workaround so I'm going to return back to my same catalog item because uh you know I recycle reuse re reduce so this is the recycle uh part of that so I'm going to recycle this it's paper paper is supposed to be recycled um some of that just update this same catalog item to instead use my parallel paper and supplies let's quickly jump into flow designer and take a look at this flow that I've set up that looks shockingly similar to the screenshot that we had outlined earlier so I've got my service catalog trigger I'm in my diagramming view because it's my favorite view when I'm looking at a parallel because it really outlines it nicely for me I've got my parallel approvals and then I'm responding differently here with these update records this is different Logic for me based off of which of these paths I'm on and then I output and I perform these logs and one of these sends an email and one of them does an update record so again this is I have different logic based off the parallel path here and then I come back together I unify afterwards and perform the rest of my flow so let's see it in operation so in order to do that I need to kick off a new catalog request that's going to invoke our flow so we request some things and we parallel I hope I spelled that right I usually don't so we've got this new one uh which ends in 31. I'll again uh return to my service operations workspace and I close it not okay look at that we're gonna refresh so we have now two sets of approvals here let's go do one of them so I'm going to hit approved I'm going to hit save I'll close out that record I'm gonna refresh this and I say oh wait what's this why does this say no longer required I thought I was doing parallel approvals yeah and then and then Lisa reminds me what is what is Lisa going to remind me around that I need to do a workaround for when I'm performing actually two separate ask for approvals in parallel um I need to go open up these records uh these actions and I need to clear out this approval field so what had happened is the first one that I approved set the approval field and as Lisa noted earlier in our session that record Watcher that is uh on that record uh said oh this record the rhythm is approved I don't need this other approval and so it it canceled that other approval and moved forward with the workflow and so that's not what I want that's because you can actually both of them are against the same task so the uh record Watcher is looking at the same task and that's why it finds hey it's approved we'll just go on and so we'll see that our ask for approval completed in both cases and that's not what we had intended so I'm going to return back to my flow and I'm going to clear out this approval field so I'm going to open up and configure this to be clear nothing in there for me I'm going to hit done I'm going to open up the other one and clear that one out and hit done I'm going to save because I love saving and then I'm going to activate I also activate fun fact if you activate it also saves yeah but I'm just a I'm so habitual like say this first for me yes so I I I'm going to say multiple times before I activate so yeah I save we had we just had a a great question that I also wanted to call out and it's a very very astute observations uh flow diagram diagramming does indeed allow stages in Utah now yay so it sure does that yes right here in in my screen you can see I've got approval one day is my stage above the approvals and then after I exit the parallel approval path I've got my next stage which is that discount decision and using decision uh tables and decision Builder which is some of my favorite things to use inflows uh is right here and shown in the diagramming view thanks for pointing that out yes so we are going to do fixed so we fix this hopefully we hit order now I'm afraid we lost my instance I am very sad when we stop the share real quick yes it is still there for me so I think I can take over let me check this can everybody see my screen I can see your screen wonderful so let me check if we have the right one here no we don't no we don't we want the parallel paper and supplies that looks good let me check this one if it is updated for your changes this one has an empty approval field that looks good so I think we should be able to try this let's go I of course I opened the request let's get to the item all right now we again we have our four approvers and we'll set this one to approved jump over to our second approval once this is refreshed looks good now you can also see let me just jump back for a quick second so for one of the groups the other one was already set to no longer required but because the one one of them was approved but different to what we saw before in Andrew's example the other one is still open so this is the result that we wanted to see we absolutely wanted to see that the parallel path is now properly waiting for the second one so that we still want this approval even though the other one was given so now we can go ahead and approve this one and once that is done we are great so this looks good let's look at the operations View and take a peek and we will see that now the second one is also being approved and our uh catalog item can be fulfilled so I say success the workaround works so uh that is always a good option to do and I had one further question just before um all right we had a question earlier by by Greta and um there is another option for our ask the approval approvals there sure is and that is in those cases where you run into a scenario that is just more complex than you can craft with those approval rule sets uh you know not all conditions can be crafted with the condition Builder and sometimes we have to script it not all approval use cases can be crafted with the rule set um directly so you may need to script it or your scenario may just be simplified by scripting it which can happen so let's take a look at at that scenario which is yes I can use scripting here um and so I am sharing on my screen what it looks like when I haven't asked for approval open and I need to script the rule set so you can see I have a script Box available to me here um typically we really want to leverage something like a flow variable because if you're in a complex scenario like I need to to gather up I need to do some queries and find out the different approvers and approval groups and they need to craft them together to be an input here that will suggest to me usually that I'll need a data set and a flow variable is a really good thing to use to store that data set in as I'm crafting it and then I can pass that in and use that here in my scripted approval um you'll see uh you it's not very zoomed in but you can see and we'll have links in our the session here and in the YouTube next week that show you how uh because Lisa's got an article that shows you uh the format of how to script these approvals yeah um because the the format is very particular and you cannot Define this yourself so you'll just need to use her article as documentation to find out how to invoke these scripted approvals in this box so uh one one neat note about this if you look at the execution uh view the the operations view of uh flow that it did and ask for approval you can see the syntax like approves rejects so and so many or all users or all Group whatever this syntax can actually be seen in the operations view so the regular ask for approval will also craft a string like this and uh you can probably Divine you can try out stuff to to put that together but it's a lot easier to look at the article and the article about the approvals with all of the examples that we talked through today with screenshots and instructions and all of that and I also have the other article that already existed prior is that one about the scripted complex approvals and you can also find that in the in the aforementioned article all right so uh to you know we made decision tables and decision Builders and how awesome they are especially when you're new to craft things like an approval set so why don't you take us through that a little bit Lisa of course uh so uh decision Builder is one of my favorite features on the platform and in the workflow automation uh space but it's also I think vastly under appreciated uh because not enough people know about it uh there are two great benefits two great things that you can do with uh with decision Builder to ease your approvals first you can make your logic easier and that is what I show with these examples right here my approval is dependent on the catalog category so I am doing if then else uh things to figure out which is the right group to approve for my catalog item and maybe I don't want to make my uh my flow as complex as it looks right here and all of these subsequent logic will be the same like it'll just send something to the group to a certain group it will create a catalog task it will update update the record so the subsequent logic is the same but we just have to figure out who's the right group to approve so in order to do that and that's on the next slide I created a small decision table and this one is infinitely extendable so if I have more categories that I want to Define I can make my decision based on this table and say if the category is software have a certain group proof If it is Hardware have the hardware group approved and if none of the previous rows apply then we'll have the default result and that is the the go to if nothing else applies and if you move to the next one you will see how much simpler this flow looks if you make a decision because all you have to do is make the decision we don't need branches we don't need anything we use the output that comes from the decision table in my ask in the ask for approval action and what run and the rest is so so much easier I don't even think we were able to see the bottom parts of the the flow in that other script shot so yes yes this is so much simpler we can decouple the logic from close uh or code and the other option that we have with uh decision Builder is that you can actually Define the result columns to be a flow or subflow so you can have a decision to determine which flow to run which subflow to run and we can make use of that with the uh with the flow logic that is called Dynamic flows and to learn how to use that we did an academy session two weeks ago with Julia Perlis who owns decision Builder and she showed us how that may work and how much more awesome it is if you combine the power of flow designer and decision Builder with Dynamic flows and you run the right the right approval subflow that you want to run and everything via decisions it's awesome awesome so I know that we're short on time yes so you know we're very gonna quickly touch on that the change approval policies uh have their own uh layer of decision Builder uh their own experience on top of decision Builder to do change approvals specifically so and there's also a recording that we've got right here uh that dives into this uh in detail that you can go check out uh and with that uh now let's look at our summary uh so guidance four uh flows and approvals is keep it as simple as possible because that is my role for everything so uh keep uh you know these things as as simple as you can so uh you know when you're when you're working on this design your logic and process um you know avoid the scripting if possible um you know put everything in that singular ask for approval if you can craft the right rule set for it um and avoid that scripted approvals uh unless absolutely necessary um and make it reusable because that's how we love to to design our workflows and processes uh in servicenow and other places is we want reusable components and flows are just designed to be reused and applied in many places especially those atomic reusable things that we call subflows so craft those subflows and use them anywhere including in those uh you know dynamically with a decision uh table in decision Builder to choose those so subflows are amazing you can call them uh you know anywhere that you can call an API and servicenow and you can invoke those subflows and detach those decisions so in that example that that Lisa walked you through you saw how easy it was to abstract that logic and simplify the way you see and handle your flow if you use a decision uh to craft that logic outside of flow and I just use that a decision action inflow to reference that get my outputs and I can proceed forward my flow Lodge logic so abstract your decisions outside of those flows if it gets even slightly complex or I believe that it's going to in the future just go ahead and design it with decision Builder and decision logic first so that you can scale to it in the future but if you didn't you already have a flow you know the next time you go in there you can turn those several if else's that you've got in your flow logic into decisions uh you know as you're updating your flow any other takeaways that you want them to have guidance wise Lisa I think we uh have covered most of it I've already posted the uh the center of excellence with the article there are more articles in that Center of Excellence give them uh check them out and look for the other Academy sessions as I mentioned before those are awesome uh content as well and then finally all right since I talked about knowledge there will be no platform Academy in May because we will be preparing and recovering from knowledge uh it's quite the flight from Germany I look forward to it I hope to see you all there come by say hi I would love to meet you and chat more about uh flow designer decision Builder process automation designer all the good workflow stuff thank you so much for joining us today Andrew this was a delightful session uh I very much love all of your questions I am so excited that you had fun today um I hope this was helpful and this is good content for you to take share with your peers because the recording will be there next week all right thanks everybody have a good day bye
https://www.youtube.com/watch?v=lVEjqGcWOMY