Troubleshooting Social IT | Collaboration, Live Feed, Connect, Chat, Presence, and others

1. Overview
2. History
3. Common Issues
4. Troubleshooting Tips
4.1 Recording Network Traffic as a HAR file
4.2 Troubleshooting Angular
4.2.1 Examining Angular Scope
5. References



This article provides a starting point for someone who already understands how to set up, use, and administer the various Social IT features of ServiceNow, but wants to understand more about the technical details. This information will likely be useful for the purposes of implementation or administration of these features; however, this article is aimed at enabling someone to troubleshoot these features. The content assumes that the reader already has a deep understanding and hands-on experience of the ServiceNow platform and its underlying technology stack and so might sometimes seem a bit terse.

Because there are many different Social IT features, understanding which feature is which and which particular feature is being talked about can be confusing. By clarifying what each feature does and the differences in how they operate under-the-hood, this article is intended to help reduce that potential confusion and also reduce mean-time-to-resolution (MTTR) of issues.

This article also includes notes about the underlying protocols and client libraries that are leveraged in Social IT features. For example, Social IT makes heavy use of the CometD Bayeux protocol (known in ServiceNow as Asynchronous Message Bus or AMB) and Angular. These technologies are industry standard and used throughout the ServiceNow platform. However, they are included here because there is little other existing documentation to reference. In the future, these sections might be broken ouy into separate KB articles.





[Legacy] Chat (aka Help Desk Chat) - Released as a turnkey feature with CMS, the legacy chat feature enabled end users to request immediate assistance from a help desk agent in a live chat experience.

Live Feed/Company Feed - The original social feature. Live feed enables users to create rooms for certain discussion topics. Users can subscribe to Live Feeds to receive email updates. Users can be invited or removed from Live Feed groups.



Collaboration introduced

  • Collaboration enables colleagues to create live, chat-type conversations about a document (usually an incident). Users are able to "Follow" conversations that they are interested in.



Collaboration renamed Connect.

  • Connect Support: Replaced legacy chat (aka Help Desk Chat). Enables the management of multiple agent "queues" for real-time interaction with end users. It is enabled out-of-box as part of Service Portal. Requires some configuration to use Connect Support within the traditional Configuration Management, Employee Self-Service Site (<instance>.service-now.com/ess/).
  • Connect Chat: Rebranding and expansion of the document collaboration feature introduced in Fuji. Introduced the Chat Sidebar. This feature allows users to "Follow" or "Unfollow" a task.


UI16 introduced.

  • Live Forms
    • A general term used to describe real-time UI updates seen by User A but made by User B. This term includes features like Activity Stream and User Presence.
  • Activity Stream
    • Replaces the legacy Activities (filtered) field. Shows record of comments/work notes and specific tracked field changes to the record being viewed and displays them in a chronological list, grouping changes by time of update and user who made the update. Geneva introduces a live component to the field, allowing new updates to appear on the form in real time without a user needing to reload the form.
  • Record Presence (n.b. the term "record presence" is largely undocumented)
    • Anyone watching a form sees updates made to that form in real time without having to refresh the page
    • Accomplished by a feature called Asynchronous Message Bus (AMB) and RecordWatcher.
      • AMB uses a feature called "long-polling" that essentially allows the server to push messages to the client, reducing the need for a high frequency of shorter polling  requests.
      • A separate semaphore pool handles AMB traffic for any requests with /amb/ in the URL.
      • Each AMB request specifies a channel on which it is listening for the server to push some action.
    • On the backend, RecordWatcher keeps a register of all the existing channels, in essence tracking who is listening to what.
    • When a change to a record is detected, RecordWatcher lets all the listeners know about it.
  • User/UI Presence (UI16 feature)
    • User presence doc link
    • Provides the ability to see who is currently online by the inclusion of the user Avatar bubble throughout the UI. If a user is online, their Avatar displays a colored circle on the perimeter.


Performance and usability improvements.


Adds Connect Global Search capability so users can do keyword text search against historical conversations.


Common Issues 

  • PRB660301 - Performance degradation. User presence and live updates repetitively pull user information.
    • Severity: High
    • Frequency of occurrence: Common
    • Feature: User Presence
    • Fixed in: Helsinki Patch 0 Hotfix 3 and later
    • Workaround: For Geneva customers, set glide.ui.presence.time_back_minutes (in the sys_properties table) to 0.5. This reduces the frequency with which UI presence looks back for information about users on the current forum. Setting it to -1 will completely stop it.
    • Issue: General instance performance degradation, semaphores exhausted.

  • PRB663533 - User presence causes performance degradation when REST API queue depth becomes saturated.
    • Severity: High
    • Frequency of occurrence: Common
    • Feature: User Presence
    • Fixed in: See PRB663533
    • Workaround: See KB0584123
    • Issues: General instance performance degradation, semaphores exhausted.

  • PRB675038 - Form performance is slower in Geneva due to form presence, form live updates, activity stream and template bar.
    • Severity: High
    • Frequency of occurrence: Common
    • Feature: User Presence, Record Presence, Activity Stream
    • Fixed in: Geneva Patch 7
    • Workaround: None
    • Issues
      • Template bar is loading when it should not (as opposed to template bar loading slowly, which is a different PRB).
      • Activity stream load time when there are lots of entries (> 20), including when it freezes the screen.
      • Form does lots of loading before the activity stream even starts to load.

  • PRB682848 - Request to /api/now/collaborators/all are slow for large conversation lists.
    • Severity: High
    • Frequency of occurrence: Common
    • Affects Geneva & Helsinki
    • Targeted to be fixed in GP7HF2, GP8+, HP3+
    • Workaround: None
    • Issues: Various forms will appear to "freeze"


