ServiceNow¶
By enabling this toolset, HolmesGPT will be able to interact with ServiceNow for ticket management, incident tracking, and accessing knowledge base articles during investigations.
Warning
This toolset is in Experimental stage.
Prerequisites¶
- ServiceNow instance URL
- ServiceNow API key or username and password
- Appropriate ServiceNow roles and permissions
Setting up ServiceNow API Access¶
Create an inbound authentication profile¶
- Navigate to All > System Web Services > API Access Policies > Inbound Authentication Profiles
- Select New
- Select Create API Key authentication profiles
- Auth Parameter > add x-sn-apikey: Auth Header
- Submit the form
Create a REST API key¶
- Navigate to All > System Web Services > API Access Policies > REST API Key
- Select New
- Set name, description, and user. Set expiry date if desired. > Submit
- Open the record that was created to view the token generated by the ServiceNow AI Platform for the user
Create a REST API Access policy¶
- Navigate to All > System Web Services > REST API Access Policies
- Select New
- REST API = Table API
- Uncheck Apply to all tables > Select table > change_request
- In select profile from step 1 (API Key)
Configuration¶
API Key Authentication (Recommended)¶
First, set the following environment variables:
export SERVICENOW_INSTANCE="<your servicenow instance name>" # e.g., "dev12345"
export SERVICENOW_API_KEY="<your servicenow api key>"
Then add the following to ~/.holmes/config.yaml. Create the file if it doesn't exist:
toolsets:
servicenow/tickets:
enabled: true
config:
api_key: "<your servicenow api key>"
instance: "<your servicenow instance name>"
verify_ssl: true
timeout: 30
After making changes to your configuration, run:
Username/Password Authentication¶
First, set the following environment variables:
export SERVICENOW_INSTANCE="<your servicenow instance url>"
export SERVICENOW_USERNAME="<your servicenow username>"
export SERVICENOW_PASSWORD="<your servicenow password>"
Then add the following to ~/.holmes/config.yaml. Create the file if it doesn't exist:
After making changes to your configuration, run:
API Key Authentication (Recommended)¶
holmes:
additionalEnvVars:
- name: SERVICENOW_INSTANCE
value: "<your servicenow instance name>"
- name: SERVICENOW_API_KEY
value: "<your servicenow api key>"
toolsets:
servicenow/tickets:
enabled: true
config:
api_key: "<your servicenow api key>"
instance: "<your servicenow instance name>"
verify_ssl: true
timeout: 30
Username/Password Authentication¶
holmes:
additionalEnvVars:
- name: SERVICENOW_INSTANCE
value: "<your servicenow instance url>"
- name: SERVICENOW_USERNAME
value: "<your servicenow username>"
- name: SERVICENOW_PASSWORD
value: "<your servicenow password>"
toolsets:
servicenow/tickets:
enabled: true
config:
verify_ssl: true
timeout: 30
Advanced Configuration¶
You can customize ServiceNow integration settings:
toolsets:
servicenow/tickets:
enabled: true
config:
verify_ssl: true
timeout: 30 # Request timeout in seconds
max_results: 100 # Maximum number of tickets to fetch
default_table: "incident" # Default ServiceNow table to query
Capabilities¶
Tool Name | Description |
---|---|
servicenow_create_incident | Create a new incident ticket in ServiceNow |
servicenow_get_incident | Get details of a specific incident |
servicenow_search_incidents | Search for incidents based on criteria |
servicenow_update_incident | Update an existing incident |
servicenow_get_knowledge_base | Search ServiceNow knowledge base articles |
servicenow_create_change_request | Create a change request ticket |