# ServiceNow REST Client

> Configure the OneFuse ServiceNow REST Client pluggable module

---

Site [llms.txt](/llms.txt)

---

<div class="alert alert-info" role="alert">


Pluggable Module Name is **ServiceNow REST Client**
</div>


## Feature highlights

- Create flexible ServiceNow REST Client calls with OneFuse.
- JSON Data can consist of a mix of static text and dynamic content such as properties and/or custom logic.

## Prerequisites

1. Create a OneFuse Service Account for the ServiceNow instances used for ServiceNow REST Client.
2. Create [ServiceNow Scripted REST APIs](https://docs.servicenow.com/bundle/sandiego-application-development/page/integrate/custom-web-services/concept/c_CustomWebServices.html).
3. If the OneFuse Appliance does not have an internet connection, follow the instructions in the section below.

### OneFuse Appliance without internet connection

<div class="alert alert-info" role="alert">


Perform the following only if the OneFuse Appliance does **not** have an internet connection.
</div>


#### Offline setup overview

1. SSH to the OneFuse Appliance.
2. Verify that Python and `pip` are installed.
3. Perform `pip` installs.

#### Verify Python and `pip`

<div class="alert alert-info" role="alert">


Identify a system to run the Python commands from. This can be your desktop or a server in your environment. Python 3 or greater must be installed on the system.
</div>


1. Verify that Python is installed.

   <div class="alert alert-info" role="alert">


   [Python 2 has sunset](https://www.python.org/doc/sunset-python-2/). If Python 2 is installed, upgrade to the latest Python version.
   </div>


   If Python is not installed, or if you are upgrading, download the latest Python from [python.org](https://www.python.org/downloads/).

2. Verify that `pip` is installed. If it is not, [install pip](https://pip.pypa.io/en/stable/installation/).
3. Review Python's [Installing Packages](https://packaging.python.org/tutorials/installing-packages/) documentation.

#### Install the OneFuse Python Package

The OneFuse Python Module is distributed as a Python Package. Install it using `pip`.

<div class="alert alert-info" role="alert">


It is recommended to install the latest OneFuse Python Package that matches the OneFuse Appliance version.
</div>


<div class="alert alert-info" role="alert">


If the OneFuse Python Module is already installed, skip to [Upgrade the OneFuse Python Package](#upgrade-the-onefuse-python-package).
</div>


1. Open a Command Prompt or Terminal window.
2. Install the OneFuse Python Package:
   - **Option 1, install the latest version:** Run `pip install onefuse`.
   - **Option 2, install a specific version:** Optionally, list available versions first. Then, install with a specific version:

     ```bash
     # Replace <version> in the command below with a specific version number (e.g. 1.4.0)
     # Run the following in a Command Prompt/Terminal
     pip install onefuse==<version>

     # An output message similar to the below is returned, where <version> is replaced with the version number installed:
     # ~Successfully installed onefuse-<version>
     ```

#### Upgrade the OneFuse Python Package

Upgrade to the latest OneFuse Python Package using `pip`.

1. Open a Command Prompt or Terminal window.
2. Run `pip install --upgrade onefuse`.

## Setup overview

1. Download the Pluggable Module.
2. Upload the Pluggable Module.
3. Create a [Connection info](/docs/onefuse/configure/connection-info/).
4. Create the Module Policy.
5. Consume the Pluggable Module with an upstream provider.

### Download the OneFuse Pluggable Module

[Access the CloudBolt Download Article for CMP/OneFuse 2023.5](https://support.cloudbolt.io/cloudbolt/s/article/cloudbolt-2023-5--1983840286--1). The article always contains the latest Pluggable Module ZIP folder(s).

1. Log in with your **CloudBolt Connect** account.
2. Download the OneFuse Pluggable Module ZIP folder.

### Upload the module to OneFuse

For first-time uploads and upgrades:

1. Log in to the OneFuse UI with an account that has the OneFuse Super Admin Global role.
2. Select the wrench icon on the top left of the Top App Bar to access the [Super Admin UI](/docs/onefuse/getting-started/roles-and-permissions/super-admin-tasks/).
3. Select **Pluggable Modules**.
4. Select **Upload** on the top right of the Pluggable Module Management datatable.
5. Select **Module File (.zip)** to select the latest Pluggable Module ZIP folder.
6. Select **Upload**.
7. Upon successful upload, you are redirected to the Pluggable Module Management datatable where the newly uploaded module is listed.

### Create Connection Info

Create and manage Connection Info for the Pluggable Module Endpoint.

| Field | Description |
| --- | --- |
| **Connection Name** | Name of the Connection Info. In the sample payloads, `servicenow_user_connection_info` is set to `ServiceNow_Rest` and `servicenow_oauth_connection_info` is set to `ServiceNow_Rest_oauth`. Replace these values with the name of your Connection Info. |
| **Protocol** | Select **HTTPS**. |
| **Connection Host** | ServiceNow instance, for example `myservicenow.service-now.com`. |
| **Port** | Enter `443`. |
| **Authentication Type** | Select **Basic**. |
| **Username/Password** | Credentials for the OneFuse Service Account in ServiceNow. If utilizing OAuth: enter the OAuth Token as the Username and the OAuth Secret Key as the Password. |

<div class="alert alert-info" role="alert">


If utilizing OAuth with ServiceNow, two Connection Info entries are required:

1. A Connection Info with Basic Authentication credentials to ServiceNow (OneFuse Service Account).
2. A Connection Info with OAuth credentials where Username is the OAuth Token and Password is the OAuth Secret Key.

</div>


### Access Module Policies

1. Log in to the OneFuse UI.
2. In the Workspace, select **Module** > **ServiceNow REST Client** (under the Pluggable section) from the left navigation menu.

This area displays all active Module Policies and Deployments. Perform the following from the Actions column:

| Action | Workspace role(s) |
| --- | --- |
| View | Admins, Members, or Viewers |
| Edit | Admins or Members |
| Delete | Admins or Members |

### Manage Pluggable Module Policies

Once the Pluggable Module is uploaded by a OneFuse Super Admin, you can manage Pluggable Module Policies. Create a [Connection info](/docs/onefuse/configure/connection-info/) to the Pluggable Module's Endpoint when applicable.

**Module Policy form fields:**

| Field | Description |
| --- | --- |
| **Module Policy Name** | Enter a name for this Module Policy. |
| **Description** | Optional description for this Module Policy. |
| **Policy Parameters** | Provide provisioning and deprovisioning scenarios. Refer to [Sample payloads](#sample-payloads) for examples. |
| **Day2 Action Parameters** | Optional. Provide Day2 Action parameters. |

**Create a Module Policy:**

1. [Access Module Policies](#access-module-policies).
2. Select **Create** on the top right of the ServiceNow REST Client Policies datatable.
3. Fill out the Module Policy form. Refer to [Sample payloads](#sample-payloads) for Policy Parameters examples.
4. Enter Policy Parameters for provisioning and/or deprovisioning scenarios.
5. Select **Create**.

**Update a Module Policy:**

1. [Access Module Policies](#access-module-policies).
2. Find the Module Policy to update and select the edit icon.
3. Edit the information on the Module Policy form.
4. Select **Update**.

**Delete a Module Policy:**

<div class="alert alert-warning" role="alert">


Module Policies cannot be deleted if they are associated to a OneFuse Module Deployment.
</div>


1. [Access Module Policies](#access-module-policies).
2. Find the Module Policy and select the delete icon.
3. Select **Delete** to confirm.

## Sample payloads

See [Sample payloads](/docs/onefuse/configure/pluggable-modules/sample-payloads/#servicenow-rest-client) for ServiceNow REST Client policy parameter examples, including optional OAuth parameters.

## Consume with an upstream provider

The ServiceNow REST Client module can be consumed via:

- [OneFuse API](https://app.swaggerhub.com/apis-docs/cloudbolt/OneFuse/)
- [Ansible](/docs/onefuse/consume/red-hat-ansible/modules/pluggable-modules/)
- [Python](/docs/onefuse/consume/python-module/modules/pluggable-modules/)
- [Terraform](/docs/onefuse/consume/hashicorp-terraform/modules/pluggable-modules/)
- VMware Aria Automation [7.6](/docs/onefuse/consume/vmware-aria-automation/vrealize-automation-76/modules/pluggable-modules/) and/or [8.1+/Cloud](/docs/onefuse/consume/vmware-aria-automation/aria-automation-8x/modules/pluggable-modules/)
