ServiceNow Nodes
Open, update, read and find ServiceNow records from your pipelines.
- Needs
- A ServiceNow connection (basic or OAuth 2.0)
- Operations
- Create · Update · Get · Query records
- Output
- The record, its sys_id and number
Each ServiceNow operation is its own node, under Notifications in the node palette. A node runs a saved function of its operation on a ServiceNow connection.
Configuration Quick Reference
| Field | What you choose | Details |
|---|---|---|
| Parameters | Connection, Function, Function Parameters, Timeout Override | Select the connection, the function, fill its ((parameters)) from upstream data, and optionally override the timeout. |
| Settings | Description, Timeout, Retry on Timeout, Retry on Fail, On Error | Node description, maximum execution time, retry behaviour and error handling. All default to the pipeline's values. |


ServiceNow Create Record Node
ServiceNow Create Record Node
Creates one record in a table, an incident by default, from the function's JSON field map. The Table API has no idempotency key, so a create sent twice opens two records: the connector never resends one by itself. With store-and-forward on, a create whose outcome is unknown is sent again when the link returns; a late input older than the node's maximum age is not.
Output
{
"result": {
"table": "incident",
"sysId": "46d44a5ea9fe198101e0c2b6a0e9b0f7",
"number": "INC0010042",
"record": { "sys_id": "46d44a5ea9fe198101e0c2b6a0e9b0f7", "number": "INC0010042", "short_description": "Press 7 stopped", "state": "1" },
"ignoredFields": []
}
}
| Expression | Description |
|---|---|
$node["Name"].result.table | The table the record is in |
$node["Name"].result.sysId | The new record's sys_id: pass it to an Update Record or Get Record node. Empty only when ServiceNow answered 201 with a body that could not be read (the record exists; _metadata.warning says so) |
$node["Name"].result.number | The record's number, e.g. INC0010042; empty for a table without numbers |
$node["Name"].result.record | The record as ServiceNow stored it, one key per field |
$node["Name"].result.ignoredFields | Submitted field names ServiceNow did not return: not columns of the table, so they were dropped without an error. Empty when every field landed |
ServiceNow Update Record Node
Changes fields of one record by sys_id. Setting fields to fixed values lands the same when repeated; a work_notes or comments value adds a note every time.
Output: the same keys as Create Record: result.table, result.sysId, result.number, result.record (the record after the update) and result.ignoredFields.
ServiceNow Get Record Node
Reads one record by sys_id.
| Expression | Description |
|---|---|
$node["Name"].result.table | The table the record is in |
$node["Name"].result.sysId | The record's sys_id; empty when the function's Return Fields leave sys_id out |
$node["Name"].result.record | The record, one key per field (only the Return Fields when set). With Display Values all, each field is {"value": …, "display_value": …} |
ServiceNow Query Records Node
Finds records matching the function's encoded query, at most its limit. The limit is sent to ServiceNow; nothing past it is fetched.
| Expression | Description |
|---|---|
$node["Name"].result.table | The table queried |
$node["Name"].result.records | The matching records, at most the limit, in ServiceNow's order or the function's Order By |
$node["Name"].result.count | How many records came back |
$node["Name"].result.totalCount | How many records match the query in all (ServiceNow's X-Total-Count), which can exceed count; -1 when ServiceNow did not say |
Metadata
Every node also carries _metadata: the shared execution facts (success, functionId, durationMs, timestamp) and the call's own: _metadata.method (the operation), _metadata.connectionId, _metadata.protocol (servicenow) and _metadata.message, a one-line note such as "Created incident INC0010042". Query Records adds _metadata.pages, the number of requests it took.
Failures
A refused request fails the node with ServiceNow's own message: 400, 401, 403 and 404 are refusals that the same request would meet again, so Retry on Fail does not help. 429, 5xx, a network failure and a hibernating developer instance are temporary. Bad parameters (a malformed sys_id, field JSON that is not an object, a limit outside 1 to 10000) fail the node before anything is sent.