Paris - IntegrationHub for integrating YouTube - Live Coding Happy Hour for 2020-08-21
[Music] so [Music] one hello and welcome to live coding happy hour for this fine friday august 21st 2020. uh i'm your host andrew barnes and these are our lovely companions on this road of live coding today so let's dive right into introductions with brad hey everybody i'm brad tilton i'm a developer advocate with the developer program here at servicenow i've been doing some sort of development work on servicenow for about 12 years as a customer partner and now employee for the last four and excited about today's show today's guest awesome thanks brad and then returning from last week i don't know why he came back for more it's jake hello everybody jake berman here so i manage our workflow and integration products at servicenow so that includes flow designer last week integration hub and really anything around process automation workflow and integrations for the platform i've been with servicenow about six years and switched over to the dark side or the light side i don't know yeah uh about two years ago or two and a half years ago for product so i started out in the field joined product a couple years ago in six years or so so far awesome and we've got our recurring uh other andrew here with us today and one of our developer mvps introduce yourself andrew yeah sure my name's andrew albredore um i have been working with the platform for about four and a half years i work for an insurance company a customer in australia brisbane um and yeah i big fan of the show big fan of servicenow and got the developer mvp award last year so um yeah here i am to bug people and throw my two cents in the ring awesome and i'm andrew barnes developer advocate along with brad here at servicenow i've been developing on the platform for uh six years i've been at servicenow for two years i specialize in managing large-scale development teams um custom maps and integrations uh i like to build fun stuff on the platform and i like it when it makes it even easier every new release makes it easier for me to build fun stuff and so that's why we're here today is to build more fun stuff um if you've got a tasty beverage let's introduce it in the same order brad all right i have this uh it has the wine opener attached it is a b-funk farmhouse ale that's barrel-aged it was a random thing that i found a couple of weeks ago i thought it'd be good for the show you know we like barrel age on this show i mean yeah of course and you jake i'm going with uh ballast point just this thing nice and what fine wake-up beverage do you have this morning andrew i ran out of coffee um yesterday so all i have is some nice branded water branded water nice and and i have and uh you'll all have to forgive me i can't even read the letters on this uh but this lovely beer here uh from the dudes brew i hadn't read that until right then uh so that's uh that's gonna be fun so uh if you're unfamiliar with the show welcome glad to have you here today uh we uh built on top of a servicenow's platform and on the show uh we build uh completely unscripted so i do prepare for the show so i do things like get credentials uh already set up when we're going to do an external connection like you'll see today um but i haven't actually practiced any of the the stuff that we're here to highlight today so um for example like i said i i did get the credentials done because we could spend the whole show on credentials and we have done a whole bunch of shows on credentials but that's not the focus for today today we're going to be highlighting um integration hub so we're going to be interacting between our servicenow instance and a different uh provider and in this case it's going to be youtube itself that we'll be integrating with because we have a management app um for uh managing these shows and other things to our developer program channel and we do that with automation because we're developers and we automate everything that we can because we're a really small team and the more automation we do the more cool stuff we can build and in this case we're going to build some cool stuff that's automation so that we can build more cool stuff for automation nothing meta going on here at all hello if if you've seen um any of these before we're going to be working on the artifact manager that's the name of our app to do all of this automation and today we are working in a paris instance so we're still in the early access period of our new newest release paris uh so we'll be working in that and we've got a brand spanking new youtube spoke fresh off the factory floor into store.servicenow.com that we're going to be using we've built our own spoke on the show previously to to do our automation and we have a collection of uh business rules and script includes and outbound rest messages um because we've built this up over time over like four years uh we've got a wide collection of ways that we're interacting with this thing and one of the goals before the end of the year with this new youtube spoke is to centralize all of those automation points to youtube uh to you leverage that one spoke and flows uh to you know take advantage of those so get rid of all of the other methods that we're using uh to invoke and engage youtube as an external source um that's enough intro i think right brad is that did i miss anything that we're gonna do today no i think that's good and you know i think this is a good use case for you know if if a lot of people have built some sort of integration and you have a use case where you want to take a lot of what you've done and centralize it into something like a uh spoke that we have kind of a that all encompasses something like that so yeah yeah and exactly and so that's one of the motivations for highlighting this today because this is actually a thing that you'll you'll actually run into as a servicenow developer is um in this case we have provided servicenow has provided a new youtube spoke that that replicates some of the existing functionality and adds some new functionality um and i want to take advantage of some of the new functionality and uh get rid of some of my own technical debt by linking in the the existing stuff to the the provided spoke um instead of the collection of ways um and then separately i want to move all of our business logic when i'm doing that um to to all be centralized and flows so that i can actually find it all in one place and manage it all in one place because that will make my life an administration of this easier so let's start screen sharing all right does does all of that make sense to you jake what we're doing here today and is that a sort of story that uh you've you've heard before you're automating manual process yeah it sounds like we're uh yeah right on i mean brad can you let me share i can i was in that situation uh last month when the google directory spoke came out i'd sort of half built a bunch of stuff for our organization in my own spoke and then the director he spoke came out using better stuff and um yeah that's one of my things that i'm going to have to do is pretty much this except with a different spoke yeah so so it is definitely a thing that you you could run into as a servicenow developer uh is uh you know uh enhancements will be made and and that's a good thing and i don't need to transition to leverage those things immediately so what you're gonna see today is we're gonna ease into this a little bit um so i've got uh one of my favorite places open here um and let's just give it a full reload because i i i'd need a full reload uh let's let's do a language ah we'll leave it if it's happy i'm happy all right so we're in flow designer um which is uh one of our tools that jake is over that that group that manages flow designer and inside of flow designer you have well let's go to the main screen we've got flows subflows actions executions and connections uh so i'm actually on the connection screen which is brand new in paris um so we've released a blog about this on developer.servicenow.com what was that yesterday or tuesday ah it's recently this week highlighting this new area here in paris and what you'll see here is all of the connection uh aliases that i have set up in this system that are ready to be consumed here in integration hub and you might notice uh there's some different uh scenarios here we've got advanced setup and then we've got ad connection and the difference between those is if um azure ad actually has a template for adding a connection uh and so when we hit add connection it gives us this very tailored exactly what i need experience for just this this potent this credential type and connection um specifically to azure ad and when we don't have that so this normal ad spoke we'll go back to our traditional view that uh allows us to um set these up and you'll notice there is no configuration template so since this is not set we don't have a tailored experience here and so that that's the main difference that you'll see there we also have actions and so we're going to narrow down this list view that i have here i'm going to right click and hit show matching on our youtube spoke which is just freshly released yesterday to our store so i installed this earlier today and established my connection so i gave it some credentials and then connected and then that's sort of where we're set up to pick up now and so we looked at this earlier brad you and i and we decided that for today um we were we were kind of really excited right off the bat with this reply to comment um initially i was like oh cool post comment but then i was like i don't need to post comments to my videos i need to post responses uh and then you notice that uh there is a different action for that because it's a different api from youtube to reply to a comment uh so let's open that up yeah we've got a lot of these videos now that you know it's kind of hard to stay up to date if somebody comments on a video and so it's nice to be able to pull in all these comments and and you know reply to them or at least manage them from a central location so that's why i was excited seeing that because i hadn't really even thought of it until i saw it in the spoke yeah so um absolutely we want to centralize that because we've got blogs we've got youtubes we have comments in the community we we get comments in a lot of different places and there's more than one of us managing those responses in order to like make that good experience for everybody uh as one we as a group need to have visibility to them and as a group be able to respond to them and know that they were responded to um and so this jumped out at me and said ooh like i initially thought huh let's replace something existing uh with this new spoke and then i got excited about the new shiny thing and was like let's get the comments uh so that i can then reply to them uh and centralize that so i was pretty excited to see this so we need two things we need to get the comments and then we need to be able to reply to one so there was also a uh where let's um let's use our lookup comments about halfway down comments all right there we go look up comments so these are the two actions that we're going to highlight and look at today so i opened up studio uh earlier and i need to give it a refresh as well excuse me and created a new table for comments and so you can see here i uh i took a stab at what we needed we might need to adjust this a little bit but you know you know as as we uh explore those uh actions and see what they're available to do we'll uh we may need to adjust our data model a little bit but this was this was get us started um so returning back to flow designer so the first thing i need to do is look up some comments so let's see what this provided spoke is giving us well what it needs actually is the first thing i want to know is what do i have to give this in order to get some comments so when i select it i've got these inputs so this is what this action needs in order to move forward and we've got three mandatory ones here at the top so these these will definitely need to be provided so i need to give it a filter not sure what that is right now what that would actually look like a resource id i'm not exactly sure what that is either and max results i can figure that out that makes sense i suspect resource id in this case is either gonna be my channel id or a video id um i'm i'm not 100 sure but we'll look to see how it's used and then that will uh lead us towards that so we've got our rest step and if we take a look here and see what it's sending youtube that will probably help me figure out um so id is going to be snippets and reply so this is what we're getting back from youtube and preprocessing type id is out id i don't know what that is um but search terms order offset next page moderation all of those are uh not that important uh search terms and out id let's go look at what those are so we take that resource id and map it to enter id and we've got a script here and let's see what we're doing with that enter id oh we're using it a bunch of times comment id [Music] um ah filter video id channel id all channel id so filter is a choice i noticed too so we're we're telling it what kind of id am i going to provide here and then we're providing the id um i didn't catch that thank you brad um so that was in our inputs is a choice uh here on at the top there yeah the action properties too which might not render the best but um it'll give you yeah it might be better in the action picker but it might have a short nice let's do that in the action picker so good call jake they should be well documented in the docs too um which are linked up to the install the spoke install but another quick way is through the action picker in a quick plug next to release we're going to have inline documentation so um at any point within your flow you can bring up the instructions without just closing the action picker each time and having to reopen it to see what the instructions are oh nice that actually sounds very useful amazing so you can actually see we we have been doing youtube stuff for a while now [Laughter] youtube broken spoke uh that that is so true um and i want to look at the comments oh no you clicked it too fast you know right when you do that there's going to be like you know how in the rest of the platform you've got your inline help that side panel that will pop up flow so that that doesn't happen oh there's a space in look up look up comments all right don't click it just read it so filter is the type of resource id okay so like brad pointed out those are the choices um resources so we're gonna send it uh a channel uh id i think uh no i'm gonna send it videos i want particular video ones um so cool the filter will be the uh you know uh video and then resource id will be the id of that video and then that's the only thing i really have to specify sweet so here if i did video id which is the default noise and then i give it a resource id which will be a video id so let's do um created or updated so we're going to set a trigger this might not be how i end up doing this in the end but this is what we're going to do for now and we're going to do actually don't don't care let's just go get them um what's uh what's a good uh flag here i i i think i might actually just i'll probably just run this every day uh versus uh so but for now we've got a video which is really what we need and i'll figure out the trigger um either probably be a scheduled flow that uh just goes and grabs them for all of our videos so we've got a video record which has a channel uh which has an id which is not the channel id it's the video is it that one or is it the video id field that was down the bottom of that oh god there's there's so many ids when you're dealing with youtube stuff video id that's probably the right one good catch there andrew that's why we have two andrews yeah because because one of them is good and one of them is bad it inverts um daily yes well we're on different days um yeah i'm good on saturday for now all right so that should be all i really need uh to go get something from this uh let's let's try it out let's do it um so let's save it in background then i'm going to test it and run it in background um in order to do that i need to grab a video id which i have handy dandy right here um you want me to create a record for that brad or do we just stuff it in there to test i i think we're good just stuffing it in there okay um so it doesn't matter how uh i need to i do need to yeah if i tested the action individually i wouldn't i i can just test from here actually so i could just do this that that's sort of the old way how i was doing it was the old way there's a test action right here on the a test button on the action itself um so this is the better way to do it anyway we should do it this way it was like the best feature in new york i think it made me really happy so um i said it running in the background i should have gone uh to another screen to show that i actually was running in the background which is a paris feature so that's brand new shiny shiny brand new uh so what is our expectation uh so before we go look to see uh if we were successful we have to actually know what success looks like beforehand so i have this video here and it should have a comment on it look at that watched it again still good so there are two comments on this video so our expectation is is that we and since we set the max at 20 we should get both of these comments um and some details about the comment so i would expect to have uh the the body uh this video is incredible um and in in the future i'm i should expect that i get uh the likes and dislikes uh or hearts so we'll we'll do a little heart and i'll throw one in here too hello there so next time we'll expect three and some likes and dislikes and so if we return to flow designer and our execution details um we'll see that uh we look to have got a completed test run so let's take a look at our page details so this uh action is set up to do pagination so it will uh you know step through calls to our api um and and bundle them up in groupings we don't need that for this one so we're only going to have one page but it is prepared for that so let's see what we get down here and so here's our rest step and this is what we sent over to them and we hope that the response body contains some json that uh you know contains our comments watch it again still good oh so text display is there um text original versus text display i wonder what the difference between those is we've got the author's display name we've got the id of the what i assume is the comment itself uh we know which video it was but i already know that anyway because i said give me the ones for this video um here is author channel url is that something is this brad's url oh that's a good question i just assumed that was yours it says author display name is brad tilton yeah and then author channel url this has nothing to do with servicenow but i want to know what this is so i'm going to have to go live i don't think i have anything on that uh that is brad a kid and a dog there we go both mine uh so i've got your profile image your youtube channel uh id and url that's the number address social security number [Laughter] we definitely uh will know all the things and we've got a like cal um can rate okay we so we've got some useful stuff here sweet and here's the second comment wait yeah that's the second comment nice so we got two big three that's a drink right there we we got what we expected and it worked on the first try which is pretty magical again if you haven't caught this before we're not uh pulling any rabbits out of hats here uh alright you know the expectation of this actually working was a pretty low cause this is the first time we tried it it's an out of the box spoke of course it's going to work oh credentials google apis uh there's a lot of failure points here when we're just saying those two two sets of words so um the output of our action should be a nice complex object that we can do stuff with and it looks like we have a script to do that um and we'd actually need to you know pull that into the flow to to experience that but our expectation is that we have those available to um us so we've got the ability to collect comments now and so we want to go and try it how to uh reply to a comment because in the next 20 minutes hopefully we can store these comments uh in the comment table and then maybe even reply to one from our instance so let's let's do it let's go to collect comments so we're gonna look up comments uh then we need to and you'll see that this actually this action uh which i have never seen before uh so is this a new way to yeah it's data streaming so anytime we do data streaming we nest it for that for each so it's kind of awesome so it's built in a 4h right here for me so i don't have to like have a separate action to say all right for each of those things from this thing it just automatically gives it to me that's awesome i hadn't experienced that yet that's cool it's very highly performant so you can actually go point to a two gig you know a stream of two gigs of data you know i'm syncing my player active directory um further you can actually point data sources and import sets two actions which in the case of using data streaming instead of taking and breaking that import setup from ldap that you know 200 gig file into 100 make chunks and taking you know a month to do that import manually you can now point to a data streaming action via data source and just stream that data in a couple hours so like nice really nice that sounds really awesome i'm excited about this um we have uh google groups and users and stuff that we use in g suite we want to import them into servicenow and the directory spoke has data streaming actions to do that so we just got to upgrade to paris to um leverage that i think yeah all right so um we want to for each of those comments that we receive from youtube we want to create or update a record so we want to do an upsert um because that we may already have created this record previously and we just want to update them if so and then let's map some data so we've got uh author let's uh throw in author name boop and then we want let's see what we have available comment id and then the text displayed let's get that far comment id i'm thinking out loud but if you ran this once a day you can auto reply based on like a decision table or something that says look for these conditional keywords or themes or you could even potentially lose use nlu to get the intent if you really wanted to go crazy to say get the intent of the comment auto reply if it's one of these known intents and if not file it into uh hey somebody come look at this that is a really uh great idea and i have done some nlu processing for intense like that for uh additional comments on like an incident so a task-based thing so applying that same logic here that would be really cool so if someone just says great video we could auto respond with thanks right thank you too or whatever and you could have a whole library of those that would be awesome that would be really cool and somebody would find you know find that downloadable to uh store absolutely so and then the text displayed so we want to determine uniqueness right here on the comment id because those are going to be unique and then the last thing we need to do is populate the video reference field here and that should be that should be what we need yeah yeah that sounds possible all right so we need to go uh create a record uh for that video um because we haven't pulled that one down because i just created it today and it's in a whole different channel anyway so i need to create a new entry here did you save your flow it didn't look like that i tried to i'm the i'm the flow saving police just check okay well i'll be back there soon so uh none of this other the video id is the only thing that really matters so uh here we go is uh the uh live code happy hour intro video and uh we'll give it an id even though that doesn't matter sip it so we should have a new why don't i have updated all you know if i'm a administrator in servicenow i want every table to have updated and i want everything to be sorted by that i actually made up i made it anytime i go to the instance i put that script in there uh and run it and it would it would add that to a list of common uh common things set those preferences so i thought i'd say but uh clearly i didn't because brad is the saving police just made me nervous yeah so we've got a record so we should be able to test this now and the results of our test should be that in our let's drop into artifact manager let's add our related list uh comments so down here our expectation is we get three entries here that's that's the goal so let's test this against uh live code happy hour intro right how is this going to manage the comments trees in youtube where you have comments on a comment we're gonna have to have like a parent field on the comments maybe i believe that they have a reference i believe the youtube api has a comment hierarchy in the api response so we could simulate that as well if we need so our flow run ran we've got a nice indicator here of four which is maybe one more than i expect but let's see looks promising but it looks you know it's directionally correct oh one of you watchers added a comment sneaky sneaky trying to throw us up they're throwing me off uh our body is there and the comment id is there and the author's there and that's all we asked it to do awesome yeah that was super easy that that's pretty awesome like actually you need to create or update and it'll correlate you could run this over and over and over again it will just synchronize them right absolutely so jake pointed out when i set the over here this upsert when i said this determines uniqueness means that when i rerun this i should nothing should happen right that our expectation is that none of those data records change because i'm not updating anything in those um since then unless brad goes and like edits one of his right now but we're not we're not going to ask him to yeah fingers crossed right again completely unscripted so you know stranger things have happened all right nice so two minutes ago none of these were touched because there was nothing to change so we didn't get eight and we also didn't update them uh because they didn't need to be updated because none of the data changed now that's some victory right there so uh that was pretty easy so we still have our 12 minutes left to give us a functionality to reply to one of these so let's set that up let's do it uh so we want to reply to a comment and in order to do that we need to give it a the parent id and then what we want to say so we need a flow for that so let's set up a new flow and we're going to say uh post comment post comment and let's go ah user who initiate session or system user and uh we highlighted this last week uh we've got the runs with roles if we needed to um and we might actually we might actually consider that for this table uh that you uh that we restrict this uh even further um but we're not gonna do that today but we definitely want some uh restrictions on who can actually post comments for sure so we're gonna do on created on our comments table and done we are going to call our youtube uh maybe it's just comment the one observation it's the same people that you're synchronizing right it is so are you doing this to say when you take action as a user inside of servicenow or is this for automation every time you insert one you're going to just auto reply yeah i think when i'm going to insert one i'm going to reply that will send it to youtube so i'll probably need to adjust the other one so it when it comes back it looks to see if there is no uh you don't want to create a loop because next you're gonna have comments and so forth right that's what i was that's what i was trying to say is i wanted to find it even though it doesn't have an id so in order to stop that from happening if i put in the uh so i'll get a response back from youtube with my comments id and as long as i write that back to the comments created i should be fine so your trigger is going to be comment created without an id and then yes that will stop the loop because everything's coming because all the ones from youtube will have it and i'm going to populate it with one when as part of this flow yep so we've uh the id to do comment id is empty so we want to post a comment and the comment is going to be from our comment record and we'll do the other way boop boop and body uh the video id we need that from our record video reference and the channel id is it the video reference or is it the video id under the video reference glad we brought you along today i just want to drink more of my refreshing water the video id and then inside of that video reference record we also have the uh channel id done so that should post our comment and then we want to uh update our record so our trigger record we'd like to update it um no we don't need to update that i was going to get the no i do i want i need the id because that's why otherwise your correlation won't work comment id and that should be one of the responses from youtube oh thank you whoever built that gave me what i expected you to give me and i i could have enhanced it if i needed but uh thank you for giving me what i wanted um could you maybe wrap the update comment in a if status is successful maybe maybe i i thought about that when i saw this status and area and i was like yeah let's get it working and then what then we'll error handle sure so uh comments created where the common id is empty post a comment uh update back uh so if i want to test this i'll say uh this guy should post a new comment with just whatever the body is of this guy which is hello so as my entry it should post a new thing called hello then it's going to update the common id so maybe i should just make a new one i'll publish and make a new one i know it says activate but i call it publish activate publish same thing so new one ajp says i like posting videos and we've already got our video because we were in a related list and we say go and we can check the flow executions uh if uh very shortly we don't get the comment id populated so this is happening uh asynchronously so it's got a you know and it's an external source so hahahaha well then that is a very promising sign so uh very promising sign to say that uh when i load this i should see a comment on this thing from me that it's gonna be right down here i like posting the videos man yeah i wasn't sure i was gonna finish that in the 12 minutes and and we nailed it in eight so we've got four more to allow replying to comments well that oh yeah so i do need to be able to reply to a specific one right so if i reference it to uh so it seems like a child action here right so a reply in line to another one a child here uh so i need to in order to do that i have to send it which one i want um is that something that this accepts i so we're going to have to advance this post comment in order to do no i think there might be an action called reply to comment there is yeah which is what you've got open in another tab which is what we said we wanted to do i yeah brad i did it again earlier today i was like post comments what i want to do and then brad was like no you want to reply to comment oh you you're so right brad no i didn't i didn't even catch it the post comment stuff will be great for adding additional info after the um after the show goes live it's like oh i just want to put a link to somebody's blog on this part and there you go maybe even so here this is where i think we need to do what you said andrew which is uh expand our data model a little bit yeah with parents you didn't yeah i don't think you use those words that way but that's what that's what i was definitely thinking i agree with you and i'm also thinking a reference field a ui action to reply to a comment which then calls the flow via the new api would be handy i i thought the same thing but i was like i'm not building that on the show today and especially not in the last three minutes so uh you're right that's actually probably how i want to use it is a in a modal to just with a ui action that says reply to comment and just gives me a box and then hit screw let's just make an entire comment portal while we're here i think we're going to be here a little longer there well i've got all saturday so yeah just throw some components in there and we'll workspace you could have like the youtube feed happening real time you know what would be cool if you incorporated like google translations so if somebody submitted a post in a different language yeah it translates it into your instance and then translates well translates it gets the intent and then does stuff based off that ah yeah now now we're cooking with crisco all right so we've got a parent field uh so we've extended our data model so that we can get this comment id um so we're going to have to go here record we might need a refresh for that but yeah we need to refresh it's fine uh let's save in order for flow designer to run efficiently it's got to do some pre-loading at the start and i'm okay with that just like in games like if you want to take five minutes to load the the game and then not have any stuttering or loading while i'm playing that's fine i can wait at the start no problem at least to me i'm used to i i would prefer a good experience while i'm working um no bad come on not what i wanted this one this one parent then comments id there we go and now we get the from our trigger is body but yeah this could this reply to comment would be very easy to just uh you know call that directly like andrew was pointing out from a ui action with a single modal and just pass it that one you know automatically grabs the comment id from the thing you're replying from and then you know just gives you a single box to say what do you want it to say um and and then does it so that's a great idea uh let us hit done there move this up our tree uh nuke this original goodbye friend we always okay no worries i thought maybe we'd have a different um reply to flow replied reply to comment flow and re-keep the creation uh right now i don't uh i don't post any comments until someone speaks so building for now not the future uh what am i doing uh updating record which record this record and i'm doing the comment id from this guy bam done save activate so in our comments we need to go ahead and add a related list so that when i hit new here it populates parent for me which is really what i need and i have a body and i should probably get rid of the rest of this stuff on this form because it's relevant and i say this is a child comment submit so our expectation is that we get a new flow execution over here it's cued let's watch it it's completed it's updated our record suite uh so that means over here uh we should have and it doesn't look like it does live updating so i'm gonna have to refresh the page oh look there's some replies a child record thank you rohit [Laughter] um so let's uh let's stop the share and get to our question and answer because we like the question and answer session but i really want to uh like run really quick the get collect comments and just uh just see that work you haven't populated parent in that remember i haven't yeah that's true but it should be fine yeah it should be fine we're still correlating on the same id yeah so let's uh let's yeah test it yeah this is a good i think i saw in the uh spoke that it it only gets top level comments so we'll have to see if that new comment shows up oh only top level comments uh let's go to yeah comments [Music] just now i like posting the videos hmm only top level ones so five and over here we've got one two three four but i created this one so so far rohit hasn't shown up so it does it doesn't retrieve these children um all right we'll have to figure that out so i'll stop share and we will return to our regular view hello so uh now we get to uh and and we had a lot of fun and i actually learned a lot of things last week uh which is great i love learning new things uh with jake and brian from jake's team last week so andrew do you have anything queued up for uh jake today i know you are a flow advocate so yes i'm sure you don't have to restrict yourself to integration hub so no no i i've been using integration hub a lot lately with my work i do really like it one of the things that i've run up against recently is the um what's it called where you do the authentication of rest requests before the actual flow um i asked you about it at one stage andrew now i can't remember the name of the feature it's the it's like script includes that provides like you're doing a signing yeah that's jwt not necessarily jwt it's stuff like dissimilar yes um let me just find the name of it over here um it is authentication algorithms um that's what you do i've been trying to find out about and there isn't a lot of docs there isn't a lot of information other than you can create them um do you know if there's anything coming for that because i have a bunch of use cases especially around on-prem mid-server stuff i don't have uh i don't know actually um if the docu i i don't know what lack of documentation is there i'll have to ask one of my pms to track that down um andrew i don't know too like if that's something that you would check in on um i am guessing if it isn't there it it something we have to address and you know at a bare minimum like go look at one of the existing algorithms and then derive the the results from it but that's not a great answer so we'll have to both go back sure and that's what i've been looking at so and that's what he was doing because i think there's one or two examples in there it should leadership or really any off scenario using our supportive protocols so like if you have to capture a token and then pass it in as a subsequent step and the refresh or imaginations of concatenation and other things you have to do in weird ah scenarios right adding headers removing headers and so forth you can support all that because you essentially have scripts you're essentially giving given the ability to script and then access the authentication as it occurs um but yeah if the docs are poor we'll have to address that yeah that'll be great so that um leads me into one of our paris features that's a sort of a smaller feature uh for for many folks but for the folks that are doing things like creating their own uh you know integrations and dealing with uh oauth credentials and things uh it's a nice enhancement which is um oh i'm trying to think of the name so when you're creating a oauth entity profile there's a script include that you have to build that enhances well that handles the token and what was released in paris was that that utility the base one there is now an extendable script include um that makes available um modifying any of the endpoints or anything uh in a scriptable method to handle some of those flexible scenarios so um i know that that's a new thing in paris that i haven't gotten to play with yet um i've had but i've had experience building those myself and wished that that existed so i'm pretty excited about that even though i can't remember the name do you remember the name of that jake extension points so script includes have this concept called extension points it's up to obviously it's not to develop the out of the box things we provide with extension points it sounds like that's what happened with uh with this script include yeah so that that's how the mechanism is of the extendability of it it's the oauth api script area and inside of that the provided script include that you'll be extending has a name i think it's like off util yeah it's a very is the out-of-the-box one i think okay oh well you tell so now that's an extendable um uh scripting that's exciting which is which is great and provides a lot of functionality to enhance your ability to be flexible when you're setting up these these oauth setups because they they can be wildly variant wildly variants i'll do a quick plug on another paris feature brought up prior to the call andrew is multiple connections so with our integration hub and integration spokes we have and use connections and credentials idea with connections and credentials is to separate the code from the auth right connections and credentials credentials have been around for a long time but the code points to a connection alias today in historically an integration hub you can only point to one connection what we introduced in paris is this idea of child aliases so i could have a work alias personal alias system alias and so forth and within my flow i could say connect to my personal box folder connect to my company box folder connect to some other bot you know sales account uh box folder all in the same flow i can either say this is the connection i want to use for the flow versus the system default or i can say you know step one step three step five use different connections and so now you have that flexibility to have multiple connections and then route your processing without going through extra work or copying of actions and so forth so i'm super excited about this that is super exciting and i meant to show that today we even talked about that that's one of the things i wanted to show today but i forgot to show that today we did show the connection manager where you manage those connections so that's that new tab in flow designer to you know that dashboard to manage those uh connections and add the multiple ones but we didn't actually leverage that uh with our spoke today um but but we'll definitely show that in the future i know uh jake uh you have uh to uh to get going uh so let's go ahead and uh wrap up were there any questions in the chat brad that we need to address before we uh raid our drinks you're muted sir um i i can get that there there was a question around uh leveraging multiple mid servers for integrations because i think at the moment you sort of just pick one directly um can we do like bulk apis through multiple mids in a round robin or something like that with integration hub so the short answer is we use mid server selection so integration hub simply uses mid server connection mid server selection rules and it'll automatically wrote based on those mid-service election rules and capabilities we are looking to enhance it so you can be more selective as well the other thing to note in today that that accepts a comma delimited list but it's really an undocumented feature so if you wanted to say like here's 10 the servers to send it to you could construct the proper data pill or common delimited list as the mid servers you want to use this action for but it uses mid server selection so you you you define that and i have to look at the interface but you define the capability you want and it'll just work yeah nice thanks jake was there anything else brad i think that was the the main one awesome well let us go around the horn the same order as usual um brad did you get your beverage opened i did finally get it open uh once we dropped into chat but i had the b funk farmhouse sale it was i think it loses a quarter for how hard it was to get in it was good does it raise it because it was hard to get is it worth it i don't know i'm four or five feels right so that's what we're doing four five was it thick and multi because it kind of has that vibe like it was really no it was uh it was kind of light and fruity but still barrel aged it was it was a good kind of complex uh beer there awesome and jake how how was your uh ballast point right i was playing i mean this is a go-to so san diego brewing awesome awesome uh beer solid four four i even say four five like it's a really good beer all right nice and uh h2o gets the five yeah right always i mean you got to drink it to survive so um it's hard to mark it down for that my uh the dude's brew but i can't still you know there's letters there someone will someone will tell me what it was eventually uh is uh it's all right uh it's fine i probably won't be buying anymore uh this is a three five uh so thank you so much uh jake for joining us today uh this went uh swimmingly well uh we we got our our store item from youtube i'm super excited to to get rid of some of our maintenance of these things uh and centralize this so i can see them and and actively manage this in a better way and we got some new features on top of it so uh made me excite like i was super excited to do this uh youtube spoke today so thank you uh for joining us and thank you to your team um so uh thank you everyone in the chat for joining us uh any last words uh andrew uh no great to be here thanks a lot keep making integration hub and flow designer amazing and i will continue to be your full advocate and the anything else jake before we say goodbye i i do need to drop so i'm going to cut out but thanks session guys all right
https://www.youtube.com/watch?v=LlCvGut5IAA