Skip to content
Release: Australia · Updated: 2026-03-12 · Official documentation · View source

UniversalRequestUtilsSNC- Scoped

The UniversalRequestUtilsSNC API enables handling universal request life cycles. Provided as a script include record.

This API requires the Universal Request (com.snc.universal_request) plugin and is provided within the sn_uni_req namespace.

For information, refer to Universal Request.

Parent Topic:Server API reference

UniversalRequestUtilsSNC - createUniversalRequest(Object copyFields)

Creates a universal request and returns the sys_id of the newly created universal request record.

This method is called using the UniversalRequestUtils prototype in the sn_uni_req namespace. For example, sn_uni_req.UniversalRequestUtils().createUniversalRequest(<copyFields>).

NameTypeDescription
copyFieldsObject

JSON object containing field names and values to set on a new record in the Universal Requests [universal_request] table.Provide details by field name and field value in the format { '<field_name>': '<field_value>' }. The following fields are considered the most useful details to assign to a primary ticket.

{
  'assignment_group': 'String',
  'assigned_to': 'String',
  'contact_type': 'String',
  'description': 'String',
  'opened_by': 'String',
  'opened_for': 'String',
  'priority': 'String',
  'restricted': Boolean,
  'short_description': 'String'
};

Other fields not listed might be eligible for your use case. For a list of table fields and related fields in the system, view the Data dictionary tables.

Note: Do not include the primary_ticket or sys_id fields in the copyFields JSON object.

copyFields.assignment\_groupStringOptional. Sys\_id of the group assigned to the resource.Default: Default assignment group is set per assignment rules. Table: Group \[sys\_user\_group\] table.
copyFields.contact\_typeStringOptional. Method by which the resource was initially reported.Possible values: - chat - email - phone - social - web Maximum length: 40
copyFields.descriptionStringOptional. Detailed description of the problem associated with the resource.Maximum length: 4,000
copyFields.opened\_byStringOptional. Sys\_id of the person that initially opened the resource. Located in the User \[sys\_user\] table.
copyFields.opened\_forStringOptional. Required for HR Service Delivery cases. The sys\_id of the user for whom the resource was opened.
copyFields.priorityStringOptional. Priority of the resource. Specified as a number.Possible values: - 1: Critical - 2: High - 3: Moderate - 4: Low Default: 3
copyFields.restrictedBooleanOptional. Flag that indicates if the universal request has restricted access. Refer to Universal Request roles and groups. Valid values: - true: Universal request is only accessible to users with the `sn_uni_req.sensitiveinfo_agent` role. Users with this role have permissions to view sensitive information, such as payroll details. - false: Universal request access is unrestricted. Default: false
copyFields.short\_descriptionStringConcise description of the resource.Maximum length: 160
TypeDescription
StringSys_id of the newly created universal request record.

The following example shows how to set fields on a new universal request. In this use case, this code is added to the beginning of the Inbound Email Actions [sysevent_in_email_action] scoped Create HR Case script. If the case doesn't apply to HR, agents can transfer the case to the appropriate department.

var copiedFields = {
  'opened_for': "<user_sys_id>",    
  'short_description': email.subject,
  'restricted': false,
  'priority': '1'
};

// createUniversalRequest() must be called to create the universal request prior to creating the child case

var ur = new sn_uni_req.UniversalRequestUtils().createUniversalRequest(copiedFields);
current.universal_request = ur;