Skip to main content

Data provisioning

Prerequisites

In the Provisioning section of the system configuration, in the Enable provisioning dialog, select the ServiceNow ITSM Relay Connector (Service Catalog) Connector as the provisioning connector.

General settings

ParameterDescription
Enable password resetEnable the system for self-service password reset
Password policyIndicate a password policy for the ServiceNow
Provisioning claims validityEnter the number of days a provisioning claim is valid.

If this field is set to 0 or empty, the provisioning claim is not valid and the provisioning call is sent once more.
Failed provisioning claims validityEnter the number of days a failed provisioning claim is valid
Account deletion unsupportedCheck this option if account deletion should not be supported

Provisioning configuration

ParameterDescription
Base addressSpecify the server address.
API rootSpecify the relative address for the ServiceNow Table API. The default value is: api/now/table
Authentication typeThe type of authentication to use for the REST system. Depending on the type of authentication that you choose to use, you may see more or fewer settings.

The available options are:

Basic – username and password are required.
None – there are no authentication headers.
OAuth2 – all OAuth mandatory * fields must be completed with proper values. These values can be configured during ServiceNow OAuth Setup.
Security protocolSecurity protocol of your REST system.
Timeout in secondsSpecify the timeout value in seconds.

Basic authentication

ParameterDescription
UsernameThe username for the user to authenticate with the service.
PasswordThe password for the user to authenticate with the service.

OAuth2 authentication

ParameterDescription
URL for Authorization tokenThe URL address for the Authorization token. Configured during ServiceNow OAuth Setup.
OAuth Grant TypeThe type of OAuth2 Grant used for authorization.

Password credentials is the recommended authorization type.

Possible grants: Password credentials, JWT bearer
OAuth Client IDThe Client ID, configured during ServiceNow OAuth Setup.
OAuth Client SecretOAuth Client Secret, configured during ServiceNow OAuth Setup.
OAuth ResourceOAuth Resource Owner. Not required, can be left blank.
OAuth Token Revoke URLURL address for the Token Revoke. Not required, can be left blank.
Token cache policyThe token cache policy, with the following options available:

Never cache – we should not cache the token,
Always cache – get the token once and store always,
Expiration interval – expire the token after some time interval (in seconds).

Password credentials Grant

ParameterDescription
UsernameThe username for the ServiceNow user to authenticate with.
PasswordThe password for the ServiceNow user.

ServiceNow settings

These settings allow you to configure the requests sent to the ServiceNow.

ParameterDescription
Create items in one requestSpecify if a single request should be created for a several items (RITM objects) or each item should have separate request.
Use the two step catalog checkout modelThis setting need to be enabled if the ServiceNow instance has two step checkout enabled.
Block parallel cart access for all connector instancesSelect this option if you use the ServiceNow connector for several systems with the same account. Selecting this option ensures that the systems will not interfere with each other accessing the ServiceNow shopping cart.
Path to requests tablePath to the request object table in Service Now Table API.
Path to request items tablePath to the request item object table in Service Now Table API.
Request status fieldSpecify the field in the request that will be used to determine the request’s state. The default property is ‘requested_state’.
Request message fieldAllows you to retrieve a message added to the request.
Request pending valuesSpecify the values of the request that set it as pending. The default values are ‘requested’ and ‘in_process’.
Request failed valuesSpecify the values of the request that set it as failed. The default values are ‘closed_cancelled’, ‘closed_rejected’, and ‘closed_skipped’.
Request partially completed valuesSpecify the values of the request that set it as partially completed. The default values are ‘closed_incomplete’.
Request completed valuesSpecify the values of the request that set it as completed. The default values are ‘closed_complete’.
Request item status fieldSpecify the field in the request item that will be used to determine the request’s state. The default property is ‘state’.
Request item message fieldAllows you to retrieve a message added to the request item.
Request item pending valuesSpecify the values of the request item that set it as pending. The default values are ‘-5’, ‘1’, and ‘2’.
Request item failed valuesSpecify the values of the request item that set it as failed. The default values are ‘4’ and ‘7’.
Request item completed valuesSpecify the values of the request item that set it as completed. The default values are ‘3’.
note

