Inside the Barrel - Importing Excel Files in Integration Hub with ServiceNow
hello and welcome to another episode of inside the barrel today's episode is a pint where it's a small bite size or drinkable look into servicenow or are from admins and developers a day in the life of if you will i'm joined by my co-host dorian and we're going to walk through integration hub importing excel files [Applause] [Laughter] awesome yeah so maybe talk a little bit about right before we go into what's the use case or where do you find this most common uh so for me not very i don't as a portal developer i don't think i've ever you know used integration hub yeah um and so i i don't have a good use case for it i mean i i would assume it's well i don't even know because you can do the same through just your integra you know your importing data right so i'll give you the use case i think if you enable like uh citizen developers or you want other people that have like a little application that they have to themselves you may want to import records uh from another system or from an old tool that they have into at least you know some sort of uh table um i think it's also very common like when you're you're migrating instances or from old tools that's probably the most common use case that i see for uh importing so okay and what's what's the value over just the data import through the old mechanism i think it's the ease of use right to do it the old way it requires you to know a lot about the table structures and servicenow like this one's built on the new now uh now framework or the next framework and so it should uh be easier for potentially admins to go through these steps once um once they know it and i think that's probably the biggest benefit there okay cool so i'll bring up your screen share and you'll walk us through yeah yeah for sure okay so like i mentioned i don't use integration hub the first time i really experienced it was when we decided to do this and you were like hey go build one yay awesome so it it isn't uh terribly difficult i will say that it's um pretty easy there is a caveat and i'll show it here in a minute on what i didn't like about it as opposed to maybe the older data import uh process um is is also got its own pros and cons you know this one definitely is easier because it was pretty simple you know you create a new integration um and it's it's pretty straightforward right um so like you were saying import old records uh i don't know why i have to do both it's being more robust robust verbose yeah sure um there's only one source type and i don't know is that normal that there's only one there's not any other way to do this uh no so other source types in the future uh like when you have some of the plugins that are installed or the package for integration hub would show up there um so um right now it's the the baseline just shows excel or flat files perfect and that's and that's what i did so to set this up i went to the incident table and just grabbed the template just make my life so much easier and and gave it three rows in the in the excel file and so what i can do here is go grab and i know you guys can't see this but i'm gonna grab my excel file if i can find it here there is not the right one i think this is the right one all right so i've got this uploaded this button shows up so i'm assuming i should click this one to get the structure set up yeah is there anything under configuration that you may want to highlight like because i think it talks about like your headers row and your sheet number so um i think so well you know by default i think it works correctly zero and zero and that's and that's even considering there's that first sheet in the uh the template that you get but it still seems to work correctly because it does get the um all the columns right from that spreadsheet yeah and i found uh like if i wanted to import like four or five like coming back to here to then change that number every time and just going back and forth i was able to do so if you do have multiple sheets like you go through one import first then you come back to here and then you just change the sheet number and then you just you know rinse and repeat that um a little not not the most intuitive part of it but it is possible to support multiple yeah i i wonder if in the future they'll ever allow you know like when you go to print something that says pages one through whatever i wonder if if if ever in the future they'll give the option to do a uh a sheet number through so like zero through ten yeah so you don't have to keep coming back and repeating if everything's the same yeah all right so we've got our structure [Applause] feature release for service now um and so and you can see that now this map to target lights up right so we can click on that guy and add and and then we'll do add a mapping now this is where uh so so the first thing i notice here is some there was no way to create the new table right like let's say you're importing into a new table yes the table has to exist so you still have to do something outside and these check boxes should look familiar to people on you know whether to run business rules or not it's interesting because servicenow recommends that you don't run business rules when you're importing but yet they default to checking it well go ahead no it's gonna say in documentation right so right yeah because i was thinking about this and if if we go back to the other video we did about time card data right um time card uh the table has a number of business rules that run when you import and some of them are very strict like uh some of the date ones making sure the dates are correct and when you know you're gonna run into stuff like that yeah definitely uncheck that don't run the business rules and so forth but i think this one's pretty benign i like you know we're running straight from a template right in so the data should be pretty stable right i'm not expecting any issues um so we can just go ahead and leave that we'll save it and then forget for most people they may have asked the question well what about staging tables like how does that work in this new paradigm and behind the scenes servicenow is still creating those staging tables for you um you just don't have to worry about it as much so something for for people so it's all magic yeah yeah for for like developers magic can be a little scary because you you don't have that control and so you know you you can get a little nervous about that all right so we have a map um and we'll go in here now this is where i got irritated yesterday i was doing this um these are not in any sort of order they don't match side to side in whatever order they're in and so and and i don't i couldn't figure out like there's not a way to sort them at all or even a search for them and so yeah and so i know the the columns that i'm after because i only filled out a few of them but um trying to find them [Music] really was was my problem right so we're after let's do open right uh so first we got to go through here and find opened and we had a question you know they've changed the convention of coalesce to match instead something else so okay people to to keep in mind i i thought that's what that was i just did i i don't have anything that i was working off of to coalesce yeah yeah and so i didn't bother with it but i thought that's what that that what they were after with that i wonder why change to match probably a simpler term to understand because you're matching on that column yeah coalesce is a very technical term so yeah yeah all right i was looking for opened right see i hit the bottom and i didn't see it oh it's right there oh right there okay so now what you got to do is find it over here because they're not again they're not in the same order yeah columns right yeah and so oh boy yeah exactly it is [Laughter] so frustrating there we go open there we go so we just drag it over and that's and that's basically and you know there's other things you can do here but for you know for baseline ease of use you're just dragging things over so add in them the one that i use the the most is the trim so if you want to just show that on the fx so if you ever have data and you may have copied and pasted it from somewhere and it's string using the trim one is really really nice so that it does it removes the white space at the at the end um yeah so that can that can help a lot when you're having to actually do a match on a string you may want to just make sure that it doesn't have that so yeah and i guess this replaces or this is the equivalent of some of the uh transform scripts right because you would end up yes you would have to write something about that exactly so and this is similar to the concept in flow designer um so flow designer has these so you may we may see more and more of these being built as we go cool all right i'm gonna go back to the because i already have one done okay um because i it drives me so baddy trying to find those things so um i i've already it should be in here uh the ones that i've done so yeah so you can see the things that have come over and um we know we're good there so we would we would get a save we'll click on save and then we can do the schedule imports you can see i already ran one but i deleted those records and we should be able to run the import again so let's let's look at incidents currently because they should not be there we also had a comment on uh the other use of the functions is the date and time one so sometimes the date and time may be in an excel that's different than what you're importing so definitely transforms are useful there uh and that you know that's probably a good thing to understand because in the template the dates get converted automatically like i was putting them in year month day and they would flip over to a more common you know month day year but they'd still they still go in correctly so i wonder if uh it may be for like utc time conversions maybe um so if you go to on the left date and time yeah convert to date so it looks like there is some flexibility so yeah oh i guess it's maybe your field it may it may not it may be fine in this one but you may have you know custom fields that record data and you may just want it in a super uh specific format yeah no that is a good a good thing to know okay we're gonna go over here and run and uh run the import and so let's talk about this right because this screen it looks a little different it would look a little different it is different because the old method you would get you know especially on a big job you would it would cycle through and say this mini's done this many is done this mini's done and there were steps you'd have to walk through to get to your finality right you'd have to go through the trans uh i don't remember mall time ahead but you import and then you transform and then you can view it yeah this this it doesn't it doesn't give you any that it just once you're done you're done so when you see that it's it's run successfully um then you get it okay so i am and it's also interesting on so if you're normally doing a flat file it makes the most sense to do just have the scheduled job do a schedule once but with other integrations let's say there's like a rest api that you want to call you know every day like you would then you know potentially create a scheduled job that runs it every day and does that transform so in most cases at flat files you'll use the schedule once that john was showing so yeah you're just you know creating a an import here and this looks pretty similar to anyone that has done a scheduled data import but for for other ones uh you there may be other use cases yeah so yeah continue now okay so uh the last one created was in january so now if i refresh i should get three new ones yep that's nice we're put in today [Applause] [Laughter] yeah awesome but uh so that's i mean really that's the ease of use on that one uh i still think so i guess my question here is other than the the mapping sorting issue which hopefully servicenow can solve the time the amount of time and expertise you would need to do a simple import seems a lot like uh a lot quicker in this new this new method well it's definitely a lot easier so and and i want to ask you that um if you're setting this up for non-admins to use um it probably becomes even easier because they're going to be trimmed to only see the tables they're allowed to see so in that first part where you're setting up the um i want to say it's probably in the map to target when you're when you're um choosing the table yeah they're they're only going to see those those tables the only other issue is if they have you know if that table has to be created first so there's still some some uh requirement on the admin to prep things if you will but beyond that really it's like here you go just i guess the other issue is there's not a lot of like how do i you know i don't necessarily know the steps i'm supposed to follow um i only knew it because i'm used to the old way of doing it and i can kind of guess what i'm supposed to do and it's it doesn't go like okay add your source now that you're done with that click on that to target you know people may miss that that that link lights up that you can do something now and it's not i guess it's just not very conducive to um you know what do i do next i guess type thing yeah so i agree i think there's more of like a guided experience and i'm not talking about a guided setup but just like a really there's opportunity here i think in the future because this is now built on the next framework to do more like you know i'll say like jazzy like hey you see you've noticed this like boom like do you want to do this next right i think so too i think i think they could implement a better experience that would that would help those very low code users do something because if they're really going towards i guess the citizen developer not every person is going to going to know how to run through everything right off i mean obviously currently you could you could put together a little sheet when you send the email saying hey you can now go do this here are the steps to follow but i would like to see it built in the other thing that's a little scary here is like an approval workflow right like no approval workflow i mean like there's no easy way to roll back so once you go one way like you know records are there well you know you could set up a staging tape you know as the admin you could set up a staging table that they that they're going to import into and then you know have extra work yeah yeah okay but yeah that's why i probably still rather i i think the the record producer method is a little better because you can really you can really uh handle that sort of stuff i think this is more like it's there's not a lot of worry like you you've given it to your developer or your citizen developer to import data but the data has been has been you know uh normalized and it's very safe and you're not concerned about problems um i think if if you're giving it to like complete complete non-developer people then i would do the record producer because you can really control it there yeah i think the other worry that i actually have of this and i don't know if you ran into this but um it creates a lot of records in update sets like yeah so if you went to your update set even if it wasn't default um you'll see that like when you're playing around with it trying to do the mappings and then you go to the next screen and then you go back it's generating tons of uh tons of records there so i think it's probably near default global i guess and if you sort by created you'll just yeah you'll see like tons of things in here and it's not that it's bad it's just that like you need to remember that you need to be in an update set if you want to move this the next environment um and and if you're you know creating and deleting things like it's just gonna add more right so yeah it just keeps going so it created 156 records in the updates that it actually created more i think i saw if you went past you probably did some work on some widgets but after that there was even more on like because it has to create the staging table it has to do well so i i just did it for anything after so that one probably doesn't count either but this was everything after for today yeah um and so 155 records and and that wasn't even the complete you know because i went back to use the other one so there's probably more so yeah i think you're right if you're gonna set these up you better have a scope to put them in because you don't want to have to keep track of that at a default yeah exactly so but all right any any uh last thoughts uh anna john uh no i don't think so i mean it's pretty straightforward like i said i think the use case from in my mind or from my point of view is definitely very safe importing you know you're as an admin you're not expecting to have to really um transform data outside of the defaults right i mean sure you can do some trimming or some date checking or whatever but i think it's more like you you know this is going to be a safe import you're not too concerned what's going to happen to your instance when letting someone use this or you're using it yeah i agree i think i think the the simple uh transforms this is the way to go you don't have to write coding um at all it's definitely just follow some screens there is a little like a learning curve but it's not as big as the learning curve for importing is on on the other side and um yeah so i think i think it's the step in the right direction um personally so yeah no i think it's good a good direction to go to enable non-code users or non-developer users to do things um it just needs you know it definitely needs to mature a little bit more yeah awesome all right well if you liked our content keep giving us ideas on things you want us to show we have a really exciting episode already planned for next week so john and i are really excited to talk about it [Laughter] and so stay tuned we'll schedule it soon and uh so any of you guys can like remind subscribe tell your friends um or just reach out to us we're on linkedin um and yeah hope you guys enjoyed it alright we'll see you guys
https://www.youtube.com/watch?v=HU5opn3aF1U