Update ServiceNow Record

Action ID: servicenow:now:table:modifyRecord
NPM Package:

@backstage-community/plugin-scaffolder-backend-module-servicenow

Description

Updates the specified record with the request body

Input Schema

PropertyTypeDescriptionRequired
sysIdstring-
tableNamestring-
requestBodyany-
sysparmViewstring-
sysparmFieldsarray-
sysparmDisplayValuestring-
sysparmQueryNoDomainboolean-
sysparmInputDisplayValueboolean-
sysparmExcludeReferenceLinkboolean-
sysparmSuppressAutoSysFieldboolean-

Output Schema

No output schema defined for this action.

Usage Examples

Update incident priority, state, and assignment group with display values

Updates an incident with new priority, state, and assignment group. Returns display values for selected fields to keep the response concise.

Copy
steps:
  - id: update-incident-metadata
    action: servicenow:now:table:modifyRecord
    input:
      tableName: incident
      sysId: ${{ parameters.incidentSysId }}
      requestBody:
        priority: "2"
        state: "2"
        assignment_group: "287ebd7da9fe198100f92cc8d1d2154e"
        short_description: "API gateway errors after deploy"
      sysparmDisplayValue: "all"
      sysparmExcludeReferenceLink: true
      sysparmFields:
        - number
        - state
        - priority
        - assignment_group
        - short_description

Schedule a change window using display input values

Updates a change request with start and end times and assigns the group by display name. Use when your form collects human readable values.

Copy
steps:
  - id: schedule-change-window
    action: servicenow:now:table:modifyRecord
    input:
      tableName: change_request
      sysId: ${{ parameters.changeSysId }}
      requestBody:
        start_date: "2025-11-01 09:00:00"
        end_date: "2025-11-01 11:00:00"
        assignment_group: "Network"
        description: "Schedule network firmware upgrade for pod eu-west-1"
      sysparmInputDisplayValue: true
      sysparmDisplayValue: "true"
      sysparmFields:
        - number
        - start_date
        - end_date
        - assignment_group
        - state

Update a CMDB CI owner and status using sys IDs

Updates a server CI with new owner, install status, and location using sys IDs. Suppresses automatic sys fields and ignores domain separation during the update.

Copy
steps:
  - id: update-ci-owner
    action: servicenow:now:table:modifyRecord
    input:
      tableName: cmdb_ci_server
      sysId: ${{ parameters.ciSysId }}
      requestBody:
        owned_by: "6816f79cc0a8016401c5a33be04be441"
        install_status: "1"
        location: "8a7256ebb3102200ba2a4f44ca9619b0"
      sysparmDisplayValue: "false"
      sysparmSuppressAutoSysField: true
      sysparmQueryNoDomain: true
      sysparmFields:
        - name
        - sys_id
        - owned_by
        - install_status
        - location

Record a workaround on a problem and set state

Adds a workaround to a problem record and updates its state. Returns only the fields you care about and uses a specific view.

Copy
steps:
  - id: update-problem-workaround
    action: servicenow:now:table:modifyRecord
    input:
      tableName: problem
      sysId: ${{ parameters.problemSysId }}
      requestBody:
        workaround: "Restart the cache cluster to mitigate memory leak"
        state: "4"
        known_error: true
      sysparmDisplayValue: "false"
      sysparmExcludeReferenceLink: false
      sysparmView: "problem_task"
      sysparmFields:
        - number
        - state
        - workaround
        - known_error

Updates a custom service table with tier, owner, and support group provided as display values. Excludes reference links from the response.

Copy
steps:
  - id: update-service-metadata
    action: servicenow:now:table:modifyRecord
    input:
      tableName: u_service
      sysId: ${{ parameters.serviceSysId }}
      requestBody:
        u_service_tier: "Gold"
        u_service_owner: "Alex Johnson"
        u_support_group: "SRE"
        u_business_criticality: "High"
      sysparmInputDisplayValue: true
      sysparmDisplayValue: "true"
      sysparmExcludeReferenceLink: true
      sysparmFields:
        - u_service_name
        - u_service_tier
        - u_service_owner
        - u_support_group
        - u_business_criticality