ServiceNow CSA Topic: Custom application Part 2
December 19, 2022

5. Record Producer

In the earlier lectures, we have seen how an ITTL or an admin can raise a request. Basically, as the ITL also has the role, he is able to see the application in the left navigation pan application. But what about end users? What if end users want to provide feedback? That’s when the user record comes in handy. Let’s create a record producer. And for this particular record producer, we are going to create it on our table, which is flight airline feedback. And he will be able to give a brief description of this here. Then I read the description, and I decided to save this record producer. We need three important things from the user.

First is the flight on which he has traveled, and then the summary. And finally, the description, the feedback summary, and the description Let’s create three variables. The first one would be a reference field, wherein he will be selecting the flight. This would be a reference field, and in the type, I’ll be able to select the table, which is the flights. And I can add a filter wherein it only shows active, true records. I can map this field to the flight field. And let me make this mandatory. I’m going to create a few more variables directly from here. The other variable is single-line text. This is a summary. The field is a feedback summary. Instead of saving, I’m going to click on insert and stay so that it creates a duplicate record or a new record for this particular variable. And I have multiline text. This is for description. And here I’m going to select the description.

That’s it. I’m not making this mandatory. I’m going to insert it, so that’s it. Our record producer is now ready. Let me go to the record producer again. So in this section, we have provided all the required information. Let us just provide the catalogs, or, let’s say, service. So here we have a category called, “Can we help?” We can use that. That’s it. Our record producer is properly ready. Let’s test this by logging in as an end user. Now I’m going to the service catalog. Then, can we help you? We have lane feedback. Select the flight next. That’s it.

I’m submitting the request. Now, if we see him, let’s impersonate our system administrator. Let us see whether this particular feedback has been added to our queue or not. Let’s say I’m going to give our airline feedback. I’m going to bring it in open by, and yes, there is the latest request, which is 13, and this is by Joey, as you can see. So that’s it. Regarding the record producer, this is the reason why we have record producers. If the people do not have access to a specific table for creation and all, we can hire a record producer to create the records. They won’t be working on those records, but they will be able to create them. You.

6. Workflow

Let us create the workflow for this particular application. Just type a workflow in the left navigation pane, and then we’re going to create a new workflow. The airline feedback is on the table, and the basic requirements for this workflow are that we provide approval. So we’re going to get this approval and then bring in a group. Before this, we need to create a new group. For our particular approval, I’m going to create a new group. Airline Feedback approval I’m giving them the role because they must have the approver user role in order to approve the records, so that’s it. Now let’s go to the workflow. Feedback and approval: let’s directly add the approvers; this means that the approvers are automatically added once a request is created. It will be redirected to the approval group first. Once they approve it, it will go forward. It will go ahead. And we need to create a task, and the task is an enhancement. I’m going to revise the form, then I can submit.

So, let me resurrect the task so I can create a group for this. Maybe our airline feedback team will say something similar before creating the enhancement. What I can do is bring in the summary from our table and basically show you how from the feedback just type test over here, but in the advanced I’m going to write task-short description equal to the current. We basically used the same short description field, so we can just leave it as is and whenever enhancements are created automatically, their short description will come from here. For now, let’s submit it and check whether the checkbox for waiting for completion is checked or not. Yes. The completion wait is now checked. If it is approved, it will be assigned a task. Creation. And once it is completed, it will end. Even if it is rejected, it will not create any enhancement, but it will end. This is the basic outline of the workflow. Let’s add some of the activities that are actually very helpful.

The first thing is to set values. Here I’m going to set the values of the airline feedback so that it will be closed once the task is completed. Set complete, and the state will resemble lost. Complete. Once the task is completed automatically, it will set the feedback as complete, and it will end the same way. I can create one more set of values or duplicate this by right-clicking on it and copying. The activity set is complete. Let’s say she skipped. So as we’re extending the field by extending this table from the task, we do have an approval field, so we can use the approval action for this. The name of this would be uproot actually rejected. And let me bring one more approval action, and then it is approved. So that’s it. We are going to send this to be approved and then create a task. Yeah. So we are good with the workflow for now. Let’s go ahead. And first of all, we need to set a property in the properties, and we need to set the condition so that it will be triggered only during the creation.

