Part 10. What is the connection between ServiceNow and a dress code?

During a conversation about the ServiceNow platform, Tomek asked me: ‘Ed, why are you wearing a suit?’ Did I tell you the story about where my wretched dress code came from?  Without it, I can’t imagine being myself today. The whole adventure started with my Curriculum Vitae (I will tell you another time about where the idea for it came from). Well, as I decided to have my own CV, it had to look very professional. After all, a CV is a showcase that indicates what kind of man, pardon, robot, the  candidate is as  a future employee. And, in addition to experience in itself, an important – if not the most important – part of a CV is the photo. Hence, the need to purchase a suit.

With the Expert’s eye:

A popular platform, which is being used in more and more companies, is undoubtedly ServiceNow. ServiceNow is designed to manage various projects and processes – to operate HR departments, HR processes and financial departments. The implementation of this platform provides companies with the opportunity to standardise and speed up their processes. Thanks to the process standardisation, there is room for automating tasks that appear on the platform.

The automation of platforms such as ServiceNow can of course be made in the standard way via the user interface. This is quite effective, but it is not the only way we can create bots. UiPath provides two solutions for the automation of ServiceNow. One of them is to connect to ServiceNow with the UiPath Orchestrator connector, i.e. UiPath Spoke. With this option, you can control the robot by using tasks in ServiceNow.

The second option is to use the activity pack, which offers several activities to work with ServiceNow from the robot level. Its main component is ServiceNow Scope where you can connect to ServiceNow using the API. To make a connection, you need to enter parameters such as: clientID, clientSecret, password, and the link to the platform. Within the ServiceNow Scope activity, you can perform operations on tasks, download attachments and update statuses. Sometimes, however, the collection of these activities may not be sufficient, therefore I would also recommend checking the package of activities created by Cristi Negulescu. That package contains up to 90 ServiceNow-related activities.

Despite being able to work with the interface, I am a very strong supporter of using all the available means to work outside the user interface. This greatly speeds up the work of robots, and also ensures the high stability of the solution. In addition, you are not exposed to possible errors due to improper unclicking. The application of this method is also a major simplification when working with attachments, where, in a classic approach, we would have to make a few clicks, each carrying the risk of error. By using the API, we download them within a single activity. As an interesting side note, I’d like to add that Ed managed to set the task execution status to the one he invented. A user can only select from the available options, but a robot has no such restrictions.

The only problem you may encounter is the knowledge of the relationship between tables. For example, attachments can be scattered between two tables, where the key in one table is the task number, and the key in the second one is the superior task number. To avoid wasting much time searching for relationships, it is worth looking at the structure of objects in the table you want to query. This capability is provided by activities in the UiPathTeam.ServiceNow.Activities package, which also allow SQL queries to be used.

In summary, thanks to cooperation with UiPath, ServiceNow can act as a robot control tool, allowing the internal processes existing on the platform to be automated. If ServiceNow is an intermediate portal where you start or end a process, it is even more recommended to use tools that run in the background to reduce the operation of the robot to the minimum. This can be very profitable especially when the rest of the process works in a system that has some processing limitations or is simply lengthy.  I think it is worth familiarizing yourself with each option and choosing the one that best affects the automation in question.

Author: Tomasz Sioła – RPA Developer