If your organization has successfully integrated EmpowerID with ServiceNow, you have the ability to automate the creation of Request tickets in ServiceNow whenever a Business Request is initiated in EmpowerID. This allows organizations utilizing ServiceNow for their IT Service Management (ITSM) to maintain a comprehensive record of all EmpowerID-originated requests within ServiceNow. This record includes essential details such as the request's status, the requester's identity, the request's timestamp, information on approvals or rejections, and any associated comments. This task-based help topic guides you through the steps required to enable this feature in EmpowerID.
Architectural Overview
Understanding the architectural elements involved in the EmpowerID and ServiceNow integration provides a foundational framework for effective implementation and management. This section outlines the key architectural components and how they interact to enable automatic ticket generation in ServiceNow based on Business Requests initiated in EmpowerID.
Business Request Type
The Business Request Type is a critical element of EmpowerID’s Approval Flow engine. It allows organizations to define specific approval processes that should be triggered when users request access to resources.
ITShop Business Request Type
For Business Requests originating from EmpowerID's IAM Shop, such as requests for group or Management Role memberships, the relevant Business Request Type is the "ITShop" Business Request Type. This type is equipped with multiple configurable settings to integrate ServiceNow ticketing with the IAM Shop.
Workflow to Run on Step Ready: Specifies the workflow to initiate when a step in an Approval Flow policy is ready for an approval decision. For ServiceNow integration, the default workflow is the “CreateSnowRequestForBR” workflow.
Workflow to Run on Fulfillment: Dictates which workflow is triggered when a Business Request receives approval. In the context of ServiceNow integration, the default workflow is also the "CreateSnowRequestForBR" workflow.
Pre-Approval Step Workflow Job
The Pre-Approval Step Workflow Job is a scheduled activity in EmpowerID responsible for claiming Business Requests that have been configured to start a workflow when a Business Request is opened. The job groups together claimed Business Requests that share the same “PreStepRequestWorkflowID” and initiates the designated workflow with a list of Business Requests. For ServiceNow ticket integration, the workflow is the aforementioned "CreateSnowRequestForBR" workflow.
CreateSnowRequestForBR Workflow
This specialized workflow serves as the conduit between EmpowerID and ServiceNow. It communicates with the ServiceNow API to create corresponding ServiceNow Request and Request Item records for each Business Request and its associated Business Request Items initiated in EmpowerID.
UpdateSNOWRequestStatus Workflow
As a continuous, permanent workflow, the UpdateSNOWRequest Status Workflow ensures that the status and metadata of Business Requests are kept synchronized between EmpowerID and ServiceNow. This synchronization is vital for maintaining an accurate and up-to-date record of requests and their statuses in both systems.
Process Flow
The below illustration depicts the process flow for this. A description follows the illustration.
Users request access to resources, such as group or Management Role membership, from the EmpowerID IAM Shop. This action creates a Business Request with Business Request Items in EmpowerID.
The Pre-Approval Step Workflow Job calls the SQL Stored Procedure Custom_BusinessRequest_ClaimForPreApprovalStepWorkflow to claim Business Requests that meet the following conditions
The Business Request has yet to be successfully processed.
The value of the PreStepRequestWorkflowID is not null.
The CreateSnowRequestForBR workflow validates the Business Request and sets the process status to one of the following values based on the validation result:
If processing is successful, the process status is set to 2.
If processing fails, the process status is set to 3, and the workflow sets the next attempt based on the number of tries, ensuring the system retries the processing in case of failures.
Upon successful processing, the CreateSnowRequestForBR workflow creates corresponding Request and Request Items in ServiceNow for each EmpowerID Business Request and Business Request Item configured with the workflow. Approval Tasks are registered in EmpowerID and routed to the designated approvers as approval tasks in the EmpowerID My Tasks Microservice.
Process details for syncing EmpowerID Business Requests and Business Request Items with ServiceNow Requests and Request Items are as follows:
Business Requests
To associate ServiceNow Requests with EmpowerID Business Requests, the workflow creates ServiceNow Requests with the following pre-defined values from EmpowerID:ServiceNow Fields
EmpowerID Fields
Active
True
State
Pre-defined state value from permanent workflow (field name:
SNOWState
)Priority
Pre-defined priority value from permanent workflow (field name:
SNOWPriority
)Approval
Pre-defined approval value from permanent workflow (field name:
SNOWApproval
)Opened_by
Business Request initiator
Requested_for
Target Person of Business Request
Description
Pre-defined description value from permanent workflow (field name:
SNOWRequestDescription
)Short Description
Pre-defined short description value from permanent workflow (field name:
SNOWRequestShortDescription
)
Additionally, the workflow retrieves the GUID for each created ServiceNow Request and inserts them into the EmpowerID Business Request:ServiceNow Request Value
EmpowerID Business Request Value
GUID
ExternalProcessID
Request Number
ExternalProcessNumber
snowResourceSystem.ResourceSystemGUID
ExternalResourceSystemID
Business Request Items
To associate ServiceNow Request Items with EmpowerID Business Request Items, the workflow creates ServiceNow Request Items with the following pre-defined values from EmpowerID:SNOW Fields
EID Fields
Active
True
State
Pre-defined state value from permanent workflow (field name:
SNOWState
)Priority
Pre-defined priority value from permanent workflow (field name:
SNOWPriority
)Approval
Pre-defined approval value from permanent workflow (field name:
SNOWApproval
)Opened_by
Business Request initiator
Request
SNOW Request GUID
Cat_item
Pre-defined approval value from permanent workflow (field name:
SNOWRequestedItemIdentifier
)Requested_for
Target Person of Business Request
Description
Pre-defined description value from permanent workflow (field name:
SNOWRequestedItemDescription
)Short Description
Pre-defined short description value from permanent workflow (field name:
SNOWRequestedItemShortDescription
)
Additionally, the workflow retrieves the GUID for each created ServiceNow Request Item and inserts them into the EmpowerID Business Request Item:ServiceNow Request Value
EmpowerID Business Request Value
GUID
ExternalProcessID
Request Number
ExternalProcessNumber
snowResourceSystem.ResourceSystemGUID
ExternalResourceSystemID
User or system approves/rejects the Business Request or one or more Business Request Items.
The UpdateSNOWRequestStatus fetches the status of the Business Request and Business Request Items and updates the state of the corresponding ServiceNow Request and Request Items.
Business Requests
The workflow checks the value ofBusinessRequestStatusID
and updates the ServiceNow Request based on that value. If the HTTP request is successful, the workflow sets theExternalProcessStatus
to2
; otherwise, it sets it to3
.EmpowerID Business Request Value
ServiceNow Request Value
Approved
Approved
Partially Approved
Approved
Rejected
Rejected
Cancelled
Cancelled
Business Request Items
EmpowerID checks the value ofBusinessRequestItemStatusID
and updates the ServiceNow Request Item based on that value. If the HTTP request is successful, the workflow sets theExternalProcessStatus
to2
; otherwise, it sets it to3
.EmpowerID Business Request Item Value
ServiceNow Request Item Value
Approved
Approved
Rejected
Rejected
Cancelled
Cancelled
If the Business request Item has an approver in EmpowerID, the workflow assigns the same approver to the associated ServiceNow Request Item and sets the approval state to “requested in ServiceNow.