Service Portal

I’ve been heads down for a while now working on the new ServicePortal, but today I wanted to give you guys just a quick review of what we’re working on. Here is some quick bullet points on Service Portal:

  • Service Portal is an alternative to CMS but not a replacement
  • Portals are built using Twitter Bootstrap and Angular.js
  • Features a customizable knowledge base and service catalog without the use of iframes
  • Supports “record watching” for near realtime widget updates
  • Live ticket chat
  • Fully responsive for mobile and tablet
  • Portals built using a powerful drag-n-drop designer

I’m very excited about the Service Portal and the opportunities it will create for both partners and customers to develop feature rich beautiful interfaces on ServiceNow. Below are some quick snap shots of the sample portal we have built. It’s still a work in progress and will most definitely look different by Geneva, but for now… here are some sample screen shots:

1 2 3 4 56


  1. Thanks for sharing Nathan.

    A few things I’m curious about:

    1. Has it held true that there will be no more Jelly as Fred mentioned in his keynote?

    2. Will we easily be able to make use of the new “presence” features that will come with Geneva?

    3. Is there a new mechanism for accessing platform data to simplify the use of Angular Data Binding?


    1. Joel,

      1. Yes… in ServicePortal there will be no Jelly.

      2. Yes, you will have to ability to use the “presence” features in Widgets in Service Portal.

      3. Sort of, although I wouldn’t call it new. It’s just server-side JavaScript with GlideRecord. A widget is comprised of server-side JS (JSON Producer), client side JS, and the HTML view. But yes it’s very easy to create dynamic widgets.

  2. Nathan,
    Great job as always. It looks sleek and modern. A few things I’d like to find out about:

    a. You mentioned this is an alternative to CMS, based on that;
    i. What’s the plan for CMS? Any future version?
    ii. What limitation Service Portal has compare to CMS?
    iii. Does SN has any plans for making Bootstrap, Prototype, and jQuery working next to each other with no conflicts in Geneva?
    iiii. Will all bootstrap features work in Geneva? (Such as tab menu which currently doesn’t work)

    Thank you and I appreciate any feedback you can provide.

    1. Matt,

      1. CMS will remain a supported plugin, not sure about new features or versions as it’s not owned by my team, but it will continue to receive regular bug fixes as a supported plugin.

      2. Service Portal uses Angular.js and Bootstrap, if you wish to use different frameworks, you’ll have to go back to CMS.

      3. I can only answer as it pertains to Service Portal, and there is no Prototype.js in Service Portal, so Bootstrap, jQuery, and Angular.js will work very nicely together.

      4. Yes.

      1. Hi Nathan,

        Just to focus/ask further onto point 3, when it comes to these libraries, I know there are some very specific compatibility specifications / issues with older browsers when it comes to Angular’s newer version(s) – Specifically when 2.0 comes out. Due to this reason, how will this be handled through upgrades and generally within Service Portal? E.G. Will Service Portal be built upon a highly customised version of Angular 1.3? Or will it constantly upgrade through ServiceNow upgrades?


        1. Michael,

          ServicePortal uses the system default version of Angular.js, so it will upgrade to newer versions with the rest of the platform through regularly scheduled upgrades. The version of Angular.js included with ServiceNow is actually the stock minified version without an customizations.

          1. Thanks for the reply,
            So when AngularJS 2.0 comes out and essentially stops supporting IE9 (which its rumoured to be doing), will everyone who is using Service Portal where IE9 is the SOE need to either upgrade its SOE or prevent updating their instance? Or will the idea of adding polyfills be used to allow for this?

            (Sorry for all the questions regarding this point, I just know that a lot of people I have spoken to still use =< IE9 as their SOE, so is important to understand for me).

            Thanks again!

          2. I don’t really see it as a concern because Service Portal shares Angular.js with the rest of the platform. Since Angular.js 2.0 is so different and it’s lack of support for legacy browsers, it will take a very long time before we are able move the whole platform to it, if ever. By then Angular.js will be old news and there will be something even better out 🙂 Obviously, it’s not my call to make, but that’s my personal opinion.

  3. Love the idea of this Service Portal.

    Will Wizards or Order Guides be supported? Or are those strictly connected to the CMS?

    1. Michael,

      Maybe. Probably not with the Geneva release, but it would not be very difficult to build a some widgets for rendering Wizards or Order Guides. I will put these on the list of requested features and we’ll see how far we get.

  4. Nathan,
    Thanks for sharing, it looks like really great. I have a few questions, if you will find the time:

    1. Will there already be an implementation of list views in the ServicePortal (Incidents, Requests, Changes …), i.e. some alternative to iFrames in CMS written in angular?
    2. Will there be angularJS and bootstrap customized (heisenberg) or will it be unmodified (all functions are working as in the original libraries)?
    3. Will the shopping cart widget be present in the Service portal, same as in the current Service Catalog?
    4. Are angular views (e.g. for routing) going to be supported?

    Thank you in advance.

    1. Jakub,

      1. Yes, there is a list widget. You can also create your own.
      2. Angular.js is unmodified, ServicePortal includes the system default Bootstrap version but without all the Heisenberg customizations.
      3. Maybe, it’s on the road map but may or may not make it within the Geneva release. If it does not, it would not be that difficult to build.
      4. ServicePortal handles all routing out-of-box for you, but it is just HTML and JavaScript so you are able to include your own JavaScript to extend the portal if you wish.

  5. Hi Nathan,

    Do you know if the KB “no frame” functionality will be available outside of the Service Portal in the Geneva release? I am asked frequently if we can make the KB more user friendly, and this seems to be the ticket, but I’m betting that the old KB (outside of the portal) looks the same as it does today. Any insight?

    This looks awesome by the way. Keep up the good work!


    1. Jason,

      The Knowledge Base in Service Portal is specific to Service Portal and won’t impact the general Knowledge Base, however that being said, I believe there is a new Angular.js based Knowledge Base with a new cleaned up UI. I remember looking at it a few weeks ago, but I’m unsure if it’s in Geneva or Fuji. If you’re not seeing it now, I guessing you will be seeing it soon.

  6. Exciting time for customers using CMS. I believe this will help to extend the use of portal among th different lines of business.

    Would like to learn more just how to position the service catalog if we are a heavy CMS shop?

    Can’t wait.

    1. George,

      Yes… It’s very exciting with what will be possible with Service Portal. CMS was very limited in what it could do, Service Portal is not just limited to building portals but could even be used to build full applications.

  7. Saw the live demo at K15, vurry impressed. Sleek, and love the Presence. Congrats to you and Troy and the team!

  8. Thanks Nathan – Some very interesting work. Just wondering what would happen to existing sites that customers have build using CMS? Is there any migration process? or it will have to be re-written/re-designed using Service Portal?

    We have few customer in Fuji just starting to build the CMS site – what are the things that needs to be kept in mind while designing?

  9. I appreciate the sneak peek into the Service Portal. This is very nice.

    Thank you for sharing,

    Kevin Eldridge

  10. When is the Geneva version expected to ship? I have read 3rd quarter of 2015. Is there a more precise date when it will be available?

    Thank you.

    1. I think the official answer is 4th quarter, my personal guess is end of October or early November but the real answer is that it will be released when it’s ready and anything at this point is just speculation.

  11. Hey Nathan,

    Do you have any advice for customers looking to copy their CMS pages/iframes to the new portal? Has anyone done a test run of moving a large CMS structure over into the new portal?

    1. Service Portal is architected very differently than CMS and there is no way to migrate from CMS to Service Portal. However Service Portal does simplify most of the complexities that took up so much time in CMS. If you know basic AngularJS, HTML, CSS, JavaScript & GlideRecord, you could build a pretty awesome portal in a couple days.

  12. Nathan,
    Is this still targeted for the Geneva release?
    I didn’t hear any mention of it during our last SNUG that discussed some Geneva options.

  13. Is Service Portal being launched with Geneva or delayed until Helsinki? I heard it will be released as a preview to get familiar with it in a sub-production instance but it won’t be production ready.

  14. Looks awesome, great work Nathan and team!

    My question:
    Will order guides be available with production use in Helsinki? Not sure if you have that scoped yet (Or an alternative), but it would very much help facilitate our decision to begin transitioning from CMS to the new Service Portal.


  15. Hi Nathan,

    As the new Service Portal component will be released only as a technology preview in Geneva, I’m interested in how you and the community would approach building a new Portal over the coming months.

    For background, I see several reasons to look for an alternative to the CMS and also to look ahead to Service Portal:
    * CMS limitations with respect to responsive/mobile UI designs (due to fixed base stylesheets)
    * CMS and Jelly are entering maintenance-only phase of life (based on your earlier comments)
    * General complexity in developing with Jelly; admittedly this is a personal preference
    * Great community examples of custom portals (and Service Portal itself) built on modern front-end Javascript and CSS frameworks (e.g. Angular and Twitter Bootstrap)

    My current proposal (which aims to be Eureka compatible) involves:

    1. A custom script Processor (with a Public ACL record) to serve the Portal ‘index’ html document (an Angular single page app). The existing Style Sheet and UI Script CMS sub-components expose the referenced Angular application javascript and stylesheet resources.

    2. Angular services/directives interact with ServiceNow via restful web services.

    3. ServiceNow Import Set and Table APIs facilitate data retrieval and creates/updates.

    4. A second custom script Processor facilitates login (via HTTP Authentication header) and/or verifies the client is authenticated (via the regular browser session cookie).

    My thinking is that this approach enables short-term build/release (on Eureka), offers the ability to meet responsive design goals, avoids the rough parts of CMS/Jelly, and offers logical migration path to the Service Portal when it’s production ready.

    Thoughts and feedback would be most appreciated.

    Thanks for the good work!!!

    PS: To help people with this, I’ve reviewed and plan to keep up-to-date notes on the Service Portal technology stack here: (it’s open for comments from anybody)

    1. Awesome! That’s a very similar stack to how I was building portals prior to working on Service Portal. The only challenge with any custom framework is you have to reimplement any OOB applications like Service Catalog or Knowledge Base.

      Another feature in Geneva to keep a look out for is the new Scripted REST. It’s amazing!!!

      Keep up the great work!

    1. Not at the moment, maybe that will be my next video. But I also have several other posts on Service Portal in geneva including a video tutorial for creating a widget.

  16. Hi Nathan,

    I’m trying to change the Get Help link into a list view type but i’m not able to find the way how to do it.
    I changed it’s type to simple list but it’s still not working. so,if possible can you provide any help/suggestion for this.

    1. I’m not sure what you’re asking, you want to convert the ‘Get Help’ button on the homepage to a list? You may just need to develop a custom widget for this. The simple list widget may help, but the “instance” from the Get Help widget would not work if you applied it to the Simple List as they are very different widgets with different data structures.

  17. Hello Nathan,

    Thank you for the wonderful post. Have been playing around with ServicePortal but stuck in one part.

    Is there a way to communicate between widgets in same page?

    For Example : I click on a button in widget 1, its should pass some value to widget 2 and display it there. Tried using an object with the $scope but seems they are different instances for every Widget.

    Thank you!
    Renjith Ragil

    1. Yes, do a google search for Angular.js and broadcasting events. Each widget can broadcast an event that the other widgets on the page can respond to.

  18. Hi Nathan,

    Thanks for sharing.

    We want to use Helsinki service portal but there is no shopping cart functionality available with service portal, is there any way to implement this functionality in service portal or we need to go with earlier approach i.e. service catalog. is there any plan to add it in future releases.


    1. At the time of development of Service Portal the decision was made not to include the shopping cart since a relatively small percentage of users order multiple items. That being said, you can definitely develop this functionality yourself if you know how to. We have developed a full range of enhancements for Service Portal including a full implementation of the shopping cart. If you’re interested in checking it out, shoot me an email and I can show you some of what we’ve done.

  19. Hi Nathan,

    Thanks for such a useful article.

    I have question here, Can we render table form fields in service portal with all the attributes we have defined while creating a filed in table. For e.g. If we making a field ‘mandatory’ using dictionary then this field should be automatically be mandatory in service portal.


  20. Is there a way to include “script includes” into the server side scripts of these widgets as it’s saying the script include isn’t defined?

    1. Scott,

      Yes… Script Includes are directly callable from within the server script in a widget.

      var script = new ScriptIncludeName();

      If it’s not working, perhaps there is an error within the Script Include or perhaps it’s in another Scope?

      1. Hello Nathan,
        I was on the implementation of ESS page through service portal?
        In CMS,In the record producer we are dynamically populating the values.
        In the ESS pages, there is question and options based on one option another question will populate and corresponding variable.We did it via on change client script and UI policy action.Is it possible in the service portal as well?


        1. Client Scripts and UI Policies work in Service Portal, there are some known defects, and you have to use the mobile subset of the client script API.

  21. Hello Nathan
    Thanks for the reply.Can we create button using catalog item in Service portal?
    Ideally I want to show my submit button on change of the variable of the record producer.


  22. Hi Nathan,

    I am unable to see knowledge articles in SP through mobile app? any configuration needs to be done?

    Thanks in advance!

  23. Hi Nathan,

    I have created order guide for employee offboarding having multipe catalog items but it is not completely reflecting on self service portal. We are working on Helsinki Patch 7. Could you assist me how can I make it work. Even reference fields are not working o it.

    1. I would create an incident with ServiceNow for this. There are known issues with the Order Guides, and the more incidents raised the more likely they are to fix them. I do not have a quick fix.

  24. Hi Nathan ,
    On SP want to display catalog > category.
    As of now only items displaying . on Hardware
    4 – categories . – laptop , storage, etc . when open the SP i want display the all sub-category also.

  25. Hi Nathan ,

    I wanted to customise the connect chat. Just wanted to prioritise the chats based on user entitlements. Can you help me out with this?

Leave a Reply

Your email address will not be published. Required fields are marked *