Skip to content
CBT Nuggets

ServiceNow Studio Basics

The skill focuses on using ServiceNow Studio to streamline application development by centralizing various components such as tables, UI policies, business rules, and access controls. It highlights the process of creating and managing applications within ServiceNow Studio, including adding tables, configuring UI policies, and utilizing the Flow Designer for automation. The content also covers the importance of application scoping and publishing applications for testing, providing a comprehensive overview of building and managing applications in ServiceNow.

Full lesson from ServiceNow Developer. Preview the IT training 23,000+ organizations trust.

48m 5 Videos 4 Questions

Skill 56 of 59 in ServiceNow Developer

Creating A New Application

Think about the many, many pieces that we've looked at in this course - Tables, ACLs, UI Policies, Business Rules, etc. Each one of those is typically managed in its own module, meaning that if we want to set up an application that includes all of them (and most applications will), we have to bounce between modules, setting things up and hoping we don't forget anything. But what if there was a way to see all of the pieces in one place? Well, that's exactly what the ServiceNow Studio tool does. In this skill, we'll be taking our first look at this tool and how to use it, starting in this video by seeing how to create a new application and add a single table to it.

Knowledge Check

Creating a table in this example caused exactly _________ new Application Files to be created.

  1. A127
  2. B22
  3. C4
  4. D16

Verify your team's readiness — Request a Demo to verify practice assessments, completion reporting, and CSV / SCORM exports on the Team plan.

Adding Files To An Application

Now that we've seen how to create an application in ServiceNow Studio, let's add a little more functionality to it, and then we'll see how to publish and test it.

Knowledge Check

If we update our app from version 3.2.1 to version 4.0.0, that is a _______ version update

  1. Amajor
  2. Bminor
  3. Cpatch
  4. Dfeature-level

Verify your team's readiness — Request a Demo to verify practice assessments, completion reporting, and CSV / SCORM exports on the Team plan.

The Main Application File Types

Finally, to make it easier to find what you're looking for from now on in the ServiceNow Studio, let's take a little tour of all the main File Types and categories that you can add to an application.

Knowledge Check

Business rules are under the _________ category in ServiceNow Studio

  1. AServer Development
  2. BData
  3. CClient Development
  4. DAutomation

Verify your team's readiness — Request a Demo to verify practice assessments, completion reporting, and CSV / SCORM exports on the Team plan.

Challenge & Solution: Adding More Files

Now it's time for a challenge! In this challenge, you'll need to fix the strange behavior that we were seeing at the end of the previous video. Watch the video for more information.

And now that you've attempted the challenge, I'll show you how to solve it.

Knowledge Check

After adding a Flow to an application in the ServiceNow Studio, we can see that each additional piece that we've added to the Flow shows up as a _________ record.

  1. AFlow Block
  2. BFlow Unit
  3. CFlow Action
  4. DFlow Component

Verify your team's readiness — Request a Demo to verify practice assessments, completion reporting, and CSV / SCORM exports on the Team plan.

View Transcript

Creating A New Application

0:01Hi, Sean here and welcome to this skill where we're going to be taking a look at the basics of using something called the ServiceNow Studio to put applications together.

0:10So at this point in the course, we've seen a lot of different pieces of creating applications, right?

0:17We've taken a look at, you know, things like business rules.

0:20We've taken a look at automation, like using flows, sub flows, actions.

0:24We've taken a look at, you know, access management and the details of application scope.

0:30So we've taken a look at an awful lot of things now, and this is really the tool where all of these things are going to come together.

0:38Literally, they're all going to be incorporated into this new tool that's kind of similar to the form builder tool that we saw in earlier skills, except for entire applications, right?

0:51So let's just open this thing up.

0:53You can get there by going to all, and you're going to search for ServiceNow Studio.

0:58Now, the annoying thing about this, right, as with many things in ServiceNow, is that there's an older tool with a very similar name.

1:05It's called Studio.

1:06And so besides making this thing very difficult to Google, right, when you Google ServiceNow Studio, sometimes it comes up with the old Studio tool from ServiceNow, and sometimes it comes up with a new ServiceNow Studio tool from ServiceNow.

1:23I don't know why they choose to do this to me continuously, but anyway, let's just open this up.

1:29You can get there from App Engine or Process Automation or wherever you want, and here is ServiceNow Studio.

1:37So again, as I said, this is a very similar idea to what we saw with the form builder tool, right?

1:45With the form builder tool, what we saw is that there's a lot of things like UI policies, and we have the table config that we have to worry about, and we have things like client scripts, and we have data policies.

2:05And all of this, you know, if you set up a form, right, if you want to set up a form to behave exactly the way you want it to in ServiceNow, typically you would have to bounce around to all of these different modules, right?

2:19You'd have to go to the UI policies module, the tables module, the client scripts module, the data policies module.

2:25You'd have to bounce around and hope that you didn't forget anything.

2:29And the cool part about the form builder, whoops, let me try writing that again.

2:34There we go.

2:35The cool part about the form builder is that it brought all of these things together in a single centralized place.

2:43So from the form builder, you could easily add new UI policies or new client scripts or new table configurations, right?

2:51And so that's the same basic idea here that we're going to be seeing for the ServiceNow Studio tool, except it does this at a much larger scale, right?

3:03So in addition to all of these things, which you can also do, the ServiceNow Studio, and here I'm just going to remove form builder and write ServiceNow Studio here, right?

3:16ServiceNow Studio brings all these things together for when you're creating an application, but it also includes things like if you're building flows or workflows,

3:25it brings together the actual individual forms that you're working with as well.

3:30It brings together all of the access control rules that you need for your application, right?

3:37And many, many, many, many, many other things, all right?

3:40We're going to see this in much more detail as we go along.

3:43But that's the basic idea here is that it provides you with like a centralized place to actually manage all of these things.

