ServiceNow

The smarter way to workflow

Go to site
Explore
/
Apps
/
ServiceNow

ServiceNow API Integrations

Build and run workflows using the ServiceNow API. Use 1000s of source-available triggers and actions across 1,700+ apps. Or write custom code to integrate any app or API in seconds.

Overview

Using the ServiceNow API, you can build a variety of powerful applications that help you extend and enhance the capabilities of your ServiceNow implementation. The possibilities are endless! You can:

  • Create custom pages and widgets that provide additional functionality and data visualizations tailored to your needs
  • Automate user and business processes with the help of integration tools
  • Streamline production deployments and drive up efficiency with workflow systems
  • Develop custom plugins to facilitate data exchange with other systems
  • Leverage machine learning to extract knowledge from large data sets and create predictive models
  • Create interactive chatbots for providing support or collecting feedback
  • Generate custom reports for tracking performance and resource utilization
  • And much more!

No matter whether you are looking to extend existing features or build something totally new, the ServiceNow API offers the perfect solution!

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
import { axios } from "@pipedream/platform"
export default defineComponent({
  props: {
    servicenow: {
      type: "app",
      app: "servicenow",
    }
  },
  async run({steps, $}) {
    return await axios($, {
      url: `https://${this.servicenow.$auth.instance_name}.service-now.com/api/now/table/incident`,
      headers: {
        Authorization: `Bearer ${this.servicenow.$auth.oauth_access_token}`,
      },
    })
  },
})

Choose an API to Connect with ServiceNow API

1
-
24
of
1,700+
apps by most popular

HTTP / Webhook
HTTP / Webhook
Get a unique URL where you can send HTTP or webhook requests
Notion
Notion
Notion is a new tool that blends your everyday work apps into one. It's the all-in-one workspace for you and your team.
OpenAI (ChatGPT)
OpenAI (ChatGPT)
OpenAI is an AI research and deployment company with the mission to ensure that artificial general intelligence benefits all of humanity. They are the makers of popular models like ChatGPT, DALL-E, and Whisper.
Schedule
Schedule
Trigger workflows on an interval or cron schedule.
Google Drive
Google Drive
Google Drive is a file storage and synchronization service which allows you to create and share your work online, and access your documents from anywhere.
Google Sheets
Google Sheets
Use Google Sheets to create and edit online spreadsheets. Get insights together with secure sharing in real-time and from any device.
Filter
Filter
Specify a condition that your workflow must meet and whether you'd like to proceed or end workflow execution.
Python
Python
Anything you can do in Python can be done in a Pipedream Workflow. This includes using any of the 350,000+ PyPi packages available in your Python powered workflows.
Slack
Slack
Slack is a channel-based messaging platform. With Slack, people can work together more effectively, connect all their software tools and services, and find the information they need to do their best work — all within a secure, enterprise-grade environment.
Data Stores
Data Stores
Use Pipedream Data Stores to manage state throughout your workflows.
GitHub
GitHub
Where the world builds software. Millions of developers and companies build, ship, and maintain their software on GitHub—the largest and most advanced development platform in the world.
Formatting
Formatting
Pre-built actions to make formatting and manipulating data within your workflows easier.
Node
Node
Anything you can do with Node.js, you can do in a Pipedream workflow. This includes using most of npm's 400,000+ packages.
Airtable (OAuth)
Airtable (OAuth)
Airtable is a low-code platform to build next-gen apps. Move beyond rigid tools, operationalize your critical data, and reimagine workflows with AI.
Zoom
Zoom
Zoom is the leader in modern enterprise video communications, with an easy, reliable cloud platform for video and audio conferencing, chat, and webinars.
Google Calendar
Google Calendar
With Google Calendar, you can quickly schedule meetings and events and get reminders about upcoming activities, so you always know what’s next.
Gmail
Gmail
Gmail offers private and secure email by Google at no cost, for business and consumer accounts.
Gmail (Developer App)
Gmail (Developer App)
Private and secure email by Google at no cost, for business and consumer accounts. Use this app to connect your own developer account credentials.
Email
Email
Trigger workflows on new emails, and send emails to yourself as part of a Pipedream workflow.
Delay
Delay
Delay, pause, suspend, or have the execution of your workflow wait for as little as one millisecond, or as long as one year.
Go
Go
Anything you can do in Go, you can do in a Pipedream Workflow. You can use any of Go packages available with a simple import.
Premium
Zoom Admin
Zoom Admin
Video conferencing (includes account-level scopes) for Zoom Admins.
Twilio
Twilio
Twilio is a cloud communications platform for building SMS, Voice & Messaging applications on an API built for global scale.
Bash
Bash
Run any Bash in a Pipedream step within your workflow, including making curl requests.

Getting Started

Before you can use the ServiceNow REST API from a workflow, you need to configure an OAuth app in your ServiceNow instance that will grant access tokens to your users and authenticate requests to its REST API.

  1. In your ServiceNow instance, visit the Application Registry and create a new app, choosing the Create an OAuth API endpoint for external clients option.
  2. Name it something memorable, then leave every other field blank or keep the defaults, except for the Redirect URL, which should be: https://api.pipedream.com/connect/oauth/oa_g2oiqA/callback. Your app should look something like this:
