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
Parameter | Description |
---|---|
Enable password reset | Enable the system for self-service password reset |
Password policy | Indicate a password policy for the ServiceNow |
Provisioning claims validity | Enter 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 validity | Enter the number of days a failed provisioning claim is valid |
Account deletion unsupported | Check this option if account deletion should not be supported |
Provisioning configuration
Parameter | Description |
---|---|
Base address | Specify the server address. |
API root | Specify the relative address for the ServiceNow Table API. The default value is: api/now/table |
Authentication type | The 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 protocol | Security protocol of your REST system. |
Timeout in seconds | Specify the timeout value in seconds. |
Basic authentication
Parameter | Description |
---|---|
Username | The username for the user to authenticate with the service. |
Password | The password for the user to authenticate with the service. |
OAuth2 authentication
Parameter | Description |
---|---|
URL for Authorization token | The URL address for the Authorization token. Configured during ServiceNow OAuth Setup. |
OAuth Grant Type | The type of OAuth2 Grant used for authorization. Password credentials is the recommended authorization type. Possible grants: Password credentials, JWT bearer |
OAuth Client ID | The Client ID, configured during ServiceNow OAuth Setup. |
OAuth Client Secret | OAuth Client Secret, configured during ServiceNow OAuth Setup. |
OAuth Resource | OAuth Resource Owner. Not required, can be left blank. |
OAuth Token Revoke URL | URL address for the Token Revoke. Not required, can be left blank. |
Token cache policy | The 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
Parameter | Description |
---|---|
Username | The username for the ServiceNow user to authenticate with. |
Password | The password for the ServiceNow user. |
ServiceNow settings
These settings allow you to configure the requests sent to the ServiceNow.
Parameter | Description |
---|---|
Create items in one request | Specify 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 model | This setting need to be enabled if the ServiceNow instance has two step checkout enabled. |
Block parallel cart access for all connector instances | Select 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 table | Path to the request object table in Service Now Table API. |
Path to request items table | Path to the request item object table in Service Now Table API. |
Request status field | Specify the field in the request that will be used to determine the request’s state. The default property is ‘requested_state’. |
Request message field | Allows you to retrieve a message added to the request. |
Request pending values | Specify the values of the request that set it as pending. The default values are ‘requested’ and ‘in_process’. |
Request failed values | Specify the values of the request that set it as failed. The default values are ‘closed_cancelled’, ‘closed_rejected’, and ‘closed_skipped’. |
Request partially completed values | Specify the values of the request that set it as partially completed. The default values are ‘closed_incomplete’. |
Request completed values | Specify the values of the request that set it as completed. The default values are ‘closed_complete’. |
Request item status field | Specify the field in the request item that will be used to determine the request’s state. The default property is ‘state’. |
Request item message field | Allows you to retrieve a message added to the request item. |
Request item pending values | Specify the values of the request item that set it as pending. The default values are ‘-5’, ‘1’, and ‘2’. |
Request item failed values | Specify the values of the request item that set it as failed. The default values are ‘4’ and ‘7’. |
Request item completed values | Specify the values of the request item that set it as completed. The default values are ‘3’. |
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.
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.