3:50And also, like what we saw with the form builder, I realized that that was earlier in the course.

3:56But also, as we saw with the form builder, ServiceNow Studio will actually be performing all of those same actions behind the scenes.

4:05So when we create a UI policy in the ServiceNow Studio, it's going to create a UI policy behind the scenes.

4:11When we create a flow in the ServiceNow Studio, it's going to create a real flow behind the scenes.

4:16When we add a column to a table in ServiceNow Studio, it's going to add a column to that table in the actual data behind the scenes.

4:24All right.

4:25So anyway, hopefully that helps to kind of set the scene for what we're going to be talking about here.

4:29All right.

4:30But anyway, now that we're kind of familiar with that, let's get started here.

4:35So again, open up the ServiceNow Studio.

4:37And what we're going to do is we're going to click this little create dropdown, and we're going to say that we want to create a new application.

4:44Okay.

4:45So here's what we're going to do.

4:47As just a simple example, we're going to create an application called something like My First App.

4:54Kind of a boring name, but, well, we'll just go with it for now.

4:58For the description, what we're going to do is we're just going to say something like a quick walkthrough app to show how SN Studio works with a few exclamation points at the end, of course.

5:12All right.

5:13And then we're going to set this to scoped.

5:15Right.

5:16Now, you can set the application to global if you want to, but, you know, a few skills ago we talked about why this is a bad idea.

5:25So you're typically going to want your applications to be scoped because you want them to be isolated from all of the other kind of details in ServiceNow.

5:35You want them to be isolated from other applications and what's going on in the global scope as much as possible.

5:40Okay.

5:41All right.

5:42Notice that you can also add a picture to this, so feel free to add whatever you happen to have lying around just for fun.

5:47I'm going to leave that one blank, though.

5:49And we're going to say continue.

5:52And notice that this kind of walks you through a few of the core pieces in configuring an application.

6:00So the first thing here is it asks you to create a default role.

6:06All right.

6:07So as you can see, the role name here is admin.

6:09The description for this is the default admin role.

6:12And then we have the user role, which is just kind of the default role that a user of the application would have.

6:20Now, this is a good starting point, right?

6:23It's already a good idea to have some sort of separation between people who are actively working on the app and people who are going to be working in the app, right?

6:33Admins are typically people who are going to be working on the app.

6:36Users are the ones who are going to be working in the app.

6:40So you can add new roles to this, right?

6:42And if you plan on having multiple different types of users, right, maybe there's admin, then maybe there's internal employee, then maybe there's contractor, right?

6:50There's lots of other ways you could slice it as well.

6:53But just to give you an idea of what's possible with that.

6:56So for now, we're just going to leave that the way it is and click continue.

6:59And it's going to tell us to sit tight while it creates the app.

7:04And so I'm just going to fast forward this part.

7:06And when it's done, we should see our app.

7:08And there it is.

7:09I actually didn't have to fast forward that.

7:11It was faster than I thought it would be.

7:12So we're going to say go to app dashboard.

7:15And here we see the main dashboard for our app.

7:19All right, so the main idea here, and I'm just going to collapse this for a second so we can see it a little bit more clearly.

7:25The main idea here is that instead of having all of those tables, right, like flows and table configurations and UI policies, et cetera, all kind of in different places in ServiceNow.

7:38The ServiceNow Studio interface here kind of tries to bring them together in the same way as like if you're working on a software project.

7:46You have all of the files inside the same directory or set of directories, right?

7:52So this is ServiceNow trying to follow that same basic strategy because, frankly, it just makes a lot of things a lot easier when you have them all kind of in the same place and don't have to spend half your time hunting through the ServiceNow modules for them.

8:06All right, so here's what we're going to do.

8:10Feel free to look through all of this stuff here, and you can already see most of the application files that are associated with this, right?

8:18So there's four right now.

8:21Two of them are the roles that just got created.

8:23So we have the admin role and we have the user role.

8:27And then we have these two other things here, which are things known as embedded help role priorities.

8:34So don't worry about what those are right now.

8:36What we're going to do next, and you can also look through things like dependencies, which is empty.

8:41Cross scope privileges, which is empty.

8:43Design access, which is empty.

8:45And restricted caller access privileges, which is also empty.

8:49So not a whole lot going on there yet.

8:52But what we're going to do is we're going to create something, and we're going to create a new table for this application.

9:01Now, again, this looks a lot different from the way that we did things back in just the regular ServiceNow instance when we created a new table.

9:11Instead of navigating to system definition tables, what we're doing is it asks us to choose this thing called a file type, basically just asking us what is it we're trying to create, right?

9:22Are we trying to create a table or a UI policy, or what are we doing?

9:25So in our case, notice that there's all of these categories over here on the left-hand side.

9:31And the one that we're interested in when we want to create a table is the data category.

9:36So if we click on this, what you'll see is that it gives you some options, right?

9:41So you can create a form.

9:42You can create a form section.

9:43You can create a many-to-many definition.

9:45That's something that can save you a lot of time.

9:48We'll maybe talk about that in a little bit more detail later.

9:51A relationship or a table, and you can also see that there's this table column thing here.

9:56We're going to click on table and say continue.

9:59And this is going to look a little bit familiar but in kind of a weird, you know, kind of a weird setting.

10:06So you can see that not a whole lot's changed here about the table form, but it's inside this new, you know, little tabbed window here that ServiceNow gives us.

10:18So, again, this is just kind of the idea here is it's bringing it all together inside this single kind of centralized tool that makes it so that we don't have to navigate around to all of the different modules when we need them.

10:31All right, so for the label here, let's try and recreate a little bit the visitor check-in application that we were working toward in previous skills.

10:40So what we're going to do here is we're just going to call this something like visitor check-in.

10:45All right, and that's going to generate a name here, and notice that the name is scoped, right?