So the state will be something like “state is new” or “state is open.” Also, let’s say once it is approved, we need to set the feedback as being in a different state, which is like a work in progress. For that, we need one more set of values. I’m going to use this. I’ll put something under “work in progress.” So first, once a request is raised, it will go for approval, and once it is approved, it will go over to this branch, where it will set the values to “work in progress,” and then it will create a task. Once it is completed, it will set the values to complete the feedback values to complete, and then, if it is rejected, it will set the approval action to reject it, and then the state will be changed to closed, skipped, and finally, it will be closed.

So that’s it. I’m going to publish this workflow so that it will be captured in our update set. Let’s create a record and check whether the workflow is attached. So, for flights, we must seek creative feedback. I’m just keeping it as open as possible—give a test, then text. Let us see if it was successfully uploaded. Let us check whether the workflow is attached or not. We can do this by going to the workflow context, active context. And here we can see that the airline feedback workflow has been attached to this.

Let us see the status of it. If we click on “show workflow,” it will show the current status of this particular workflow instance. But what if I don’t want this particular thing to end? Just a moment. What if I want this feedback on the workflow to be shown to the end users? Also, it will be great if I have a related link over here called “show workflow” and they can see at what stage the workflow is. So for that, what I can do is utilise one of the UI actions, say this one, then click on Insert and Stay, and it has created a new application—I mean, a new UI action for our application. And let me change the table name. It did not modify the existing one, but it has created a duplicate for us. Here I’m going to select our feedback, airline feedback, and then that’s it. This is some out-of-the-box code. Click on “Submit,” coming back to the airline feedback. If there is a workflow attached to this, we’ll be able to see it in Up Flow. I’m going to click on it now.

Yes, it has begun, and it has been approved. But there are no group members in that particular approval group. So it just did auto-approval, then changed the approval action to approve, set the status to “work in progress,” and started the task. Let’s see the task. You can search for the enhancements. An enhancement is created. As the short description copied again shows, this goes through some standard procedure. The enhancement process will change the state so that it moves from the draught to the scoping stage. It will go through its own lifecycle. Once this enhancement is closed, then our airline feedback should also be closed. Yes, it has been moved to close completely. Let’s see the workflow again. I’m going to refresh this. As you can see, it has moved to the end. So that’s it. Regarding the workflow, we’ll go through some small, small processes.

7. Customizations

In this video, we are going to do certain customizations that will actually cover the business rules, Auctions, UI policies, and also the client scripts. We have completed the creation of the application from the ground up, including the tables, fields, and workflow. Even the form layout and display layout are also modified. Now, let us create certain customizations. Right now, there are four types of customizations one.

The first thing is that when feedback is disclosed, no one should edit the record. How can we do this? Essentially, we need to make the fields read-only. Whenever we are talking about read-only fields on the form, we use the UI policies. We are going to create a UI policy for that. Coming back to the service provider system UI policies, here we are going to create a new UI policy on our custom table, which is airline feedback. Only allow fields to be read in complete states. Closed, complete, closed, incomplete, or skipped is the state. Now we need to add the fields. The UI policy actions The fields are read-only. True.

We need to select all the fields. The first field is the number field. I’m going to save it. I’m going to give you a small trick regarding this creation of UI policy actions. We have all the details properly set. Only. The thing is, we need more UA Policy actions, and the only thing we need to change is the field name. So I have created the UI policy action, and I’m selecting the different field. Now. Instead of updating, I’ll just go and click on “Insert and Stay.” Now a UI Policy action is created again. I’ll select another field name again in a certain state. This will create another UI policy action. For the feedback summaries, we have the state field, the assignment group, and the assigned-to category, the flight field. Now let’s go check to see if we missed any of the fields. You can see that all the fields are already read-only. So that’s it.

