Script Action API - ServiceNow Fluent
The Script Action API defines script actions [sysevent_script_action] that run when an event occurs.
Note:
For the latest ServiceNow Fluent API documentation and examples, see the ServiceNow Fluent API reference and ServiceNow SDK examples repository on GitHub.
For general information about scheduled script executions, see Script actions.
ScriptAction object
Create a script action [sysevent_script_action] that performs a task when triggered by an event.
| Name | Type | Description |
|---|---|---|
| $id | String or Number | Required. A unique ID for the metadata object. When you build the application, this ID is hashed into a unique sys_id. For more information, see ServiceNow Fluent language constructs. Format: |
| name | String | Required. A unique name for the script action. |
| script | Script | Required. A server-side script that runs when triggered by an event. This property supports a function from a JavaScript module, a reference to another file in the application that contains a script, or inline JavaScript. Format:
|
| eventName | String | Required. The event that triggers the script action to run. For information about creating events, see Create an event. |
| active | Boolean | Flag that indicates whether the script action is enabled. Valid values:
Default: false |
| description | String | A description of the functionality and purpose of the script action. |
| order | Number | A number indicating the sequence in which the script action should run. If there are multiple script actions on a particular event, the script actions run in the order specified, from lowest to highest. Default: 100 |
| conditionScript | String | A JavaScript conditional statement that specifies the fields and values that must be true for the script to run. Note: Don't use this property if you include the condition statement with the script property. Format:
|
| $meta | Object | Metadata for the application metadata. With the installMethod property, you can map the application metadata to an output directory that loads only in specific
circumstances. Valid values for installMethod:
|
import { ScriptAction } from '@servicenow/sdk/core'
import { insertIncident } from '../server/scripts.js'
ScriptAction({
$id: Now.ID['sample-script-action'],
name: 'SampleScriptAction',
active: true,
description: 'Insert an incident',
script: insertIncident,
eventName: 'sample.event',
order: 100,
conditionScript: "gs.hasRole('my_role')"
})
The script property refers to a function from the scripts.js module. For example:
import { GlideRecord } from '@servicenow/glide'
export const insertIncident = () => {
var gr = new GlideRecord('incident')
gr.initialize()
gr.setValue('short_description', 'New incident from event')
gr.insert()
}