ServiceNow OAuth app config
  1. Next, you'll need to copy the client ID and secret generated in Step 2, and add another app. This time, select the option to Connect to a third party OAuth Provider.
  2. Name this app something like Pipedream OAuth Validator, and add the client ID / secret from Step 2. Change the grant type to Authorization Code, and set the Token URL to oauth_token.do (without any hostname, this refers to the current instance). Finally, add the same Redirect URL as you did above: https://api.pipedream.com/connect/oauth/oa_g2oiqA/callback. This app's configuration should look something like this when complete:
ServiceNow OAuth validator app config
  1. Visit https://pipedream.com/accounts, and click the button labeled Click Here to Connect An App in the top-right. In the modal that appears, search for ServiceNow and select it. You'll be prompted to enter the client ID and client secret from Step 2 above, as well as the name of your instance. The instance name is the host portion of your instance's URL: that is, the dev98042 in https://dev98042.service-now.com/.
Pipedream app config
  1. Press Connect in the bottom-right of the modal. This should open up a new window asking you to login to your ServiceNow instance. This authorizes Pipedream's access to your ServiceNow account, and you should be ready to connect to your instance's REST API!

Collectively, the two apps you configured in your ServiceNow instance allow your instance to issue new OAuth access tokens for the user who authenticated in Step 6. This allows Pipedream to retrieve a fresh access token before it makes requests to the ServiceNow REST API.

ServiceNow Authorization Reference

This ServiceNow doc describes the general flow we ask you to implement above. In that doc, the app you create in Step 2 is referred to as the client application, and the app in Step 4 is referred to as the OAuth provider application registry record.

Additional Guidance For Hardened or Mature Instances

The instructions above are likely to work on a fresh, out-of-the-box instance but may work imperfectly on ServiceNow instances that have been customized or have applied various security hardening recommendations such as the explicit roles plugin.

Symptoms of problems here may include getting a 504 Gateway Time-out error when completing step 6 above. If you manually test the connection deatails in a tool like Postman, you may get an error like this:

{
  "error_description":"access_denied",
  "error":"server_error"
}

In these instances, the following tips may be helpful:

  • Create a dedicated role for this purpose, and assign it to a service account that is only used for this purpose. You should not set it for web service access only, since interactive access is required to complete Pipedream setup.
  • Ensure that the dedicated role has ACLs configured to allow read for the oauth_credential table - both the table and table.* for all fields.
  • Assign snc_internal to this service account. This is important if you are using the explicit roles plugin as part of instance security hardening.

Finally, while not required, you should also check that the role has associated ACLs for any tables you want to work with; by default they may if you use snc_internal, but some fields extended from task or other tables may require additional ACLs based on your instance's configuration.

Get Table Record By SysId with ServiceNow API on New Requests (Payload Only) from HTTP / Webhook API
HTTP / Webhook + ServiceNow
 
Try it
Create Table Record with ServiceNow API on New Item in Feed from RSS API
RSS + ServiceNow
 
Try it
Create Table Record with ServiceNow API on New Message from Discord API
Discord + ServiceNow
 
Try it
Get Table Record By SysId with ServiceNow API on New Message In Channels from Slack API
Slack + ServiceNow
 
Try it
Create Table Record with ServiceNow API on New Message in Channel from Discord Bot API
Discord Bot + ServiceNow
 
Try it
Create Table Record with the ServiceNow API

Inserts one record in the specified table.

 
Try it
Get Table Record By SysId with the ServiceNow API

Retrieves the record identified by the specified sys_id from the specified table.

 
Try it
Get Table Records with the ServiceNow API

Retrieves multiple records for the specified table.

 
Try it
Update Table Record with the ServiceNow API

Updates the specified record with the name-value pairs included in the request body.

 
Try it

Troubleshooting

If you're getting a 504 Gateway Time-out error when attempting to connect your ServiceNow account, review the section above on "Additional Guidance For Hardened or Mature Instances".

Authentication

ServiceNow uses OAuth authentication. When you connect your ServiceNow account, Pipedream will open a popup window where you can sign into ServiceNow and grant Pipedream permission to connect to your account. Pipedream securely stores and automatically refreshes the OAuth tokens so you can easily authenticate any ServiceNow API.

Pipedream requests the following authorization scopes when you connect your account:

OAuth Request Configurations:
  1. authorization
    GEThttps://{{custom_fields.instance_name}}.service-now.com/oauth_auth.do?client_id={{custom_fields.client_id}}&redirect_uri={{oauth.redirect_uri}}&state={{oauth.state}}&response_type=code
  2. accessToken
    POSThttps://{{custom_fields.instance_name}}.service-now.com/oauth_token.docontent-type: application/x-www-form-urlencodedaccept: application/json
    client_id={{custom_fields.client_id}}&client_secret={{custom_fields.client_secret}}&redirect_uri={{oauth.redirect_uri}}&grant_type=authorization_code&code={{oauth.code}}
  3. refreshToken
    POSThttps://{{custom_fields.instance_name}}.service-now.com/oauth_token.docontent-type: application/x-www-form-urlencodedaccept: application/json
    client_id={{custom_fields.client_id}}&client_secret={{custom_fields.client_secret}}&grant_type=refresh_token&refresh_token={{oauth.refresh_token}}