10:53Remember that we selected this as a scoped application, and so, you know, it's not this you visitor check-in thing.

11:00It's actually scoped because it's got this, you know, X underscore and the whole prefix.

11:05Now, if you want to rename this a little bit to make it more readable, you can absolutely do that.

11:10But, you know, there is some advantage to keeping it, you know, to keeping, like, the name of the app and then the name of the table all in here, right?

11:20It makes it easier to tell, like, if you're writing, let's say, a fixed script or something like that, and you're trying to use a glide record to access this table, it makes it easier to tell, oh, yeah, that's right.

11:31This is in another scope.

11:32I won't be able to do that unless I also set this or that thing up, okay?

11:36So there is an advantage there.

11:38I'm just going to leave it the way that it is.

11:40Notice that the application is my first app, right?

11:44So it's scoped to that, all right, the application that we're currently working in, which is what we wanted.

11:50And then for the columns, what we're going to do is we're just going to add those same columns that we had before.

11:54So we're going to say something like, you know, visitor name, all right?

12:00This is going to be a string here, of course.

12:02So we'll select that, max length.

12:04Visitors have some pretty long names sometimes, so we'll do 100 characters.

12:08And then we'll do something like checked in by, just kind of the same thing as what we did before.

12:14For the type, this is going to be a reference.

12:17And we're going to have this be a reference to the user table, which, as you may recall, we are allowed to do in scoped applications because the user table is in the global scope.

12:29And our applications, at least in terms of references, are typically allowed to reach into the global scope to reference some of the tables that are there, such as the user table, okay?

12:41As we also saw, you're not allowed to do the opposite typically, right?

12:45You're not typically allowed to create a reference from, say, the global scope into a scoped application just in case, you know, the admin uninstalls that application and you now have broken links, right?

12:58So anyway, we have visitor name and checked in by.

13:01The last thing we're going to do here is we're going to say here we'll add a purpose of visit.

13:06And maybe we'll turn this one into a choice eventually, but for now we're just going to have that be a string.

13:11And because there's probably some lengthy explanations here, we'll have this one be 500 characters max length.

13:17And now we're going to say submit, all right?

13:21So let's just wait for this thing to finish.

13:24It's creating that table in our app behind the scenes.

13:26Just ignore that weird little error there.

13:28I have no idea what that's about.

13:30And now what we're going to see is if we close this tab, all right, let's just go back in here and we're going to hit refresh because it doesn't update the files automatically.

13:41What we'll see is that instead of four application files, we now have a staggering 26 files in our application.

13:50So what on earth is that about?

13:52Well, this has to do with the fact that when you create a new table, there are a lot of things that go along with it, right?

13:58So there's dictionary entries, which help kind of define the columns of the table, right?

14:04So we see this purpose of visit dictionary entry.

14:07There's access control rules that are created as a result, right?

14:10Like we just saw recently, you know, we want access control rules around creating, reading, writing, and deleting data in this table.

14:19There's specific field labels.

14:21So feel free to kind of browse through all those because, you know, it's pretty interesting to see.

14:26All right, so that's how we add a new table to our application.

14:29And again, it is a scoped application.

14:32So this is a little bit different than what we've been doing in most of our demos.

14:36But the next thing that we're going to do is we're going to see how we can add a few other pieces to this application.

Adding Files To An Application

0:00All right, well, now that we've created our application

0:03and added a table to it,

0:05the next thing that I wanna do is show you

0:07how you can add specific files to this, right?

0:10And what the effects are down here.

0:14So we already saw that adding a table

0:16added quite a few new files, right?

0:1822 to be exact here.

0:20And, you know, this is really,

0:24it's still just a way of keeping track

0:26of all of the things that are related

0:29to this application in one place.

0:32All right, so let's scroll through this.

0:33And I'm curious, do you think that there is,

0:36you know, that there are things like forms

0:38or modules that were created for this?

0:40And there absolutely are, right?

0:41As you can see, there's this visitor check-ins module,

0:44which is very similar to what we saw back here

0:46in the global scope

0:48when we created that visitor check-ins module here, right?

0:52So basically, having this as part of our application

0:57means that if we were to publish this application

1:00and then someone were to install it,

1:02it would automatically add all of these things,

1:05including the modules to that person's

1:09or that organization's ServiceNow instance.

1:12So here's what we're gonna do.

1:14We're gonna go and say create,

1:16and we're gonna add something else to this application.

1:20Specifically, we're gonna create a UI policy

1:22that will do something very similar

1:24to what we saw with the ACLs.

1:26What it's gonna do is it's going to make

1:28the fields read only for visitor check-ins

1:32when the visitor check-in has been created, okay?

1:36So here's what this is gonna look like.

1:37And by the way, this is not as secure

1:39as what we saw with access control rules,

1:41but I really just wanna show you

1:43how you can add things like UI policies here.

1:45So we're gonna search for UI policy.

1:48Oops, UI policy, there we go.

1:50And we're gonna scroll down past catalog UI policy.

1:53We don't really care about those.

1:55Screen UI policy, we just want regular old UI policy here.

1:59And we're gonna say continue.

2:00And by the way, just the fact that UI policy

2:02brought up so many different file types,

2:05that should alert you to just how much,

2:08just how many options you have

2:10in this ServiceNow Studio tool.

2:12So anyway, we're gonna say continue.

2:14And what you'll see is, again, something very familiar.

2:17This is just the same old UI policy creation form

2:20that we saw back in ServiceNow,

2:22but it's displayed to us in a much more organized

2:26and kind of centralized way, right?

2:28After we create this UI policy and submit it,

2:30it's just gonna take us right back to our application

2:33instead of making us wonder where to go next.

2:37So what we're gonna do is we're gonna select our table

2:40and notice that because of the application scoping, right?