The status values described above are only the default values. You can define your custom status values to suit your ServiceNow configuration.

Advanced settings

The Advanced settings dialog for the ServiceNow Relay connector also features a special Relaying tab in. The following are the available parameters:

  • Poll frequency (hours) - specify how often the OPS polls (asks) for the job status.
  • Poll timeout (days) - specify the number of days after which the OPS will stop the above polling and set the job to failed.

Blocking parallel processing

The General tab includes an option to block parallel processing. When this option is selected, only one job for this system is processed at the same time (there is always only 1 job with the processing status as maximum).

The behavior is different than setting the concurrent connections number to 1 - the concurrent connections setting is used by each Omada Provisioning Service (OPS) instance independently. If there are several OPS instances running, they can still process jobs in parallel. The Block parallel processing option checks the status of the jobs on the database level. All jobs are processed sequentially (one by one), even in the multi-OPS setup.

important

In most cases, this setting should be set to false to improve performance. Use it in rare scenarios, when the target system doesn't support actions coming from different jobs in parallel.

Data model

The default data model contains only samples for requesting a new email, laptop with additional software and resources requiring the requested_for attribute.

<connectorDataModel xmlns="http://schemas.omada.net/ops/2015/ConnectorDataModelML" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<properties>
<!-- common -->
<property dataType="stringType" name="cat_item_sys_id"/> <!--Catalog item sys_id - used to resolve URL -->
<property dataType="intType" name="sysparm_quantity"/>
<property dataType="referenceType" name="variables.requested_for"/>
<!-- end common -->

<!-- emails -->
<property dataType="stringType" name="variables.new_email"/>
<!-- end emails -->

<!-- laptops -->
<property dataType="stringType" name="variables.Additional_software_requirements"/>
<!-- end laptops -->
</properties>
<objects>
<object name="default">
<objectDetails>
<objectDetail name="ResourcePath" value="/sn_sc/servicecatalog/items/{cat_item_sys_id}/order_now"/>
<objectDetail name="VerbForCreate" value="POST"/>
<objectDetail name="VerbForUpdate" value="POST"/>
<objectDetail name="VerbForDelete" value="POST"/>
</objectDetails>
<objectProperties>
<objectProperty>cat_item_sys_id</objectProperty>
<objectProperty>sysparm_quantity</objectProperty>
<objectProperty referenceObject="now/table/sys_user" referenceLookupProperty="user_name" referenceKeyProperty="sys_id">variables.requested_for</objectProperty>
</objectProperties>
</object>
<object name="emails">
<objectDetails>
<objectDetail name="ResourcePath" value="/sn_sc/servicecatalog/items/{cat_item_sys_id}/order_now"/>
<objectDetail name="VerbForCreate" value="POST"/>
<objectDetail name="VerbForUpdate" value="POST"/>
<objectDetail name="VerbForDelete" value="POST"/>
</objectDetails>
<objectProperties>
<objectProperty>cat_item_sys_id</objectProperty>
<objectProperty>sysparm_quantity</objectProperty>
<objectProperty referenceObject="now/table/sys_user" referenceLookupProperty="user_name" referenceKeyProperty="sys_id">variables.requested_for</objectProperty>
<objectProperty>variables.new_email</objectProperty>
</objectProperties>
</object>
<object name="laptops">
<objectDetails>
<objectDetail name="ResourcePath" value="/sn_sc/servicecatalog/items/{cat_item_sys_id}/order_now"/>
<objectDetail name="VerbForCreate" value="POST"/>
<objectDetail name="VerbForUpdate" value="POST"/>
<objectDetail name="VerbForDelete" value="POST"/>
</objectDetails>
<objectProperties>
<objectProperty>cat_item_sys_id</objectProperty>
<objectProperty>sysparm_quantity</objectProperty>
<objectProperty referenceObject="now/table/sys_user" referenceLookupProperty="user_name" referenceKeyProperty="sys_id">variables.requested_for</objectProperty>
<objectProperty>variables.Additional_software_requirements</objectProperty>
</objectProperties>
</object>
</objects>
</connectorDataModel>

Task mappings

There are no task mappings provided by default. Depending on the array of attributes used to fill the variable properties the task mappings should be added accordingly.