Transaction Types

These have changed over different versions. If something becomes obsolete, the version should be noted whereever possible.

User/UI PresenceTwo actions: (1) Update presence info for a user or (2) Get a list of active usersPresenceNo/api/now/ui/presenceActive users are stored in a cache backed by the sys_user_presence table
VTB [full page]?DefaultNo/$vtb
VTB [card move]Moving a card from one swim lane to anotherREST (API_INT)No ?
VTB [mutation]?AMBYes/vtb/<channel_id>
Record Presence?AMBYes/rw/<channel_id>There are two initial REST requests to subscribe to and then get channel info.
POST Default?/amb/ Request payload contains specific subscribe/unsubscribe information and channel address: sn/rp/<table_name>/<sys_id>
Connect Desktop [full page]Open Collaborate > Connect ChatDefaultNo/$c.do 
Connect Support ?DefaultNo/api/now/connect/messages/conversation ?
?Default /api/now/connect/support/sessions 
Default /api/now/connect/support/queues/<sys_id>Check a certain queue for waiting users
Connect ChatPOSTDefault?/amb/connectLong polling transaction that waits for a response 20 seconds by default
Connect - Activity Stream?DefaultYes/api/now/ui/history
Live Forms     
List V3 - record presence?AMBYes Turned off by default for Helsinki.
List V3 - user presence?DefaultNo Turned off by default in  Helsinki.
Fuji - Collaboration?Default /angular.doRebranded and improved as Connect in Geneva. GET request. sysparm_type indicates action type. "short poll" frequency controlled by glide.short_poll_delay



Troubleshooting Tips


Recording Network Traffic as a HAR File

Many Social IT features rely heavily on the client-side for their execution. In order to diagnose these issues, information about what is happening in the end user's browser must be captured. One troubleshooting method that can help narrow down what is happening on the client-side is to record the details of the network traffic so it can be analyzed by ServiceNow.


  1. From the Chrome menu (top right corner), choose Tools > Developer Tools.

  2. Click the Network tab.

  3. Start opening pages.

    The log should clear every page open. If you need to preserve the logs, click the Preserve log checkbox below the tabs.

  4. If you see the time lag, go to the Developer tool, right-click the entry, and choose Save As HAR with Content from the context menu.

    Make sure the file has a .har file extension.


  1. Press Ctrl+Shift+Q to display the Network developer tool.

  2. Reproduce the issue.

  3. Right-click anywhere in the resulting waterfall and choose Save as HAR in the context menu.

    Make sure to add the file extension .har to the filename.

Internet Explorer

  1. Press the F12 key.

    A component appears at the bottom of the screen.

  2. Click the Network tab and press the green triangle (Play button).

  3. Reproduce the issue.

  4. To save, press the red square (stop button) and click the disk arrow icon directly to the right.

    Only Microsoft Edge supports the HAR format. IE offers export only as an XML or CSV file. You can view CSV files in a spreadsheet tool such as Excel, or view XML files in any tool that can read HTTP Archive files, such as the Chrome extension HTTP Archive Viewer.

To View the HAR file log

To view the HAR file log, you need a viewer application.

  1. Install the Google Chrome extension HTTP Archive Viewer or download this viewer from http://www.softwareishard.com/har/viewer/.
  2. Remove the checkmark from Validate data before processing?.
  3. Drag the HAR file inside the Preview box.



Troubleshooting Angular


Examining Scope via Real-Time JavaScript execution

You can use the Javascript console in your browser debugger to access the scope() method of any NG-enabled HTML object on the page.

For example, the following query will access a <div class="modal-dialog">, grab the scope, go up two levels to the parent.parent scope, and fire a broadcast of the event that starts the Support Chat client idle timer countdown.
angular.element(document.querySelector(".modal-    dialog")).scope().$parent.$parent.$broadcast('connect.support.client.idle');

In Chrome, you can use the Inspect Element feature to preload a desired HTML element into the $0 object. The the following would yield the scope of the element you have inspected:




Article Information

Last Updated:2018-03-12 03:49:06