2:44Because we're creating this as a scoped application,

2:47the only option here is our visitor check-in table

2:51that we created,

2:52which incidentally is the one we wanted anyway.

2:54So for the short description here,

2:56we'll say something like make read-only.

2:59Or here, we'll say something like

3:01make created check-ins read-only.

3:06Kind of a weird name, but we'll just leave it there.

3:08And now what we're gonna do

3:10is we're gonna say when to apply.

3:12And we could use a script here

3:14to check whether this record is new

3:16and make those fields read-only.

3:18Another thing that I think might do the same thing,

3:22and I have to actually test this out,

3:23it's kind of a funny thing

3:24because it's hard to actually find information

3:27about these things like in the forums,

3:28so we're just gonna test this out here.

3:30I think you can do this by saying created is empty, all right?

3:35Because again, if it hasn't been created yet,

3:37then the created field should be empty.

3:39Let's just see if that works.

3:40If not, we'll come back and we'll modify this

3:42and make it a script instead, and that'll be totally fine.

3:44But now we're gonna say submit, okay?

3:47And let's just scroll back down,

3:50and we're gonna create some UI policy actions.

3:52We're basically just gonna make all of the fields

3:54on this form read-only.

3:56So here's what that's gonna look like.

3:58We're just gonna say field name.

4:00This will be the visitor name.

4:01We're gonna say read-only, true, all right?

4:05And then we're gonna say submit,

4:06and we'll do the same thing now for some of the other ones.

4:09So oops, let's just go back there.

4:12Oh, it opened a new tab for this,

4:13which is kind of interesting.

4:14So we can just close that tab, come back here,

4:16and you do have to hit refresh, actually,

4:19in order to see it.

4:20The interface is a little bit clumsy in some aspects,

4:24but anyway, there we go.

4:26And sure enough, we see that that UI policy action is back.

4:29And we're gonna say new and create another one now.

4:32So this is gonna be field name.

4:34We'll do purpose of visit.

4:36We'll set that one to read-only, all right?

4:38That's gonna be true there.

4:40And we'll say submit,

4:41and again, that's gonna do that same thing.

4:43So we'll just close that,

4:44and then we'll come back down here, say new,

4:46and we're gonna add another one,

4:48which will be that the checked-in by,

4:53that's going to be read-only as well, okay?

4:56So we'll say submit for that, and we can close this,

4:58and then let's just hit refresh one more time here,

5:01and close that window that keeps opening

5:04on the left-hand side.

5:05Sure enough, we see that all of these things here,

5:08checked-in by, visitor name, purpose of visit,

5:10those all are set to read-only

5:12when this UI policy applies, okay?

5:16Oh, and actually, we want this to be the opposite.

5:18I got that wrong.

5:19That should be created is not empty,

5:21if this even works, right, which we will try out, okay?

5:24So we're gonna say update now,

5:26and this brings us to another question,

5:28and that is now that we've created a table and a UI policy,

5:32how do we actually test these things, right?

5:34Because as we saw, you know, back here,

5:37we have this visitor check-ins thing,

5:39but that's from the previous time,

5:41that's from like the previous demonstration that we did

5:44when we were demonstrating access control rules.

5:47This is the visitor check-ins table in the global scope.

5:51So because we've created this scoped application,

5:55how do we actually test it?

5:56Well, first, what we have to do is we have to publish it,

6:00so just like what we saw with flows,

6:03how we had to, you know, publish those,

6:05or decision tables, how we had to publish those,

6:08we also have to publish apps from the ServiceNow Studio

6:11when we wanna actually try them out

6:14in their, you know, modified form, right?

6:17Whatever changes we've made to that,

6:19if we wanna actually see those in ServiceNow

6:21and click through them ourselves, we've gotta publish it.

6:24So here's what we're gonna do.

6:25We're gonna click publish, all right?

6:28What that's gonna do is that's gonna bring up

6:29this little modal.

6:30It's gonna ask us what we want the new version to be.

6:32All right, now I should mention that

6:34in case you haven't worked with this specific type

6:36of versioning before, this is called semver, right?

6:40Semantic versioning.

6:41That's just kind of a shortened version of saying that,

6:44but basically what each number in here refers to

6:48is how big the changes are that you're publishing, right?

6:51So this little number here is what's referred to

6:54as the patch version, right?

6:57So these are just little updates

6:58that are meant to do like small bug fixes,

7:00things like that.

7:02These are minor version updates,

7:05where perhaps new features are released,

7:07but it's not actually gonna break anything.

7:08And then this is the major version,

7:11which typically means that it will break things

7:15if you don't, if whoever's using this thing

7:19doesn't make some changes, okay?

7:21So an example of this, I used to be a React developer,

7:26and so when React went from version 16 to version 17,

7:29that was a major version update,

7:32and in order to update from React 16 to React 17,

7:35you couldn't just update the library you were using.

7:39You actually had to change your code

7:41in order to make your code base abide

7:45by the new usage of that library.

7:48All right, so anyway, this would probably be

7:50a minor version update here,

7:52because we've added a table and some UI policies

7:56and stuff like that,

7:57but we're just gonna leave it at 1.0.1,

8:00and we'll just say Publish.

8:03And you can add release notes too

8:05if you wanted to specifically say what changed there.

8:08All right, so as you can see, it's publishing the app.

8:10This is typically a pretty quick process,

8:12at least for small applications like what we have here.

8:15And once we're done, we're gonna say, well, done.

8:18And now you might be wondering,

8:20how do we go access this thing?

8:21Well, typically, once you publish it,

8:24you should be able to just see it directly in your app.

8:27However, I actually made kind of a weird mistake

8:31that in a way I'm glad I made,

8:32because it shows how cross-application scopes

8:36or naming things the same thing can be a bad idea.

8:40Let me show you what I mean.

