← ServiceNow

Update Table Record with ServiceNow API

Pipedream makes it easy to connect APIs for ServiceNow and 900+ other apps remarkably fast.

Trigger workflow on
HTTP requests, schedules and app events
Next, do this
Update Table Record with the ServiceNow API
No credit card required
Into to Pipedream
Watch us build a workflow
Watch us build a workflow
7 min
Watch now ➜
Trusted by 250,000+ developers from startups to Fortune 500 companies:
Trusted by 250,000+ developers from startups to Fortune 500 companies

Developers Pipedream

Getting Started

Create a workflow to Update Table Record with the ServiceNow API. When you configure and deploy the workflow, it will run on Pipedream's servers 24x7 for free.

  1. Configure the Update Table Record action
    1. Connect your ServiceNow account
    2. Configure table_name
    3. Configure sys_id
    4. Configure update_fields
    5. Optional- Select a api_version
    6. Optional- Select a request_format
    7. Optional- Select a response_format
    8. Optional- Configure x_no_response_body
    9. Optional- Select a sysparm_display_value
    10. Optional- Configure sysparm_fields
    11. Optional- Configure sysparm_input_display_value
    12. Optional- Select a sysparm_view
    13. Optional- Configure sysparm_query_no_domain
  2. Select a trigger to run your workflow on HTTP requests, schedules or app events
  3. Deploy the workflow
  4. Send a test event to validate your setup
  5. Turn on the trigger

Integrations

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

Details

This is a pre-built, open source component from Pipedream's GitHub repo. The component is developed by Pipedream and the community, and verified and maintained by Pipedream.

To contribute an update to an existing component or create a new component, create a PR on GitHub. If you're new to Pipedream component development, you can start with quickstarts for trigger span and action development, and then review the component API reference.

Update Table Record on ServiceNow
Description:Updates the specified record with the name-value pairs included in the request body.
Version:0.1.1
Key:servicenow-update-table-record

Code

// legacy_hash_id: a_4riE2J
import { axios } from "@pipedream/platform";

export default {
  key: "servicenow-update-table-record",
  name: "Update Table Record",
  description: "Updates the specified record with the name-value pairs included in the request body.",
  version: "0.1.1",
  type: "action",
  props: {
    servicenow: {
      type: "app",
      app: "servicenow",
    },
    table_name: {
      type: "string",
      description: "The name of the table containing the record to update.",
    },
    sys_id: {
      type: "string",
      description: "Unique identifier of the record to update.",
    },
    update_fields: {
      type: "object",
      description: "An object with name-value pairs with the fields to update in the specified record.\n**Note:** All fields within a record may not be available for update. For example, fields that have a prefix of \"sys_\" are typically system parameters that are automatically generated and cannot be updated.",
    },
    api_version: {
      type: "string",
      description: "API version number. Version numbers identify the endpoint version that a URI accesses. By specifying a version number in your URIs, you can ensure that future updates to the REST API do not negatively impact your integration. Use `lastest` to use the latest REST endpoint for your instance version.",
      optional: true,
      options: [
        "lastest",
        "v1",
        "v2",
      ],
    },
    request_format: {
      type: "string",
      description: "Format of REST request body",
      optional: true,
      options: [
        "application/json",
        "application/xml",
        "text/xml",
      ],
    },
    response_format: {
      type: "string",
      description: "Format of REST response body.",
      optional: true,
      options: [
        "application/json",
        "application/xml",
        "text/xml",
      ],
    },
    x_no_response_body: {
      type: "boolean",
      description: "By default, responses include body content detailing the modified record. Set this request header to true to suppress the response body.",
      optional: true,
    },
    sysparm_display_value: {
      type: "string",
      description: "Return field display values (true), actual values (false), or both (all) (default: false).",
      optional: true,
      options: [
        "true",
        "false",
        "all",
      ],
    },
    sysparm_fields: {
      type: "string",
      description: "A comma-separated list of fields to return in the response.",
      optional: true,
    },
    sysparm_input_display_value: {
      type: "boolean",
      description: "Flag that indicates whether to set field values using the display value or the actual value.\n* `true`: Treats input values as display values and they are manipulated so they can be stored properly in the database.\n* `false`: Treats input values as actual values and stored them in the database without manipulation.",
      optional: true,
    },
    sysparm_view: {
      type: "string",
      description: "Render the response according to the specified UI view (overridden by sysparm_fields).",
      optional: true,
      options: [
        "desktop",
        "mobile",
        "both",
      ],
    },
    sysparm_query_no_domain: {
      type: "boolean",
      description: "True to access data across domains if authorized (default: false).",
      optional: true,
    },
  },
  async run({ $ }) {
  /* See the API docs: https://docs.servicenow.com/bundle/paris-application-development/page/integrate/inbound-rest/concept/c_TableAPI.html#c_TableAPI
    Section Table - PATCH /now/table/{tableName}/{sys_id}                      */

    if (!this.table_name || !this.sys_id || !this.update_fields) {
      throw new Error("Must provide table_name, sys_id, and update_fields parameters.");
    }

    var apiVersion = "";
    if (this.api_version == "v1" || this.api_version == "v2") {
      apiVersion = this.api_version + "/";
    }

    return await axios($, {
      method: "patch",
      url: `https://${this.servicenow.$auth.instance_name}.service-now.com/api/now/${apiVersion}table/${this.table_name}/${this.sys_id}`,
      headers: {
        "Authorization": `Bearer ${this.servicenow.$auth.oauth_access_token}`,
        "Accept": this.request_format || "application/json",
        "Content-Type": this.response_format || "application/json",
        "X-no-response-body": this.x_no_response_body,
      },
      params: {
        sysparm_display_value: this.sysparm_display_value,
        sysparm_fields: this.sysparm_fields,
        sysparm_input_display_value: this.sysparm_input_display_value,
        sysparm_view: this.sysparm_view,
        sysparm_query_no_domain: this.sysparm_query_no_domain,
      },
      data: this.update_fields,
    });
  },
};

Configuration

This component may be configured based on the props defined in the component code. Pipedream automatically prompts for input values in the UI and CLI.
LabelPropTypeDescription
ServiceNowservicenowappThis component uses the ServiceNow app.
table_namestring

The name of the table containing the record to update.

sys_idstring

Unique identifier of the record to update.

update_fieldsobject

An object with name-value pairs with the fields to update in the specified record.
Note: All fields within a record may not be available for update. For example, fields that have a prefix of "sys_" are typically system parameters that are automatically generated and cannot be updated.

api_versionstringSelect a value from the drop down menu:lastestv1v2
request_formatstringSelect a value from the drop down menu:application/jsonapplication/xmltext/xml
response_formatstringSelect a value from the drop down menu:application/jsonapplication/xmltext/xml
x_no_response_bodyboolean

By default, responses include body content detailing the modified record. Set this request header to true to suppress the response body.

sysparm_display_valuestringSelect a value from the drop down menu:truefalseall
sysparm_fieldsstring

A comma-separated list of fields to return in the response.

sysparm_input_display_valueboolean

Flag that indicates whether to set field values using the display value or the actual value.

  • true: Treats input values as display values and they are manipulated so they can be stored properly in the database.
  • false: Treats input values as actual values and stored them in the database without manipulation.
sysparm_viewstringSelect a value from the drop down menu:desktopmobileboth
sysparm_query_no_domainboolean

True to access data across domains if authorized (default: false).

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:

About ServiceNow

The smarter way to workflow

More Ways to Use ServiceNow

Actions

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