This is the first customization that we have done. If I try to create a new airlinefeedback, I should be able to create it. Yes, if Isave has moved them to the work in progress, I can change them. So as there are no approvals, it has automatically been moved to “work in progress.” So now everything is looking fine. Check out the following customization appendingcategory value in the short description field. And this can be done through the business rule. Let’s see how we can do that. So basically, what should happen is that if I am writing something like this and if I save automatically, the category should be appended over here and it should be shown like this. Let’s see how we can do that. I’m going to the Business Tools section to create a new business tool. The filter condition in this case is whenever the category changes two, or simply whenever the category changes, I’m going to append the category, and the category should not be empty, not none. So that’s it. What should happen? It should set the value, or I can simply write the script: current dot short underscore description is equal to currentcategory plus, which means I’m going to append it. I’ll add an aunt and a space before the current dot-short underscore description.

So that’s it. This business rule should run before inserting or updating. We are done with the business rule. Let’s check whether this particular thing is working or not. If I go to any of the airline feedback records and change the category to “cab interview,” you can see that the feedback summary for the category is added and even the earlier summary is still present like that.So this is how we can use the business rules. Next, we need to limit the summary field to 100 characters and send a message. Sorry, basically, we need to throw a message if it exceeds. Let’s see how we can do that. In this, we are going to create a catalog—sorry, we are going to create a client script. new client script. We need to write some script over here. Don’t get confused by the script. Just try to go through it to see how exactly the syntax is working, how the process is, and how the flow of the script is going on.

Limit the summary to 100 characters, and this should be on change because we need to throw this popup whenever the summary is changed. And what should we write? Basically, we need to check I’m just writing some sort of pseudocode. If the summary length is more than 100, then alert, so that’s it for a simple line. Let’s change this to proper syntax. This will look like if g underscores getValue, but first we must get the value from the short description field. Such a brief and underlined description If I get this, what I need to do is convert it to a string and then lengthen this particular function. What it does is give me the length of the string. If this is greater than 100, I am going to throw a pop quiz. That’s it. I can also put something like the length of the summary in here. I get the length. The length of the summary is so and so, which exceeds 100 characters. Please limit them to 100. Let’s submit this and test it on our form. I’m going to give some random short description.If I click back, I guess it’s not more than 100. This is already limited, I guess. I believe we did not set the on-change field. So let me go back to the client scripts and change which field we did not actually mention this.We have mentioned “active.” We need to set it to feedback summaries.

So whenever the feedback summary is updated automatically, this particular client script will be executed. Now let’s see the record. Okay, there is some yes; let’s get to the code. I believe there must be some issue with the syntax. Essentially, we must keep this in quotation marks. Okay, that’s it. Yes, if I put it that way. The length of the summary is 160 characters, which exceeds 100 characters. Please limit them to 100. If, let’s say, I’m removing a few characters, that means we like something around twelve characters. Now, the count will be somewhere around 140 or more. Let’s see, yes. The length of the summary is 147. It properly gives the length. So this is how we can put the script in the client so that end users can see the stage. Whenever we want the end users to see certain changes like this, then we use the client script. The last thing we are going to discuss in the next video is customization.

8. Event And Notification

Welcome back. So this is our last requirement regarding the custom application. The last customization that we are going to do is have the assignment team members notify the approver. So basically, we need to provide a UI action, which means a button on the form, on the feedback form, so that once they click on it, a notification will be sent to the approver groups. approved group members.

Let’s see how we can do that. So basically, for this, we also need to create an event also.So, first and foremost, let’s create a UI action. If I go to the feedback tab, if I click Configure and then UI actions, I’m going to put something like Notify Approvers. Once I click on it, we need to write some script that will actually trigger an event. Let’s see how we can do that. Before that, we need to create the event. Just go to the Registry system policy event registry and create a new event called “Airline Feedback Notify Upgrader.” The table is airline feedback fired by UI Action, which is a notification uproar. We need to trigger this notification. Once it is triggered, we need to catch this notification, catch this event, and create a notification. The notification will be sent to approvers.