8:41If we try and search for visitor check-ins now,

8:44and here, let's just hit Refresh there.

8:46If we try and search for visitor check-ins now,

8:48what you're gonna see is that there's actually

8:50two visitor check-ins here.

8:52One of those is the old one,

8:55and the other one is the new one.

8:56So how on earth did this end up here?

8:58Well, that's because this application menu,

9:02visitor check-in, when we created

9:05this new visitor check-ins table

9:07and said that we wanted it to create a module

9:10and application menu to go along with it,

9:14that actually just selected the global visitor check-in menu

9:18which is not what we want.

9:19So what we're gonna do instead

9:21is we're gonna go back here

9:22and we're going to say that we wanna create

9:26a new application menu.

9:28So we're gonna say application menu,

9:31all right, and we're gonna select sysapp application,

9:33not sysui application, and say Continue.

9:37And what we're gonna do here

9:38is we're gonna give this the title of,

9:41let's see here, we'll give it the title

9:43of My First Application,

9:46or we'll just call it My First App.

9:48We get to select the roles that we'll be able to view this,

9:51and I'm just gonna leave that blank

9:52because we'll want all of users to be able to view this,

9:56all right, at least for now.

9:57Just make it a little easier.

9:58And we're gonna say Submit

10:00which will create that new application menu,

10:02and now all we have to do

10:03is go back to our visitor check-ins module

10:06and reassign it to that new app, right?

10:09So we see application menu.

10:11We're gonna change this.

10:12This is currently, if you look at this,

10:15if you type it in again,

10:16you'll see that that's actually

10:17the visitor check-in global menu that we created.

10:21We don't want that.

10:22We want My First App,

10:25and we're gonna select that one here

10:28and click Update,

10:29and now that we've done that,

10:30here's what we're gonna do.

10:31We're gonna have to come back and publish our app again,

10:34and notice that I have hopped forward a few versions

10:36because I had to test that out

10:37and figure out what was going on.

10:39There's a lot that editing hides here.

10:41So we're gonna say Publish,

10:43and that's going to publish our app once more,

10:45and now what we'll see,

10:47if we click Done and go back here,

10:49and we'll just hit Refresh for good measure,

10:51is if we now search for My First App,

10:55there it is.

10:56You can see My First App,

10:56and then it has visitor check-ins underneath it,

10:59so we're gonna select this,

11:00and sure enough, we see that this has,

11:04well, nothing in it.

11:05So let's go and create something.

11:07We're gonna click New here.

11:08We're just gonna say Visitor Name.

11:10We'll say something like,

11:11I don't know, Louis Armstrong.

11:14Just listening to Louis Armstrong recently,

11:16so that's probably why that popped in my head.

11:18Checked in by, we're just gonna choose ourselves here.

11:21For purpose of visit,

11:22we'll say something like doing a show, all right,

11:25and we're gonna say Submit there, all right,

11:27and that will create a new visitor check-in here

11:30in our app module, okay?

11:33Now, just to avoid further confusion,

11:35what I'm actually gonna do after that little hiccup

11:38is I'm gonna go in and actually deactivate the module

11:42and application from our previous access control examples,

11:47just so that that doesn't interfere with this in the future.

11:49I doubt it will, but just to avoid confusion,

11:51here's what we're gonna do.

11:52We're gonna go to Favorites.

11:54We're gonna go to System Definition Modules.

11:57We're gonna go to Visitor Check-ins

11:58with the U Visitor Check-in table here,

12:01and we're gonna set that to inactive,

12:03and actually, we need to click here to edit this record

12:06because it's in a different scope than we're in currently.

12:09It's in the global scope,

12:10and we were just in the application scope,

12:13so now we're gonna just come down here.

12:15We're gonna deactivate it by unchecking that active box.

12:18We're gonna say Update,

12:20and now what we should see

12:22is if we search for Visitor Check-ins,

12:25that's the only thing that comes up for it now,

12:27which is exactly what we want.

12:28So anyway, hopefully this has helped you to understand

12:31not only how we can add new things to our app,

12:34but also how we can publish it

12:36and then test it in our ServiceNow instance.

The Main Application File Types

0:00All right.

0:01Well, now that we've seen the basics of creating an application,

0:04adding simple things to it,

0:06and then publishing and testing the application.

0:08The last thing that I want to do here before we move on to a

0:11challenge is I want to walk you through the main categories and

0:16different options that appear when you open up this create file

0:21window here,

0:22right?

0:22You know,

0:23as we've already seen,

0:24a lot of the things in here are things that we've been able to

0:28access from the main service now interface,

0:31right?

0:31Things like tables,

0:32UI policies,

0:32et cetera.

0:34But the advantage of doing them through the service now studio is that

0:37they're arranged in a way that makes a lot more sense,

0:40right?

0:40So in other words,

0:41you know,

0:42as we've seen,

0:43if you want to do something related to adding data,

0:47right?

0:47If you want to change something related to your applications,

0:49data needs,

0:50you just go to this data section.

0:52And that has basically a pretty comprehensive list of all of the

0:56different possibilities there.

0:57Okay.

0:59And so what I want to do is just like what I did with the

1:03flow designer,

1:04I want to walk you through each of these sections and kind of talk about what

1:08each one is actually about,

1:11right?

1:11So this will just kind of orient you in the future when you want to add

1:15different features to your application so that you'll know exactly what you need

1:18to do and where to find it.

1:20So the first thing here is,

1:22you know,

1:23obviously there's this recent menu,

1:24which shows everything that we've recently touched.

1:26That can be very useful when you're doing more repetitive tasks,

1:30like if you're creating multiple tables or if you're creating multiple UI

1:33policies,

1:34right?

1:34Cause they'll all show up in there.

1:36And if you're looking to just have a complete list of everything that's

1:40available,

1:40I would,

