Atlassian uses cookies to improve your browsing experience, perform analytics and research, and conduct advertising. Accept all cookies to indicate that you agree to our use of cookies on your device. Atlassian cookies and tracking notice, (opens new window)
/
About the EmpowerID Orchestration Pack for ServiceNow
The EmpowerID Orchestration Pack for ServiceNow provides ServiceNow process designers with workflow activities, web services, and example workflows to embed EmpowerID capabilities within their ServiceNow business processes. EmpowerID includes a job that synchronizes and maintains an up-to-date list of requestable groups and roles from the EmpowerID Identity Warehouse to custom tables in your ServiceNow tenants. Using the embedded EmpowerID workflow activities in your ServiceNow workflows, users can request access to entitlements in any EmpowerID-connected system from the familiar ServiceNow Service Catalog. In addition, the Orchestration Pack provides the ability to integrate an AI-powered chatbot virtual assistant, the EmpowerID Bot, into ServiceNow. With the bot, users can perform secure self-service, such as resetting their passwords, at any time within the ServiceNow portal.
The orchestration pack allows you to incorporate the power of EmpowerID’s Compliant Access Delivery platform into your business processes, enhancing those processes with the end-to-end security of EmpowerID. This ensures that only users with the necessary access level can initiate any ServiceNow business process that uses the activities within the pack, routing those processes for further approval where necessary. Upon approval, immediate fulfillment occurs in ServiceNow and any other target systems. EmpowerID maintains an audit log of these processes that is permanently stored in the Identity Warehouse with the details of “who, what, where, and when.” This gives you visibility over any activity occurring in ServiceNow that uses the workflow activities in the orchestration pack.
Example Workflows
Example workflows included in the orchestration pack include those listed below. While these example workflows can be used in production without modification, they are intended to be leveraged by ServiceNow process designers in existing and future workflows. For an example of using an EmpowerID workflow as a subflow for another workflow, see Extend ServiceNow with the Orchestration Pack.
EID – New Hire
This workflow is built to create a new user using the EmpowerID APIs. The workflow invokes the Admin Approval activity when a new hire request is submitted. Currently, this is a placeholder activity that sends an approval request to the system administrator to demonstrate approvals. Once approved by the system admin (If rejected, the request is marked as “closed incomplete,” and the workflow ends.), the workflow proceeds to execute the Run Script block. This block receives the input parameters from the submitted request form and triggers the API call to EmpowerID using these details. The details about the API call can be found in the Integrations section of this document. Once the call is made, the request is marked as “closed complete,” and the workflow ends.
EID – Add User to Group
This workflow is built to add users to a group within EmpowerID. When a request is submitted using this workflow, it runs a script block named “Subflow variable mapping”. This is an important step in case we want to use the EmpowerID workflow as a subflow in an existing customer workflow. The second step is the Approval activity, which is currently approved by the system administrator. Once approved (if rejected, the workflow sets the state of the request as “closed incomplete” and ends here), the workflow continues to the third step, which is where the actual API call to EmpowerID is made with all required parameters. Please refer to this article's Integrations section to know the API's details. After a successful call, the workflow marks the state of the RITM as “Closed Complete” and ends.
EID – Request Management Role
This workflow is built to associate a management role to a user within EmpowerID for a specified duration of time. At the very beginning, the workflow runs a script block that deals with variable mapping in the case when this workflow is being used as a subflow. The second step is the approval activity, which is currently approved by the system administrator. Once approved (if rejected, the workflow sets the state of the request as “closed incomplete” and ends here), the workflow continues to the third step, which is where the actual API call to EmpowerID is made with all required parameters. Please refer to this document's Integrations section to know more about the API's details. After the successful call, workflow marks the state of the RITM as “Closed Complete” and ends.
Data Model
The Orchestration Pack data model includes custom Groups and Management Roles data required for the EmpowerID workflows. In order to keep customer namespace uncluttered, EmpowerID does not use the default out-of-the-box tables for groups and roles, as many EmpowerID-specific attributes need to be maintained. The data for these custom tables is updated by EmpowerID via inbound API.
Tables
Groups (x_36687_eid_groups)
Management Roles (x_36687_eid_management_roles)
Groups (x_36687_eid_groups)
Management Roles (x_36687_eid_management_roles)
Column Label
Column Name
Type
Column Label
Column Name
Type
Group GUID (PK)
group_guid
String
Management Role GUID (PK)
management_role_guid
String
Name
name
String
Name
name
String
Distinguished Name
distinguished_name
String
Friendly Name
friendly_name
String
Is High Security Group
is_high_security_goup
Boolean
Email
email
String
Auto Accept Join Leave Request
auto_accept_join_leave_requests
Boolean
Is High Security
is_high_security
Boolean
Group Usage Type Friendly Name
group_usage_type_friendly_name
String
Auto Accept Join Leave Request
auto_accept_join_leave_requests
Boolean
Friendly Name
friendly_name
String
Requestable
requestable
Boolean
Logon Name
logon_name
String
Risk Factor Total
risk_factor_total
Integer
Account Store Friendly Name
account_store_friendly_name
String
Valid From
valid_from
Date/Time
Allow Join Requests
allow_join_requests
Boolean
Valid Until
valid_until
Date/Time
Email
email
String
Description
description
String
Valid From
valid_from
Date/Time
Instructions
instructions
String
Valid Until
valid_until
Date/Time
Owner Assignee ID
owner_assignee_id
String
Description
description
String
Owner Login Name
owner_login_name
String
Notes
notes
String
Owner Friendly Name
owner_friendly_name
String
Owner Assignee ID
owner_assignee_id
String
Owner Email
owner_email
String
Owner Login Name
owner_login_name
String
Extension Attribute 1
extension_attribute_1
String
Owner Friendly Name
owner_friendly_name
String
Extension Attribute 2
extension_atrtibute_2
String
Owner Email
owner_email
String
Extension Attribute 3
extension_attribute_3
String
Extension Attribute 1
extension_attribute_1
String
Extension Attribute 4
extension_attribute_4
String
Extension Attribute 2
extension_attribute_2
String
Extension Attribute 5
extension_attribute_5
String
Extension Attribute 3
extension_attribute_3
String
Extension Attribute 6
extension_attribute_6
String
Extension Attribute 4
extension_attribute_4
String
Extension Attribute 7
extension_attribute_7
String
Extension Attribute 5
extension_attribute_5
String
Extension Attribute 8
extension_attribute_8
String
Extension Attribute 6
extension_attribute_6
String
Extension Attribute 9
extension_attribute_9
String
Extension Attribute 7
extension_attribute_7
String
Extension Attribute 10
extension_attribute_10
String
Extension Attribute 8
extension_attribute_8
String
Extension Attribute 11
extension_attribute_11
String
Extension Attribute 9
extension_attribute_9
String
Extension Attribute 12
extension_attribute_12
String
Extension Attribute 10
extension_attribute_10
String
Extension Attribute 13
extension_attribute_13
String
Extension Attribute 11
extension_attribute_11
String
Extension Attribute 14
extension_attribute_14
String
Extension Attribute 12
extension_attribute_12
String
Extension Attribute 15
extension_attribute_15
String
Extension Attribute 13
extension_attribute_13
String
Sys ID
sys_id
Sys ID (GUID)
Extension Attribute 14
extension_attribute_14
String
Updates
sys_mod_count
Integer
Extension Attribute 15
extension_attribute_15
String
Updated By
sys_updated_by
String
Sys ID
sys_id
Sys ID (GUID)
Updated
sys_updated_by
String
Updates
sys_mod_count
Integer
Updated By
sys_updated_by
String
Updated
sys_updated_by
String
Integrations
The EmpowerID Orchestration Pack has a number of inbound and outbound integration APIs defined. These integrations form the core of communication between ServiceNow and EmpowerID. The API includes the following HTTP methods for the EmpowerID components affected by the activities and workflows of the Orchestration Pack. This information is included as reference material. To view it, expand the headings.
Authentication
Use basic authentication and admin user’s credentials
Read Management Roles
GetMgmtRolesGUID
This endpoint retrieves a list of Management Roles currently present in ServiceNow.
HTTP Request
Method: GET
GET https://{FQDN_Of_Your_ServiceNow_Instance}/api/x_36687_eid/eid/getMgmtRolesGuid
Header Key/Value Pairs
Key
Value
Key
Value
X-UserToken
Your access token
Accept
application/json
Content-Type
application/json
Response
Status Code 200 OK
Header Key/Value Pairs
Key
Value
Key
Value
Cache-Control
Your access token
Content-Encoding
gzip
Content-Type
application/json;charsetUTF-8
Date
Date / Time GMT
Expires
0
Pragma
no-store,no-cache
Server
ServiceNow
Strict-Transport-Security
max-age63072000; includeSubDomains
Transfer-Encoding
chunked
X-Is-Logged-In
true
X-Transaction-Id
85d3c5addb2u8
Response Body
JSON object containing a list of Management Role GUIDs.
There are 3 main tasks performed in EmpowerID workflows within ServiceNow that are accomplished by making an API call to EmpowerID application. These tasks are as below:
Create Employee
Assign Group
Assign Management Role
To invoke the above API calls, the identity making the call must have a valid token. For information on getting a token, see Getting an Access Token.