Dynamic Inputs in Action Designer | Creator Toolbox
[Music] thank you [Music] foreign [Music] hello everybody and welcome to Creator toolbox the show brought to you by the servicenow developer Pro servicenow developer program where you can see all of the servicenow new features brought to you by the latest release usually in the upper right hand corner you will see the logo for the release that we are currently in I don't know where that is currently but it would ah perfect it is Vancouver so yeah perfect thank you Chick-fil-A so if you'd like to check out the remaining content for the Vancouver release you can check out devlink.sn Vancouver now before we jump into today's very exciting concept of the dynamic inputs on servicenow I have an entire like list of exciting announcements for you so let me get through those very quickly first first of all we are in the middle of the hashtag buildwithrpa challenge currently that is initiative to not only learn about RPA but showcase to the internet to social media what RPA uh has the capacity to do for you and your organization currently that is running until October 13th so you have exactly 10 days left to enter and participants get a free shirt so always a nice way to build out your servicenow wardrobe after that so ending on October 31st is hacktoberfest so hacktoberfest just kicked off on October 1st it is an initiative by um forgive me the oh thank you for the link digital ocean digital ocean puts on this initiative every year to kind of remind the community the importance of um using things like GitHub and Source control and so that is a initiative that we as servicenow developers all kind of collaborate on so you can visit devlink.sn hacktoberfest to participate and that's also an opportunity to win another free shirt so if you're really lacking in shirts those two are definitely to add to your calendar fourth which hasn't started yet are the devies so you may recall from knowledge 23 that the devies were big app of the Year contest last year this process kicked off in February but we were doing so earlier as a kind of stagger out the competition behind the scenes a bit better so the submission window starts October 20th and ends November 15th so you have about a month give and take some holiday days to get in your submissions and finally which is most importantly I would say we also have the Creator con call for Content every year servicenow opens the door to all of our lovely customers to enter the capacity to Showcase your talent and knowledge at the knowledge conference um that call for Content will begin October 23rd and go through November 13th so again both those dates for Debbies and call for Content we're shouting out a bit early due to holidays and all things that are starting off soon and that is the end of my promo so finally we can dive straight into the Creator's toolbox episode but before we do I have to introduce my phenomenal co-host for today jingfay so let's uh introduce yourself to the crowd hey guys my name is Jing Fay I'm the PM for flow designer I'm the product manager for flow designer and today I will be showcasing the new feature in Vancouver that's called Dynamic input awesome we're really so excited to have you here I'm so excited to have you back she actually joined us for live coding happy hour a few episodes back so be sure to check that out as well my name is Lauren McManaman I am one of the developer Advocates hosting today also shout out to Chuck tomasu behind the scenes for doing all the production and switching so much appreciated in that regard as well so let's dive straight into the content but I think it's uh it's pertinent to Define what dynamic inputs are first of all so Dynamic we okay so in flow designer we had previously rollout features such as Dynamic choice and dynamic template but in Vancouver we're rolling out Dynamic input as in broaden up the concept to not only the choice value but also and the template value but the types of values are oh support it so that includes I which I will Showcase in a moment um that includes a regular string choices references and even passwords so there were a lot more data types that are supported I would have to say this is a very technical feature so it's not like for a first day user for a flow designer but I will do my best to show you how to use that and how powerful it is absolutely and so give us a small example too of an opportunity that would elicit using Dynamic inputs like where does that usually pop up in use cases yeah so Dynamic input think of it as the UI policy on top of action input so when you're trying to add a action on the flow those actions input are usually Statics right so this is the action that's going to be the input depends on the value there might be some changes but those are preset hard-coded um whereas if you want some flexibility if you want those input to be you know dynamically set up or having some show no show policy or any type of logic behind that input then you need this feature called Dynamic input makes sense so instead of just basing it off of like a field or something like that it's based off of things that have previously occurred within the flow right or somewhere else gotcha makes sense I've also heard them pop up a lot with regards to service catalogs because those have a lot more contingencies involved so yeah yeah exactly so it depends on for example your end user could have different value or submit different things on service catalog and then your catalog administrator Administration team could set up the catalog differently right so they can have one big catalog for a few different use cases or packed in one and depends on how they set up we can then fetch those variables dynamically and that's Dynamic input very cool well I'm excited to see this today um and I will leave them all in your court as far as sharing your screen all right uh I have not shared my screen before on this let me try so on the on the bottom part there's like a present button and that's how and then we can add it to the screen and then I'm showing this page or entire screen yeah can you see uh not yet I think it's still loading but we'll have to add it to our live stream here in just one sec uh did you on the bottom part did you click present and then following me Chrome has lost permission so I'm trying to add it to Chrome okay screen recording let me try again okay one sec stand by everyone a small technical hiccup but as expected early on in one hour two I guess it's not even Monday morning yeah yeah it's kind of early um [Music] can you see my screen now uh not yet it will pop up for us on the on the back end like by all the videos and then I can add it from there okay let me see if I can just share a um the page itself that's gonna be easier oh this thing got shown but sometimes I do need my uh other screen oh sorry sorry no I took I took it away I'm sorry sorry technical difficulties it's all good let's just do that no it's building building anticipation that's always yeah it is only showing one uh can I do this no there we go oh you can see it yes there we go can you see my if I switch tab can you see both yep oh fantastic awesome awesome okay cool um so yeah so let me actually start off by going to a regular flow I'm just opening up a random flow like it doesn't matter which one to open but as a regular input uh for from a regular action I'm just gonna say um credit Rucker why not okay and then you see how these inputs are set per action if you want to build any logic behind that before Vancouver you will have to use dynamic in uh choice and dynamic templates Dynamic choice is like a drop down Choice basically like this but this is a reference but choice is you know more limited than this Dynamic template are these fields that are depending on the choice they will show up so they can actually retrieve all what are all the columns from the table but this is our called template field Dynamic input in on top of these two Fields basically support everything else so that's that's what dynamic templates means very cool uh for the purpose of this demonstration I set up a previous um action so basically what you need is a helper action or sometimes I call it input provider better action that basically is the UI policy think of it as the the action that holds the logic for UI policy for dynamic input to show up so it has logic to control oh if this input should show up or not what should be the mandatory field what should be what should be the default should it be mandatory or not so host all the logic behind that gotcha um so for this I'm just gonna walk through exactly what I did in this provider action because since there is a little bit of scripting in here so uh I don't have any input at the very beginning or from the action but as the first step I'm looking up records that are incident with the description start with you know my initial and then in the scripting piece basically what I'm doing is if the input urgency so if that incidence urgency is high is the one then we have this one hard-coded default message and then that default message is looped in as part of the in output so in order for the dynamic inputs to show up properly we must have a output you know it's called Data here but later in the output step I'm actually going to connect that and wow that properly so we must have an output saying hey these are going to be the dynamic input dynamically showing up when you're using your action before we move on from this can you zoom in on your screen just once or twice yeah yeah there we go I think you did yeah there we go here we go here we go yeah so so this part is what I'm studying dynamically so basically it's looking at a urgency of a record that's you know outside of flow designer completely outside somewhere else in the platform and depends on the field it's gonna give you either the the default message right or um I have an out statement but basically just saying like it's outside of that if statement so it's the same variable that I'm using in both places it just depends on the urgency is having different value one question that we have from the chat is kind of interesting is there something that could also be done a bit more um there will be a bit more steps involved but this is the end result of this could this also be done with decision tables instead of dynamic inputs uh yes um yes yes for this specific use case that I'm showing you a decision table it's actually properly a more local way of doing that so that you can listen to the input from somewhere else in the platform take that into a decision table and then spit out output properly but then you you can only set the ver the variable or the value of the variable as part of the action input you cannot set anything else true for example you cannot set the label of the input you cannot set the default value is it what what type is it so you you you have some level of flexibility probably already awry for your use case but not to the full extent of what dynamic inputs can achieve gotcha okay all right so uh and then in my output step I'm just you know looping out or like set assigning the the step output that was called Data before right and so it was cut data in the Json output I'm just connecting that properly with the output of the action so that's what I did in this provider action so this is part one yeah this is part one this is this is the UI policy behind the input now I need a separate action to actually you know what is the action that's going to be used and then so UI policy is going to apply on top of that and therefore I'm gonna just you know create a action and I'll call that Dynamic input consumer and it's under Global so everything is in global for the sake of demonstration I'm gonna collapse this so I can see the the way to create input so I'm just going to call this dynamic but um and then in here this is where the Magic Begins so that you see previously we support Dynamic choice and dynamic template but we added Dynamic input in which we can say oh the input of this consumer action is we're applying the UI policy on top of it so we call this input provider action okay input provide yeah so so this in this field it has all the existing input all the published in or actions that you have so you can actually honestly choose everything as long as they have a output that's uh called output and has a Json format so as long as this any action that has this it will then properly show up in the in the drop down in the dynamic Choice drop down here gotcha okay all right so let me save and publish all right now I get this uh Dynamic input consumer action so let me just copy actually copy the name so I know how to find it later all right so now let's use it so in a regular flow let's then called ah there she is pretty fast it's nice that you didn't have to refresh right right and so far oh it gave me some error messages I wonder why okay so let me see all right so this is troubleshooting live that's okay yeah so long time so this let me actually um so it's looking up all the inputs so actually let me uh go to the incident table and create a new the only condition we have is short description used to start with JF and then depends on urgency let me save this one of my um I'm glad that you do stuff like that too to test like on test records I would always call them like Lauren's like the Lauren's teeth tests yeah yeah yeah yeah I just I just want to like start everything with my initial that's that's probably not best practice because now at the end of the day you'll have you know my name all over the platform yeah but in case there are other developers doing testing the same environment then I know where to find it um so for this um so yeah I think the error was caused by there was no uh incident before but as soon as I created incident it was able to fetch one and so what we have we are seeing on the screen is there is one incident with the urgency that's not one and basically is showing all these inputs that are dynamically fetched by the provider action and so basically in the script of the provider action I just said oh let me let me collapse this actually uh no let me class collapse that's peace okay so if no if the if statement didn't go in then it go into else else means urgency it's not high then please show all these fields and all these types of the data types are supported so it has password 2 HTML type slash bucket email uh integer decimal you name it in the in the flow I can actually or when I'm using it I can actually set different what are the the types what are the the label the value behind should have been mandatory or not etc etc that's so cool that's so so cool yeah one one use case we have seen or we have heard from our business unit business people is the password too so basically they want to you know this is a authentication step and they really want to depend on the the endpoint of authentication have different feel right because that's the the parameter used for different apis and they need to set up the authentication right in the action and so that's why we're supporting this value very cool that's awesome so where so when all those are taken in as inputs where are they are they still accessible as like variables within the flow itself like on the right hand side yeah yeah they are but these are Dynamic input so let's say once I have some um value configured in those variables then depends on like my My Oh My My Consumer action didn't have any output but if it does then it should show up in the you know in the output data pill so that you can use the output of this action and then use it somewhere else this is very very cool I think that it's interesting because I as someone that's that especially used to work on the sales side for flow designer and app engine um you always hear comments of like oh like flow designer is great but only for like low and note code and I think features like this like really showcase like there is a place for pro coding in inflow designer and it's in stuff like this it's in designing actions designing Dynamic inputs and things like that to make the no code experience even richer than it already is yes yes it's it's it's very it's going to be very very powerful so let me show you um changing this so you can see how Dynamic it can be um let me save that so right now I'm just putting the urgency to one for this incident and then it's already low here we go so and then once get back to the flow I can fetch this again you see how it's then changing the image yeah yeah it depends on that's how I said in the in the proper action in the provider action and so right now it's this it's going into the if statement remember it's going into uh here so that because urgency is high is then having the um a default value I also set this mandatory to true so if I get rid of this and the mandatory is true and then so the use case can be oh your flow author depends on how they want to set up the value they can you know use the default error message but also can provide their own I love how it doesn't like it like it truly is dynamic like it automatically changes without having to like refresh or redo anything or save again like it just showcases the differences immediately that's something yeah uh one small uh Pro tip when using Dynamic input so let's say you are you know changing this somewhere else in the platform changing a value and then but then you didn't come to flow designer to set this up it's going to take the whatever the the version that's already being published so um it just you just when you're using this feature you need to architect it carefully so that you're um you know like think think through the use cases of where is listening the value from where is how you set up the logic to fetch things dynamically from somewhere else and then uh because this is realizing in the in a flow designer design time and so you want to make sure your designer uh when they're designing it the value are Dynamic already changed and so you can use your logic properly I love this so one question I have is is there any spot currently like is there any lab or any documentation if people wanted to because it's a bit more of a technical thing that people could use to practice or or or because it's so new is that not yet out yet uh so uh I believe the oh product documentation is already out on this feature so Dynamic input we used to have like a practice little demo question exercise for dynamic template choice and template but this equivalent for dynamic inputs is already out we do have plan to Showcase this feature next year in our next batch of you know lab exercise on walking through so stay tuned awesome well I I always like to shout this out too is that whenever we do a Creator con call for Content whatever is the big thing is what we get the most submissions for right obviously like I think it would be foolish to not assume that most people will probably want to talk about like gen AI or things like that at careercon this year so I see this as a massive opportunity uh if you can get your fingers on it and devise a cool you know lab or presentation this would be a second I would find extremely helpful if I was in my previous job so just to the people on this if you know since Creator con call for content is coming up this could be an interesting topic to dive into and I selfishly want to further propagate the success of Florida designer oh thank you thank you that's so nice so generous well is there anything else that you wanted to cover or any other tips and tricks that you had um uh not tips and tricks uh per se but like as I said this is a very Tech Pro coder use case or feature for for pro coder use cases so um I'd be curious to know the use cases that you have so the way we designed this is so flexible in nature and it can support just any logic it's enabling more flexible scripting in in action designer so it's so flexible in nature and if you have a very good use case or if there's something that you don't think it serves you please let us know please reach out awesome well I am so happy that you got to join us here again today it's always a joy to have you on uh be sure to check out jingface episode of Live coding happy hour as well that was extremely fun um that was talking about uh that was the go back to action which was awesome I was I'm so phenomenally excited for yeah uh as a quick rundown once again uh is well first of all is there any way that if people had questions obviously you can leave them in the comments of this video um but if is there anything that you'd like to shout out as far as where they could reach out to you possibly if they had more like your LinkedIn or oh oh oh yeah yeah sorry I'm just checking comments to see if there's any any question there um yes please reach out to me on LinkedIn the jingfay that's my name on LinkedIn um also you can email me at jingfit.chen uh at servicenow.com so just I'm really out there so please email directly I yeah reach out awesome so quick rundown of the promos from the beginning uh end of uh October 13th is when Bill with RPA ends so if you want your build with RPA shirt opportunity do that hacktoberfest it just started it goes the entire month of October it ends October 31st so if you'd like to participate with that join in the fun um the devies open up for opportunities on October 20th and end November 15th and then finally as I kind of teased a bunch the Creator con call for Content opens on October 23rd and ends November 13th thank you again for joining us today jingfay and showcasing Dynamic inputs it's something I definitely want to practice more and I see as like a brave New Frontier for the pro coding world of flow designer um thank you for joining us and thank you audience for joining us here on this lovely uh Tuesday morning or evening wherever you are in the world [Music] thank you [Music] thank you [Music]
https://www.youtube.com/watch?v=IkIpog_673s