1:41I would not really ever recommend using this just because there's so many things

1:44in there.

1:45As you can see,

1:46I've been scrolling furiously and I'm still only at F.

1:48And so,

1:49you know,

1:50I have never,

1:51ever used this all section,

1:53but I'd imagine it's useful for,

1:55for some people.

1:56I don't know.

1:57Um,

1:58but anyway,

1:58the next one down is automation.

2:00And as you can see,

2:01this contains pretty much all of the main pieces that we saw in the flow

2:06designer,

2:08right?

2:08So we have action,

2:09we have activity definition.

2:10This is something that's used for playbooks,

2:12which we haven't really seen,

2:13but um,

2:14that's just what that's for a connection and credential aliases,

2:17data streams,

2:19decision tables,

2:20email templates flows,

2:21right?

2:21We know what that one is.

2:23Notifications,

2:23playbooks,

2:24sub flows.

2:25And so basically anything that you want to automate here,

2:29um,

2:29that is at least in a drag and drop fashion.

2:32These are mostly drag and drop automation things,

2:34right?

2:34That you'll,

2:35you'll see in the flow designer.

2:37Anything like that is going to be under this automation category.

2:40And the interesting thing here is if you open one of these up,

2:43right?

2:43So if you choose flow,

2:44let's say,

2:45and say,

2:45continue,

2:47then what that's actually going to do is that's going to open up the full

2:51flow editor,

2:52right?

2:52Same thing as what we saw in the flow designer.

2:56All right,

2:56there we go.

2:57It's going to open that right up here in this tab,

2:59but instead of it being in,

3:00you know,

3:01the workflow studio that we saw earlier,

3:03it's in service now studio.

3:05Again,

3:05those are confusingly similar names,

3:07but the point here is that it's the same interface,

3:11just like what we've seen with filling out basic forms,

3:14but it's,

3:15you know,

3:16it's in a different setting,

3:17which makes it much easier to kind of work with,

3:20right?

3:21So what else do we have here?

3:22Um,

3:23the next thing is client development.

3:25This one's kind of interesting because basically this has to do with anything

3:28that's going to be on the client side,

3:31right?

3:31So this is where you'll find things like UI policies,

3:34UI scripts,

3:35a client script you just saw in there.

3:37There we go.

3:38Um,

3:39and a lot of other things that we haven't really talked about.

3:41So again,

3:41any kind of client side customization that you're trying to do,

3:45this is where you're going to find that now content.

3:48This is kind of interesting and also not something that we've really talked about,

3:52but if you're,

3:53um,

3:54you know,

3:55let's say that you're trying to add a blog to your service now site.

4:00All right.

4:00So as we've seen,

4:01if you open up the,

4:02uh,

4:02service now service portal,

4:04right,

4:05which is kind of like the,

4:06um,

4:06oops,

4:06let me try serving for searching for that.

4:08There we go.

4:08Service portal home,

4:10which is kind of like the,

4:11the public facing,

4:12uh,

4:13interface of your service.

4:15Now instance,

4:16uh,

4:16in most cases,

4:17well,

4:18this gives you the ability to,

4:21you know,

4:21add things like if you wanted to add a blog to this or something like that,

4:24you could definitely do that.

4:26And specifying the content for that blog,

4:29that would be what you could do here,

4:30right?

4:31So you could use,

4:32you know,

4:32obviously audio,

4:33probably not going to use that.

4:35Um,

4:35images,

4:36right?

4:36You could have static content,

4:38you could have dynamic content,

4:39kind of depends on what you want to do with that.

4:42But basically any kind of content needs,

4:45uh,

4:45this is where you're going to come for that data.

4:47This is where you define your,

4:49uh,

4:50applications data structure,

4:52right?

4:52So the tables,

4:54the table columns,

4:55the relationships between tables,

4:57right?

4:57Many to many definitions.

4:59Um,

5:00the forms for your tables,

5:02all of that's going to be in this section here.

5:04What else do we have here?

5:06Integrations inbound and integrations outbound.

5:08Those are both very important because what they allow you to do is,

5:12uh,

5:12kind of deal with third parties that are,

5:15that you either want to get data from or that you want to send data to

5:20typically.

5:20So as you can see,

5:21integrations inbound,

5:23this includes things like data import and all of its related,

5:26uh,

5:27aspects like data sources,

5:28scheduled data imports,

5:30transform maps,

5:31things like that.

5:32Um,

5:33for outbound integrations,

5:35this includes things more like,

5:37you know,

5:37exporting data,

5:38but also includes things like rest messages,

5:41which are considered outbound integrations.

5:44Okay.

5:44When your application,

5:45you know,

5:45when service now actually sends a network request to some external party as the

5:50result of something happening.

5:52Okay.

5:54Uh,

5:54what else do we have here?

5:55Mid server.

5:56Um,

5:56we haven't really talked too much about that,

5:58so I'm just going to leave that one there.

5:59Mobile.

6:00A lot of companies aren't really using this too much anymore because this,

6:03um,

6:04you know,

6:04this is more like when someone's using service now on their phone,

6:08as it happens,

6:09while that can be helpful while you're on the go,

6:11a lot of people just kind of prefer to use service now through the main

6:14interface.

6:15So I don't know if you want to configure those things like the different screens

6:20for the mobile experience or,

6:22you know,

6:22different lists,

6:23different views.

6:24Uh,

6:24you can do that.

6:25That's where you would come for this.

6:26We haven't really talked about that too much here,

6:28but,

6:28um,

6:29what else?

6:29Natural language understanding.

6:30This is kind of an interesting and very specific category.

6:33Um,

6:34you know,

6:34and after all of the stuff that we've seen with generative AI integration,

6:38uh,

6:39this is kind of another option for that.

6:41I would say kind of a less sophisticated option perhaps,

6:44but anyway,

