Unique record identifier (sys_id)

  • Release version: Washingtondc
  • Updated February 1, 2024
  • 2 minutes to read
  • A unique 32-character GUID (Globally Unique ID), called a Sys ID (sys_id) identifies each record in an instance. There are various ways a record is assigned a sys_id.

    When created within the application, sys_id values are unique. The ServiceNow AI Platform and database should manage all operations on sys_id values. The same sys_id value is never generated twice, which ensures that every record created in every table in every instance in the world has a unique identifier. If two records have the same sys_id value, it occurs as a result of the following situations:
    • If a record with the sys_id was copied to the other at the database level outside of the ServiceNow AI Platform.
    • If a record with the sys_id was copied using an Update Set or via XML, its sys_id is the same.

    Note:
    A new record has a sys_id of -1, and once inserted, it is assigned a new sys_id. The sys_id is not meant to show as a field on a form or as a column in a list. To learn more, see the Users are unable to add the sys_id field to a form or list view [KB0690876] article in the Now Support Knowledge Base.

    Get the sys_id from the header bar

    Users can locate the sys_id of a record using the header bar.

    Procedure

    1. Navigate to the record.
    2. Right click the header bar and select Copy URL.

      The sys_id is inside of the URL, after the parameter sys_id=. For example, the following is a URL for an Incident:

      https://<instance name>.service-now.com/nav_to.do?uri=incident.do?sys_id=9d385017c611228701d22104cc95c371

      Therefore the sys_id is 9d385017c611228701d22104cc95c371.

    Get the sys_id from a script

    Users can locate the sys_id of a record using a script.

    Procedure

    • The sys_id value of a record can be found in a business rule (or any other server-side JavaScript) by dot-walking from the GlideRecord.
      var id = current.sys_id;
    • The sys_id of a record can be found in client-side JavaScript using g_form.getUniqueValue() as shown in the following example.
      function onLoad() {
          var incSysid = g_form.getUniqueValue();
          alert(incSysid);
      }

    Get the sys_id from the URL

    Users can locate the sys_id of a record by viewing the URL.

    About this task

    Since the sys_id of a record is always part of the URL for a link to that record, it is possible to retrieve the sys_id by viewing the URL.

    Procedure

    View the sys_id in the information bar of the browser by hovering over a link to the record.
    For example, an Incident with the following URL: https://<instance name>.service-now.com/nav_to.do?uri=incident.do?sys_id=23dc968f0a0a3c1900534f399927740e, has this sys_id: 23dc968f0a0a3c1900534f399927740e.
    Example sys_id