The table below is our feedback. When should I send? First of all, we need to have an advanced view. I’m going to save the report first. Then I’m going for the advanced view so that I can select the event triggering methodology. when to send Here, I have the option. Let me remove the annotations. When to receive When is an event fired, and what event is it? Whenever the airline arrives, Let’s see the registry once again. So this is the one that we have created. This is the scope name, and then Airline Feedback will notify who will receive it. We are going to use the Approvers Group, which is this one. Feedback airline What it will include in response to feedback and approval I will not use the template for now. Subject to approval. Hi, please review and approve the airline feedback. Request details. You can use the feedback summary, feedback number, feedback summary, and description. So that’s it for now. Pending approval, let’s call it a dollar number. So that’s it. The basic notification is quite ready now.

When to send, when this particular event is triggered, who will receive this, this particular feedback approval team, and what it contains are the short description and the body. If we want to preview, save the record first. So let us preview it now. When we select this particular record, it will give us these details. Let’s say if I change the ticket, then we’ll have a different summary. So that’s it. Our notification is ready; now let’s go to our UI action and modify the script inside that so that this particular event is triggered. The script for that is GS EventQ and then the event name. We’ll just make sure that we just copy the event name so that there won’t be any typos, and then add the current record. And let’s keep the parents black, because right now we don’t need that. We’re going to the event registry, so let’s copy the event. Let’s say I’m going to update the record. It will be updated if there are any updates. That’s it. I hope there won’t be any syntax errors. For the time being, let’s go on record and alert the uproars. Before that, we must first create or add group members. Let me add myself to this group automatically. This user will get two roles. One is the approval role, and the other is the scoped application role. The Airline Feedback Rule Let’s go and create a new record. Or let’s say we are going to create a new record.

 Airline feedback: the late departure light has departed too late. So we can still see the status as “open.” Let’s go and check the workflow. Before that, we can also see what related lists are available for this feedback. I can add approvers and enhancements. We can see that one approval is available. I’m going to approve it because, as an administrator, I have the authority to approve anyone’s approval. It has more work in progress now, and we can see that an enhancement has been created. Let’s complete the enhancement. I can only put it in “complete.” So basically, the whole process is working fine. As you can see, the state is set to “complete automatically” once more. Everything is working fine now. But we did not test the UI action for that. Once again, we need to create a new request. And one more thing: we are actually seeing the UI action in all the states, which is actually not the right thing. So let’s do one more addition to this UI action. We need to set the condition in such a way that the current state equals one. Basically, one is the open state. Whenever the ticket is created, it will be in an open state. Once it is approved, it moves on to the next state. So before approval, we need to send the notifications.

So the current state is 1. which means only if the current state is open will we be able to see the notification approvals. I’m going to go on record. This is a closed case. Let me create a new one now. As far as we can see, the state is still open. We are able to see the notification approvals. Let me select a category: test and text. Let me save the record if I change the state. Or, as you can see, the approvals are attached. If I click on Notify Approvers, the notifications have been triggered. Let’s go and check the mailboxes. You can see the notification has been triggered. See, this is the one that we have created. Let’s see the body. Hi, please review and approve the airline request. The subject is pending approval. This is the one that we have created. So that’s it. This is how we create the notifications, and all we need to know is that if I say I am going to the feedback request, I am actually not seeing the notifications that are being sent to this.

Let’s see how we can add it. Right-click Configure, then form a layout, and then I can add the activities. This is the same thing that we did in our earlier class, where we started looking into the notifications. If I go to configure, I can send or receive available fields. So yes, as you can see, the event email is attached. That’s it. We are done with this whole application. We have started all the processes, and we have completed all the customizations that are required by them. Actually, we covered almost all the configurations that we spoke about in our training, the workflows, and all the customizations like the business tools, UI, actions, client scripts, creating workflow tables and fields, user administration, and the creation of groups,  users, and roles, so the whole course content is actually covered in this 1 minute of our session on this application. creation of applications. That’s it. Thanks for your time, guys.

Leave a Reply

How It Works

Step 1. Choose Exam
on ExamLabs
Download IT Exams Questions & Answers
Step 2. Open Exam with
Avanset Exam Simulator
Press here to download VCE Exam Simulator that simulates real exam environment
Step 3. Study
& Pass
IT Exams Anywhere, Anytime!