Every technical decision is “wrong” after enough time. (@anarafaelaferro)

Service Portal is one of the most appreciated and amazing parts of the ServiceNow platform. It was added to the platform about 3 years ago, adopted extremely quickly and introduced some concepts of modern web development to the platform.

Service Portal is the first thing to pop into your mind when you think about a custom front-end or a catalog for end-users. And it does it pretty well — you can start building web pages quickly and get valuable results in a matter of hours or even minutes.

I’ve been working on multiple Service Portal projects for the last 3 years and I want to share some good and bad parts of it. I’ll start with the good parts, which should give you an idea about the cases when Service Portal works best.

1. End-user Portal and Service Catalog

When you need to provide users with a self-service portal and a Service Catalog, and you are OK with out-of-the-box portal styling and functionality, then I would say commit to OOB portal with as fewer modifications as possible.

ServiceNow has heavily invested in OOB version of the portal and it does an incredible job.

I strongly recommend working on OOB version at least for some time to fully understand what exactly does not fit well, needs to be changed, replaced etc.

2. Documentation

This is often an overseen gem of the Service Portal — you can build static websites and pages in a matter of minutes and then host them as Service Portal pages inside of ServiceNow.

It provides great user experience and full capacity of HTML/CSS styles for your documentation and static content.

3. Dashboards and interactive pages

In the same way that you can use Service Portal pages for documentation, you can build dashboards and interactive pages, which include custom controls, logic etc.

Some knowledge of Service Portal API may be required, but in general, if a dashboard is not complex, this can be done fairly easily using the standard HTML/CSS/JS means.

4. Custom web applications

This may be the most exciting and the most challenging part. Service Portal is a featured AnguarJS environment. When building an app you’re working with AngualrJS concepts and Service Portal proprietary API. This allows you to build simple web applications quickly, with less code and with a fairly low amount of efforts.

It is actually a reason why Service Portal adoption skyrocketed — getting a simple web app for a very short amount of time is a great value.

And here comes the challenging part — at some point in your development, when you go beyond a simple web app, you may face a situation when every next step (or just a small piece of a new functionality) requires a significant amount of time and efforts. And it’s not just about implementation efforts, but also about further maintenance and support.

The more advanced you want your web application to be, the harder Service Portal may push back.

There is a number of reasons for that, and I’ll discuss some of them in the next article.