6:45feel free to explore that if you want,

6:47um,

6:47properties,

6:48this is actually something we haven't really talked about yet,

6:50but,

6:50uh,

6:51when you create an application,

6:53you're typically going to want to leave certain aspects of that application

6:58open to the user,

7:00right?

7:01Or open to the admin.

7:02That's actually going to be installing your application into their service now

7:05instance.

7:06So for example,

7:08right in our case here,

7:09we've seen how we can create,

7:11you know,

7:11let's say a custom action that will communicate with the open AI API,

7:17but that requires the open AI API key,

7:21which is not something you're going to want to publish along with your

7:23application.

7:24So in other words,

7:25you're going to want the admin to actually have to pass in their own open AI

7:30API key in order to use your application.

7:34And that's,

7:34you know,

7:35system properties are how you would leave that open,

7:38right?

7:38Basically what that does is that just gives the admin who's installing your

7:42application,

7:42a form that they have to fill out.

7:44And then those properties are accessible from inside scripts and other parts of

7:49your,

7:49your app.

7:50So anyway,

7:51we'll talk about those in a little bit more detail later,

7:53perhaps,

7:54uh,

7:54reporting.

7:55Haven't really talked a whole lot about that,

7:56but this just allows you to define lots of things to do with reports.

8:00So you can define specifically reports or,

8:04uh,

8:04scheduled emails for when you want to send out those reports,

8:07ranges,

8:08metric definitions,

8:09and even things like,

8:10uh,

8:10you can define the colors that show up on charts.

8:12So if you have specific organizational colors,

8:16right,

8:16then you can incorporate those.

8:19Uh,

8:19what else schedules?

8:21We talked about those a little bit earlier when we were talking about schedule

8:23jobs.

8:24So that's where you could define those,

8:26uh,

8:26security.

8:27So this is where you can configure things like access control rules and roles and

8:32also public pages,

8:34which are just pages that anyone can see.

8:36Um,

8:36what else server development?

8:38So this is where you can define,

8:40you know,

8:40server side logic.

8:41This is kind of the server side,

8:43uh,

8:44counterpart to client development,

8:46as you can see.

8:48So,

8:48you know,

8:48you see that there's things in here like business rules,

8:51data policies,

8:52events.

8:52Um,

8:53what else?

8:54Fixed scripts,

8:55scheduled scripts,

8:56basically anything that's going to happen on the server side is going to be under

9:00this category.

9:01And,

9:02um,

9:02the last thing here is user interface.

9:05And this is basically just individual pieces of user interfaces that you can

9:09define.

9:10So you can define things like lists or list controls or,

9:15uh,

9:15maps or modules or portals or related lists.

9:18There's lots of things you can do in here.

9:21Um,

9:21so feel free to kind of explore that.

9:23And the last thing is other,

9:24this is,

9:24I think just things that didn't really fit into,

9:27uh,

9:28some of the other categories.

9:30All right.

9:30So,

9:30um,

9:31you know,

9:31if you're after something very specific,

9:34that's not in the above categories.

9:35This is apparently where you would come to find that.

9:38So,

9:38uh,

9:39anyway,

9:39hopefully that's kind of oriented you with regards to where everything is and,

9:45and how the service now studio organizes all the different file types versus how

9:50they're organized in the main service now interface.

9:54And again,

9:54hopefully this just helps you find things when you need them.

Challenge & Solution: Adding More Files

0:00Alright, well now it's time for a challenge and in this challenge your responsibility is just going to be to add another file to this

0:08application that we've been working on in this skill and

0:11Your challenge essentially is going to be to create a flow that will be triggered when a new visitor check-in is created

0:19That will get approval from someone you can choose who you want this to be

0:24For actually letting the visitor into the building

0:28all right, so the idea here is that a visitor check-in would be created when you know a visitor comes up to the front desk and

0:35You know whoever's working at the front desk creates one of these

0:39But then we'd want to have someone actually approve this just so that there's a record of who said okay

0:45Let this person in right so

0:48That's gonna be your challenge and um after that after that approval step

0:52Maybe you can add another thing in the in the flow that just logs something out to the console

0:58Or maybe you want to generate like a badge number or a badge ID or a temporary ID or something like that for the user

1:04You don't have to do this, but that's just kind of an extra little thing if you want to

1:08Give it a try so that is your challenge

1:11So feel free to give this maybe five to ten minutes to complete and once you've given it a try you can move on to

1:16The next video where I'll walk you through the solution so best of luck, and I'll see you there

Challenge & Solution: Adding More Files

0:00All right. Well, hopefully you gave this challenge a try.

0:02So let's take a look at the solution.

0:04So the first thing you had to do here was go to create in the application and we

0:10wanted to add a new automation file and specifically we wanted to add a new flow.

0:17Now, as I showed you,

0:18this is basically going to use the interface that we've been using back in the

0:22regular service. Now, you know, experience for creating a new flow.

0:28Um, so there's not really going to be too many surprises here.

0:31It's just going to be interesting to see what's actually created behind the

0:34scenes in our applications file. So let's go back to new flow.

0:38We're going to call this something like get visitor approval.

0:43All right. And oops, I didn't mean to do that.

0:46Let's just click build flow here and there we have it.

0:50So let's start off by adding a trigger.

0:53We want this flow to be triggered when a new record is created in the visitor

0:59approval table. So we're going to select that table from here. All right,

1:03we'll select this table.

1:04But the thing to notice is that a lot of the other tables are actually accessible

1:10to us here as well. So this is kind of an interesting exception to,

1:15you know, the,

1:15the typical situation that I described earlier when we were talking about

1:20application scope, because as I mentioned earlier,

1:23typically you're not going to want to, you know,

1:26be able to cross the lines between applications. So if the,

1:29if we have the global scope and then we have our applications in here,

