# Configuring SailPoint for BMC Helix ITSM Service Desk

In SailPoint, configure the following items for your BMC Helix ITSM Service Desk integration:

- [Ticket Creation](<#ticket-creation>)
- [Status Mapping](<#status-mapping>)
- [Requester Source](<#requester-source>)

On the Summary page you can review the general settings and parameters for the connectivity and authentication.

## Ticket Creation

The information provided in this section is used to create a ticket on the managed BMC Helix ITSM system. You can customize this information by adding fields as required.

These tickets contain information that can be used by IT, compliance auditors, and executive management.

**Supported Ticket Types:**

- Incident
- Change Request
- Service Request
- DWP Service Request (Supported only for BMC Helix ITSM version 21.3)

### Incident

> [!NOTE]
>
> **Screenshot**
>
> [![Incident ticket creation](<https://documentation.sailpoint.com/connectors/service_desk_integrations/bmc_helix_itsm/help/img/ticket_creation_incident.png>)](<https://documentation.sailpoint.com/connectors/service_desk_integrations/bmc_helix_itsm/help/img/ticket_creation_incident.png>)

Incident Ticket creation requires the following attributes:

1. Enter the **Impact** of the ticket being created. For example: `3-Moderate/Limited`.
2. Provide the default **Status** for the newly created ticket. For example: `New`.
3. Provide the **Description** of the requirement that generated the ticket. For example:

   ```text
   #if($request.operation == 'Create') Create Account on application $request.resource #else For $request.id in application $request.resource #end #if ($request.items) $newline #foreach ($item in $request.items) #if ($item.name == 'disabled' && $item.value == 'true') Disable Account. $newline #elseif ($item.name == 'disabled' && $item.value == 'false') Enable Account. $newline #elseif ($item.name == 'locked' && $item.value == 'false') Unlock Account. $newline #else $!item.Operation $item.name: $item.value $newline #end #end #else $newline $!request.Operation Account #end
   ```
4. Enter the **First Name** and **Last Name** of the user to whom the ticket is assigned.
5. Enter the **Value** of Incident type that generated the ticket. For example: `User Service Request`.
6. Enter the type of source through which this ticket is reported. For example: `Direct Input`.
7. Specify the **Urgency** of this ticket. For example: `3-Medium`.
8. To add a field, select **Add Field**. Select the field type and enter the required information based on the type. Options are Single Value, Multi Valued Field, or Grouped Key-Value Pairs.

#### Incident Advanced Properties

To add advanced properties to the details of the ticket, select **View Advanced Properties**.

> [!NOTE]
>
> **Screenshot**
>
> [![Incident advanced properties](<https://documentation.sailpoint.com/connectors/service_desk_integrations/bmc_helix_itsm/help/img/ticket_creation_incident_advanced.png>)](<https://documentation.sailpoint.com/connectors/service_desk_integrations/bmc_helix_itsm/help/img/ticket_creation_incident_advanced.png>)

1. Enter the basic JSON root element of the request ticket in the **Request Root Element** field. For example: `values`.
2. Enter the type Request Root Element. For example: `JSONObject`.
3. Enter the resource used for the request ticket in the **Resource** field. Do not include the base URL for the instance in the value. Provide only the remaining directories for the endpoint. For example: `/api/arsys/v1/entry/HPD:IncidentInterface_Create?fields=values(Incident+Number)`.
4. Enter the JSON path expression that indicates the location of the ticket number in the **Response Element** field. For example: `$.values.['Incident Number']`.

### Change Request

> [!NOTE]
>
> **Screenshot**
>
> [![Change Request ticket creation](<https://documentation.sailpoint.com/connectors/service_desk_integrations/bmc_helix_itsm/help/img/ticket_creation_change.png>)](<https://documentation.sailpoint.com/connectors/service_desk_integrations/bmc_helix_itsm/help/img/ticket_creation_change.png>)

Change Request Ticket Creation requires the following fields:

1. The **First Name** and **Last Name** of the user to whom the ticket is assigned.
2. Enter the **Impact** of the ticket being created. For example: `3-Moderate/Limited`.
3. Enter the **Risk Level** of the ticket. For example: `Risk Level 1`.
4. Provide the default **Status** for the newly created ticket. For example: `Draft`.
5. Provide the **Description** of the request that generated the ticket. For example:

   ```text
   #if($request.operation == 'Create') Create Account on application $request.resource #else For $request.id in application $request.resource #end #if ($request.items) $newline  #foreach ($item in $request.items) #if ($item.name == '*disabled*' && $item.value == 'true') Disable Account. $newline #elseif ($item.name == '*disabled*' && $item.value == 'false') Enable Account. $newline #elseif ($item.name == '*locked*' && $item.value == 'false') Unlock Account. $newline #else $!item.Operation $item.name: $item.value $newline #end #end #else $newline $!request.Operation Account #end
   ```
6. Specify the **Urgency** of this ticket. For example: `3-Medium`.
7. Enter the **Location Company** as the company name listed on the BMC Helix ITSM portal. For example: `Calbro Services`.

   > **Note**
   >
   > This field is required for Change Request tickets.

#### Change Request Advanced Properties

To add advanced properties to the details of the ticket, select **View Advanced Properties**.

> [!NOTE]
>
> **Screenshot**
>
> [![Change Request advanced properties](<https://documentation.sailpoint.com/connectors/service_desk_integrations/bmc_helix_itsm/help/img/ticket_creation_change_advanced.png>)](<https://documentation.sailpoint.com/connectors/service_desk_integrations/bmc_helix_itsm/help/img/ticket_creation_change_advanced.png>)

1. Enter the basic JSON root element of the request ticket in the **Request Root Element** field. For example: `values`.
2. Enter the type Request Root Element. For example: `JSONObject`.
3. Enter the resource used for the request ticket in the **Resource** field. Do not include the base URL for the instance in the value. Provide only the remaining directories for the endpoint. For example: `/api/arsys/v1/entry/CHG:ChangeInterface_Create?fields=values(Infrastructure+Change+Id)`.
4. Enter the JSON path expression that indicates the location of the ticket number in the **Response Element** field. For example: `$.values.['Infrastructure Change Id']`.

### Service Request

> [!NOTE]
>
> **Screenshot**
>
> [![Service Request ticket creation](<https://documentation.sailpoint.com/connectors/service_desk_integrations/bmc_helix_itsm/help/img/ticket_creation_service_request.png>)](<https://documentation.sailpoint.com/connectors/service_desk_integrations/bmc_helix_itsm/help/img/ticket_creation_service_request.png>)

> [!NOTE]
>
> For more information on Service Request tickets and the Sr Type fields, refer to [Service Requests](<https://documentation.sailpoint.com/connectors/service_desk_integrations/bmc_helix_itsm/help/service_requests.html>).

Service Request Ticket creation requires the following attributes:

1. Provide the default **Status** for the newly created ticket. For example: `In Review`.
2. Enter the **First Name** of the user to whom the ticket is assigned.
3. Enter the **Last Name** of the user to whom the ticket is assigned.
4. Specify the service attributes that are used in the fulfillment process.
5. **Z1 D Action** defines what action is performed by the SRM Request Interface REST API. `CREATE` is the only supported option.
6. **Source Keyword** defines the type of ticket that is created by the SRM Request Interface REST API. `Service Request` is the only supported option.
7. Specify the service attributes that are used in the fulfillment process.
8. Provide a value for the **Title Instance Id** for the Service Request Definition. You must also provide different Service Request Fields as entry key parameters into the service desk application, so that those can be passed on to populate the service attributes defined in the **Sr Type Field 1** and **Sr Type Field 14** fields.
9. To add a field, select **Add Field**. Select the field type and enter the required information based on the type. Options are Single Value, Multi Valued, or Grouped Key-Value Pairs.

#### Service Request Advanced Properties

To add advanced properties to the details of the ticket, select **View Advanced Properties**.

> [!NOTE]
>
> **Screenshot**
>
> [![Service Request advanced properties](<https://documentation.sailpoint.com/connectors/service_desk_integrations/bmc_helix_itsm/help/img/ticket_creation_service_request_advanced.png>)](<https://documentation.sailpoint.com/connectors/service_desk_integrations/bmc_helix_itsm/help/img/ticket_creation_service_request_advanced.png>)

1. Enter the basic JSON root element of the request ticket in the Request Root Element field. For example: `values`.
2. Enter the type Request Root Element. For example: `JSONObject`.
3. Enter the resource used for the request ticket in the Resource field. Do not include the base URL for the instance in the value. Provide only the remaining directories for the endpoint. For example: `/api/arsys/v1/entry/SRM:RequestInterface_Create?fields=values(Request+Number)`.
4. Enter the JSON path expression that indicates the location of the ticket number in the **Response Element** field. For example: `$.values.['Request Number']`.

### Digital Workplace (DWP) Service Requests

> [!NOTE]
>
> **Screenshot**
>
> [![DWP Service Request ticket creation](<https://documentation.sailpoint.com/connectors/service_desk_integrations/bmc_helix_itsm/help/img/ticket_creation_dwp_service_request.png>)](<https://documentation.sailpoint.com/connectors/service_desk_integrations/bmc_helix_itsm/help/img/ticket_creation_dwp_service_request.png>)

> [!NOTE]
>
> For more information on DWP Service Request tickets and other fields, refer to [Digital Workplace (DWP) Service Requests](<https://documentation.sailpoint.com/connectors/service_desk_integrations/bmc_helix_itsm/help/dwp_service_requests.html>).

DWP Service Request Ticket creation requires the following attributes:

1. Enter the login ID of the user for whom the ticket is created. For example: `$!plan.arguments.loginId`.
2. Provide the payload of all the required input **Questions** defined in the Service Definition. Values can be provided for Description and Summary Given from the Service Catalog. You need to add the Question-input IDs based on the Questionnaire Defined in the Service Catalog. To add input values for the question-answer pair, add another `{}` entry to the Questions list. For example:

   ```json
   [
     {
       "questionId": "QUESTIONAIRE INPUT ID",
       "answers": [
         "#foreach($req in $plan.requests) #if($req.operation == 'Create') Create Account on application $req.resource #else For $req.id in application $req.resource #end #if($req.items) $newline  #foreach($item in $req.items) #if ($item.name == '*disabled*' && $item.value == 'true') Disable Account. $newline #elseif ($item.name == '*disabled*' && $item.value == 'false') Enable Account. $newline #elseif ($item.name == '*locked*' && $item.value == 'false') Unlock Account. $newline #else $!item.Operation $item.name: $item.value $newline #end #end #else $newline $!req.Operation Account #end #end"
       ]
     },
     {
       "questionId": "QUESTIONAIRE INPUT ID",
       "answers": [
         "SailPoint Access Request $!plan.arguments.identityRequestId #if($plan.arguments.identityName) for the user $plan.arguments.identityName #end"
       ]
     }
   ]
   ```
3. Enter the ID of the Service Definition.
4. If required, select **Add Field** to add more fields. Select the field type and enter the required information based on the type. Options are Single Value, Multi Valued, or Grouped Key-Value Pairs.

#### DWP Service Request Advanced Properties

To add advanced properties to the details of the ticket, select **View Advanced Properties**.

> [!NOTE]
>
> **Screenshot**
>
> [![DWP Service Request advanced properties](<https://documentation.sailpoint.com/connectors/service_desk_integrations/bmc_helix_itsm/help/img/ticket_creation_dwp_service_request_advanced.png>)](<https://documentation.sailpoint.com/connectors/service_desk_integrations/bmc_helix_itsm/help/img/ticket_creation_dwp_service_request_advanced.png>)

1. Enter the basic JSON root element of the request ticket in the **Request Root Element**. For example, `JSONObject`.
2. Enter the resource used for the request ticket in the **Resource**. Do not include the base URL for the instance in the value. Provide only the remaining directories for the endpoint. For example, `/api/myit-sb/requests`.
3. Enter the JSON path expression that indicates the location of the ticket number in the **Response Element**. For example, `$.requests[0].['requestId']`.
4. Enter the URL required to submit the DWP Service Request to the BMC Helix ITSM System in the **Submit Order Resource**. For example, `/api/myit-sb/orders`.

> [!NOTE]
>
> The ticket number generated on the Service Desk system for the corresponding provisioning action can be seen under **Search \> Account Activity** details of the identity. For more information, refer to [Account Activity Using Search](<https://documentation.sailpoint.com/saas/help/search/index.html#account-activity>).

## Status Mapping

Map the status of the tickets in SailPoint to the corresponding BMC Helix ITSM status. Customize the status map to meet your needs by adding or deleting as needed.

Select **Add Status** to add new rows, or the trash can icon to remove those that are no longer needed. For the **Identity Security Cloud Status**, select from the drop-down list, Failed, Committed, or Queued. **The BMC Helix SDIM Status** can be whatever is required.

> [!NOTE]
>
> The Status Keys vary by Ticket Type selected.

### Incident Status Keys

> [!NOTE]
>
> **Screenshot**
>
> [![Incident status mapping](<https://documentation.sailpoint.com/connectors/service_desk_integrations/bmc_helix_itsm/help/img/status_mapping_incident.png>)](<https://documentation.sailpoint.com/connectors/service_desk_integrations/bmc_helix_itsm/help/img/status_mapping_incident.png>)

#### Incident Advanced Properties

To add more details to the status mapping, select **View Advanced Properties**.

> [!NOTE]
>
> **Screenshot**
>
> [![Incident status mapping advanced properties](<https://documentation.sailpoint.com/connectors/service_desk_integrations/bmc_helix_itsm/help/img/status_mapping_incident_advanced.png>)](<https://documentation.sailpoint.com/connectors/service_desk_integrations/bmc_helix_itsm/help/img/status_mapping_incident_advanced.png>)

**Resource**: REST endpoint used to read the ticket. Do not provide the base URL in the value, the base URL is appended to this endpoint value. BMC Helix ITSM Service Desk:

```text
/api/arsys/v1/entry/HPD:IncidentInterface?q='Incident+Number'=%22$ticketId%22
```

**Response Element**: A JSON path expression that identifies the ticket number in the response from the REST endpoint. For example:

```text
$.entries[0].values.Status
```

### Change Request Status Keys

> [!NOTE]
>
> **Screenshot**
>
> [![Change Request status mapping](<https://documentation.sailpoint.com/connectors/service_desk_integrations/bmc_helix_itsm/help/img/status_mapping_change.png>)](<https://documentation.sailpoint.com/connectors/service_desk_integrations/bmc_helix_itsm/help/img/status_mapping_change.png>)

#### Change Request Advanced Properties

To add more details to the status mapping, select **View Advanced Properties**.

> [!NOTE]
>
> **Screenshot**
>
> [![Change Request status mapping advanced properties](<https://documentation.sailpoint.com/connectors/service_desk_integrations/bmc_helix_itsm/help/img/status_mapping_change_advanced.png>)](<https://documentation.sailpoint.com/connectors/service_desk_integrations/bmc_helix_itsm/help/img/status_mapping_change_advanced.png>)

**Resource**: REST endpoint used to read the ticket. Do not provide the base URL in the value, the base URL is appended to this endpoint value. BMC Helix ITSM Service Desk:

```text
/api/arsys/v1/entry/CHG:ChangeInterface?q='Infrastructure+Change+ID'=%22$ticketId%22
```

**Response Element**: A JSON path expression that identifies the ticket number in the response from the REST endpoint. For example:

```text
$.entries[0].values.['Change Request Status']
```

### Service Request Status Keys

> [!NOTE]
>
> **Screenshot**
>
> [![Service Request status mapping](<https://documentation.sailpoint.com/connectors/service_desk_integrations/bmc_helix_itsm/help/img/status_mapping_service_request.png>)](<https://documentation.sailpoint.com/connectors/service_desk_integrations/bmc_helix_itsm/help/img/status_mapping_service_request.png>)

#### Service Request Advanced Properties

To add more details to the status mapping, select **View Advanced Properties**.

> [!NOTE]
>
> **Screenshot**
>
> [![Service Request status mapping advanced properties](<https://documentation.sailpoint.com/connectors/service_desk_integrations/bmc_helix_itsm/help/img/status_mapping_incident_advanced.png>)](<https://documentation.sailpoint.com/connectors/service_desk_integrations/bmc_helix_itsm/help/img/status_mapping_incident_advanced.png>)

**Resource**: REST endpoint used to read the ticket. Do not provide the base URL in the value, the base URL is appended to this endpoint value. BMC Helix ITSM Service Desk:

```text
/api/arsys/v1/entry/SRM:RequestInterface?q='Request+Number'=%22$ticketId%22
```

**Response Element**: A JSON path expression that identifies the ticket number in the response from the REST endpoint. For example:

```text
$.entries[0].values.Status
```

### DWP Service Request Status Keys

> [!NOTE]
>
> **Screenshot**
>
> [![DWP Service Request status mapping](<https://documentation.sailpoint.com/connectors/service_desk_integrations/bmc_helix_itsm/help/img/status_mapping_dwp_service_request.png>)](<https://documentation.sailpoint.com/connectors/service_desk_integrations/bmc_helix_itsm/help/img/status_mapping_dwp_service_request.png>)

#### DWP Service Request Advanced Properties

> [!NOTE]
>
> **Screenshot**
>
> [![DWP Service Request status mapping advanced properties](<https://documentation.sailpoint.com/connectors/service_desk_integrations/bmc_helix_itsm/help/img/status_mapping_dwp_service_request_advanced.png>)](<https://documentation.sailpoint.com/connectors/service_desk_integrations/bmc_helix_itsm/help/img/status_mapping_dwp_service_request_advanced.png>)

**Resource**: REST endpoint used to read the ticket. Do not provide the base URL in the value, the base URL is appended to this endpoint value. For example:

```text
/api/myit-sb/services/requests/$ticketId
```

**Response Element**: A JSON path expression that identifies the ticket number in the response from the REST endpoint. For example:

```text
$.status.status
```

## Requester Source

> [!NOTE]
>
> **Screenshot**
>
> [![Requester Source](<https://documentation.sailpoint.com/connectors/service_desk_integrations/bmc_helix_itsm/help/img/requester_source.png>)](<https://documentation.sailpoint.com/connectors/service_desk_integrations/bmc_helix_itsm/help/img/requester_source.png>)

In the Requester Source dropdown, select the source name through which BMC Helix ITSM Service Desk system's users are aggregated.