1:32a, b and c, well, typically we're not going to want,

1:36let's say tables in application a to be able to reference tables in application

1:41B. And you know, uh,

1:44we're not going to want to be able to create UI policies and application C that

1:47reference tables and application a, but, um, in a way,

1:53uh, flows at least flow triggers are kind of an exception to this because

1:58they're a little bit,

1:59they're a little bit less serious if an application gets uninstalled, right?

2:03In other words, if we create a flow here,

2:05let me just undo some of that there.

2:07If we create a flow in application B that's

2:11triggered by, you know,

2:14something getting created in a table in application a,

2:18then it's not the end of the world.

2:20If application a gets removed because all that'll happen is that that flow just

2:24won't ever get triggered again. Right?

2:27So it's a little bit of a lower commitment situation, if you will.

2:32Um, then doing things like actually creating references or, uh, you know,

2:37creating scripts that are able to load data from other applications,

2:41things like that. So, um, anyway,

2:44with that in mind, let's just click done. And then for add an action,

2:48what we're going to do is we're going to click action.

2:51We're going to say that we want to get approval. Oops. Uh,

2:54let me try that again. I'm just going to type approval. Oh, ask for approval.

2:58Okay. I always forget the name of these things. Um,

3:01that would seem oddly specific or like a slightly different, uh,

3:05phrase than I would have used, right? Get approval versus ask for approval.

3:08Anyway, here's what we're going to do next. Um, for the record,

3:11we're just going to use that, uh, trigger from the record.

3:15So we're going to say visitor check-in record, right?

3:18The approval reason of something like, uh,

3:22need the okay to let this

3:26person in, uh, into the building we'll say, all right.

3:32And then we're just going to skip the rest and we'll say approve when,

3:36and we're just going to choose, um, anyone approves and we'll S we'll pick a

3:38specific user here. So we'll just do a system administrator. Um,

3:43although obviously you might want to have someone else or have this calculated

3:46dynamically, things like that. So we're going to say done here. And, um,

3:51well, once we've gotten approval,

3:52we're just going to say if the approval was successful.

3:55So if approval state is approved, all right,

3:59so we'll say if approved is what we'll say there,

4:02then what we're going to do is we're going to say done and we're going to add an

4:05action here, uh, which will be,

4:08we're just going to log something out to the console, uh,

4:12basically saying that this user was let in.

4:14So we're just going to say something like let,

4:17and then we'll have the visitor check-in record here.

4:19And we're going to actually get the user, um, or that the name from it,

4:24the visitor name, that is, we'll say, let this person in. All right.

4:29And then we'll say done. Okay. So let's activate this flow.

4:34We're going to say activate. And then, um, you know,

4:37just like what we saw previously, uh, if we now go back to our app,

4:42which we'll see, um, by the way,

4:43if we hit refresh that there should be some extra things that were added to

4:47this, we now have 45 files associated with this application.

4:52Um, whereas before I think it was 34 and sure enough,

4:55we see that we have flows and also things, uh, called flow blocks,

4:59which are basically just pieces.

5:01That's kind of one of the interesting things,

5:03or that's what I originally really liked about working with service.

5:06Now studio, um, at least at first is, uh,

5:09it gives you the ability to see what's actually going on behind the scenes when

5:13you use those other interfaces, right? So when you create a new table,

5:16as we saw that created a lot of records behind the scenes and same thing with

5:20flows, right?

5:21You get to see what the actual pieces are that are being created behind the

5:25scenes. Anyway, um, now that we've created that,

5:28what we're going to do is we're just going to say publish, right?

5:32Now that we've added that flow to our application, we're going to say publish.

5:35We have the new version there. And, um,

5:38we're just going to wait for that to finish here. Typically goes pretty quick.

5:42Then we're going to say done. And now if everything is set up correctly,

5:45what we should be able to do is we should see that, um, you know,

5:50let's just, uh, hit refresh here on the visitor check-ins page.

5:55What we're going to do is we're going to say new for visitor name here.

5:59Now that our company seems to have, you know, uh, famous jazz artists coming in,

6:03let's maybe, uh, we'll say, uh, John Coltrane. All right.

6:07And it will say checked in by system administrator.

6:11And actually I realized after I created the last one with Louis Armstrong that I

6:15missed a, uh, a golden opportunity here for the purpose of visit.

6:18So I'm just going to put it on John Coltrane,

6:20even though the quote itself is typically attributed to Louis Armstrong.

6:24We're going to say, if you got to ask, you'll never know.

6:28This is apparently what Louis Armstrong said when he was asked, uh, his,

6:32what his definition of jazz was.

6:33So let's just click submit and sure enough, we see that that was created.

6:38So let's just double check if this created on approval. All right. Um,

6:42we should be able to go to my approvals now. Let's just open that up here.

6:47And sure enough, we see that there's this requested, uh,

6:51approval that says need the, okay, to let this person into the building.

6:54We can see visitor check-in. Um, that's what we're approving here.

6:57And so if we say approve, we're going to go to the logs.

7:01So we'll say system logs. All right. Uh, system log is what I wanted there.

7:06Let's just scroll down and go to, um, all.

7:09And now what we're looking for here is, and sure enough, there it is. All right.

7:13So anyway, um, that is the solution to the challenge.

7:16So hopefully this helped you to, uh, practice, you know,

7:19adding new pieces to an application and also helped you to review the basic

7:24process of publishing and then testing the app.

Team training path

Turn this skill into assignable team training

This free skill is a preview of the courses your team can assign, track, and report on with CBT Nuggets.

What's next?

Ready to keep going?

For your team

Bring this training to your team

See how CBT Nuggets helps IT teams close skills gaps, hit compliance targets, and prove training ROI.

Request a Demo

Just need ServiceNow Developer? Enroll from $300/yr (59 skills)

Request a Demo