- Home
- Resources
- Integrations
- ServiceNow
ServiceNow n8n integrationAutomate ServiceNow with n8n.
Every incident, user and table record in your instance can be driven from a workflow. The ServiceNow n8n integration ships 25 operations spread over 10 resources, and the catalog holds no trigger node, so the run starts elsewhere. Written for service desk and ops teams who already live in n8n.
Verified Trustpilot reviews · AI, automation & growth agency
What does the ServiceNow n8n integration actually do?
It links a ServiceNow instance to an n8n workflow through one credential, then puts the platform on the canvas as 25 operations grouped into 10 resources. You open, read, change and remove incidents, users and table records, you pull reference lists such as departments or configuration items, and you move attachments in both directions. The node ships with n8n, so there is nothing to install and nothing extra to pay on the n8n side, on n8n Cloud or on a self-hosted instance.
Start at the service desk. A message posted in Slack or a row dropped by a form becomes a ticket through incident.create, with Short Description filled from the message text and the rest of the ticket set through Additional Fields. An expression, meaning a short snippet in double braces that n8n evaluates while the workflow runs, carries the value across from the previous node.
Reporting is the second obvious job. Run incident.getAll with Return All switched on and n8n walks every page of the API rather than stopping at Limit, then the items land in Google Sheets for a weekly review. Filter takes an encoded query, and Field Names or IDs trims the payload down to the columns the report really needs.
People management is the third. A joiner arrives, user.create opens the account, user.update keeps it current when the department or the manager changes, and userGroup.getAll feeds the workflow the reference list it needs to route the rest. Teams that plan delivery in Jira Software often drive both sides from a single workflow.
The catalog stops at 25 operations across 10 resources. For anything outside it, the HTTP Request node calls any endpoint of the ServiceNow API and reuses the very same credential through predefined authentication, so you never leave the workflow. Worth knowing before you build: ServiceNow has no trigger node in n8n, a trigger being the node that starts a run. The workflow opens with a Schedule Trigger on a fixed interval, with the n8n Webhook node, a URL a third party calls, or with the trigger of another tool.
New to the platform? The n8n review lays out how it compares, and the n8n training takes it further.
How do you connect ServiceNow to n8n?
- 01
Create the basic auth credential
A credential in n8n is a saved set of connection details you create once under Credentials and reuse in every workflow. For basic auth, ServiceNow asks for three things: a User name, a Password, and a Subdomain. The subdomain sits inside the instance URL
https://<subdomain>.service-now.com/. A developer account on the ServiceNow developer site is the prerequisite. - 02
Or register an OAuth2 app instead
OAuth2 needs a Client ID, a Client Secret and the same Subdomain. Generate the first two in ServiceNow under System OAuth, then Application Registry, then New, then Create an OAuth API endpoint for external clients. Copy the Client ID into n8n, either type a Client Secret or leave it blank to have a random one generated, and paste the n8n OAuth Redirect URL into the app as a Redirect URL.
- 03
Pick the credential, then the resource
Drop the ServiceNow node onto the canvas and choose the saved credential from the dropdown. Next comes the resource, one of the 10 on offer, and then the operation inside it. A field marked required stops the node from running while it is empty, which is the fastest way to spot a missing Table Name or a missing record identifier before you ever hit Execute.
What can the ServiceNow node do?
The ServiceNow node exposes 25 operations across 10 resources. For each one: the node as you configure it in n8n, the required fields, and our field notes.
| Resource | Create | Get | Get Many | Update | Delete | Upload |
|---|---|---|---|---|---|---|
| Attachment | ✓ | ✓ | ✓ | ✓ | ||
| Business Service | ✓ | |||||
| Configuration Item | ✓ | |||||
| Department | ✓ | |||||
| Dictionary | ✓ | |||||
| Incident | ✓ | ✓ | ✓ | ✓ | ✓ | |
| Table Record | ✓ | ✓ | ✓ | ✓ | ✓ | |
| User | ✓ | ✓ | ✓ | ✓ | ✓ | |
| User Group | ✓ | |||||
| User Role | ✓ |
Operations index
Attachment
4 operationsUpload an attachment
attachment.uploadWhat you see in n8n
Notes & use cases
Pushes a binary file carried by the workflow onto a record that already exists, so a document built two nodes earlier ends up sitting on the right ticket.
Key parameters
- Table Name or ID: chosen from the list, or set with an expression when the table varies per item.
- Table Record ID: the sys_id of the record the file attaches to, commonly
{{ $json.field }}from the node before. - Input Data Field Name: the name of the binary property that holds the data to upload.
- File Name for the Attachment: optional, sets the name the attachment is given.
Delete an attachment
attachment.deleteWhat you see in n8n
Notes & use cases
Removes one attachment from the instance, addressed by its own identifier rather than by the record it hangs on.
Key parameters
- Attachment ID: the sys_id value of the attachment to delete, the single required field of the operation.
Get an attachment
attachment.getWhat you see in n8n
Notes & use cases
Reads a single attachment and, when you ask for it, brings the file itself back into the run as binary data.
Key parameters
- Attachment ID: the sys_id value identifying the attachment.
- Download Attachments: a required boolean that decides whether the file content comes along.
- Output Field: the field name where the downloaded data is placed.
- Filter: an encoded query string, written as
<col_name><operator><value>and case-sensitive throughout.
Get many attachments
attachment.getAllWhat you see in n8n
Notes & use cases
Lists the attachments held on one table, with the option of downloading each file in the same pass.
Key parameters
- Table Name or ID: the table whose attachments you want, from the list or via an expression.
- Download Attachments: required boolean; combined with Output Field it decides where the binary data lands.
- Return All: on, n8n walks every page; off, it stops at Limit.
- Filter: an encoded query, and note that parameters here are case-sensitive.
Business Service
1 operationGet many business services
businessService.getAllWhat you see in n8n
Notes & use cases
Returns the business services declared in the instance, the reference list a workflow reads when it needs to know which service a request belongs to.
Key parameters
- Return All and Limit: either the complete list or a capped slice of it.
- Field Names or IDs: the columns to bring back, picked from the list or set as comma separated values in an expression.
- Return Values: Actual Values, Display Values, or Both.
Configuration Item
1 operationGet many configuration items
configurationItems.getAllWhat you see in n8n
Notes & use cases
Configuration items come back as workflow items, which makes this the entry point for anything built on the instance inventory.
Key parameters
- Return All: switched on for a full inventory pass, left off with Limit for a quick sample.
- Filter: an encoded query string that narrows the set before it reaches n8n.
- Exclude Reference Link: on, the Table API links attached to reference fields are left out of the payload.
Department
1 operationGet many departments
department.getAllWhat you see in n8n
Notes & use cases
Pulls the department list so a workflow can route, group or label work by organizational unit rather than by a hardcoded string.
Key parameters
- Limit: the maximum number of results when Return All stays off.
- Field Names or IDs: a short list of columns keeps the run light when you only need names.
- Return Values: pick Display Values when the output is headed for a human, Actual Values when it feeds another node.
Dictionary
1 operationGet many dictionaries
dictionary.getAllWhat you see in n8n
Notes & use cases
Dictionary entries describe the columns of the instance, which is what you read before writing to a table you did not design yourself.
Key parameters
- Filter: an encoded query string, handy for narrowing to one area of the instance.
- Field Names or IDs: the columns of the dictionary entry itself that you want back.
- Return All: on, every page is fetched; off, Limit caps the output.
Incident
5 operationsCreate an incident
incident.createWhat you see in n8n
Notes & use cases
Opens a new incident from whatever the workflow just received, whether that came from a form, a mailbox or another system.
Key parameters
- Short Description: the short description of the incident, and the only required field.
- Caller ID: the unique identifier of the caller, typically resolved a step earlier and passed as
{{ $json.field }}. - Assignment Group Name or ID: the group the incident goes to; selecting one is what allows Assignee Name or ID to be set.
- Impact and Urgency: each offers Low, Medium or High.
Delete an incident
incident.deleteWhat you see in n8n
Notes & use cases
Deletes the incident whose identifier you hand it, one item per execution.
Key parameters
- Incident ID: the unique identifier of the incident, required, and the only field the operation asks for.
Get an incident
incident.getWhat you see in n8n
Notes & use cases
Fetches one incident by identifier, which is the usual step between receiving a reference and deciding what to do with it.
Key parameters
- Incident ID: the unique identifier of the incident, required.
- Field Names or IDs: restricts the response to the columns you actually read.
- Return Values: Display Values reads naturally in a message, Actual Values suits a comparison.
- Exclude Reference Link: drops the Table API links on reference fields.
Get many incidents
incident.getAllWhat you see in n8n
Notes & use cases
Queries several incidents in one node, which is how most reporting and escalation workflows begin.
Key parameters
- Return All: on for a complete export, off to stop at Limit.
- Filter: an encoded query string applied before the data leaves ServiceNow.
- Field Names or IDs: the shortlist of columns to return.
- Return Values: Actual Values, Display Values or Both.
Update an incident
incident.updateWhat you see in n8n
Notes & use cases
Writes new values onto an incident that already exists, leaving the fields you did not touch alone.
Key parameters
- Incident ID: required, often
{{ $json.field }}from a lookup step. - Update Fields: a collection of 16 entries, from State Name or ID to Close Notes.
- Work Notes: work notes for the incident, the natural place for an automated comment, whether it records what the workflow did or what the requester answered.
- On Hold Reason Name or ID: applies when the state is
On Hold.
Table Record
5 operationsCreate a table record
tableRecord.createWhat you see in n8n
Notes & use cases
Any table exposed by the instance can receive a new row here, which is the escape hatch when the object you work with is not one of the named resources.
Key parameters
- Table Name or ID: required, chosen from the list or set with an expression.
- Data to Send: Auto-Map Input Data to Columns when the input names already match the destination fields, Define Below for Each Column to set them yourself, or Nothing to send no column data.
- Inputs to Ignore: comma separated input properties to leave out when auto-mapping.
Delete a table record
tableRecord.deleteWhat you see in n8n
Notes & use cases
Drops a single row from the table you name, addressed by the record identifier.
Key parameters
- Table Name or ID: the table in which the record exists, from the list or via an expression.
- Table Record ID: the unique identifier of the record, required, often
{{ $json.field }}carried from a previous search.
Get a table record
tableRecord.getWhat you see in n8n
Notes & use cases
Retrieves one row when the identifier is already known, without pulling the rest of the table along with it.
Key parameters
- Table Name or ID: the table in which the record exists.
- Table Record ID: the unique identifier of the record, required.
- Field Names or IDs: keeps the response to the columns you read.
- Exclude Reference Link: leaves out the Table API links on reference fields.
Get many table records
tableRecord.getAllWhat you see in n8n
Notes & use cases
Reads a slice of a table, or the whole of it, depending on how Return All is set.
Key parameters
- Table Name or ID: required, the table to read.
- Return All: on, n8n chains the API pages; off, Limit sets the maximum number of results.
- Filter: an encoded query string that does the narrowing server side.
- Return Values: Actual Values, Display Values or Both.
Update a table record
tableRecord.updateWhat you see in n8n
Notes & use cases
Edits a row in place on any table, with the same mapping choices as the create operation.
Key parameters
- Table Name or ID and Table Record ID: both required, the second being the unique identifier of the record.
- Data to Send: Auto-Map Input Data to Columns, Define Below for Each Column, or Nothing.
- Fields to Send: the fixed collection where each destination column gets its value.
User
5 operationsCreate a user
user.createWhat you see in n8n
Notes & use cases
Adds a user to the instance, with a collection of 24 optional fields covering identity, contact details and access.
Key parameters
- Short Description: the short description of the user, and the only required field of the operation.
- Username, First Name, Last Name, Email: the identity block most workflows fill.
- Role Names or IDs: the roles of the user, from the list or as identifiers in an expression.
- Password Needs Reset: requires a password reset when the user logs in.
Delete a user
user.deleteWhat you see in n8n
Notes & use cases
Takes a user out of the instance, identified by nothing more than an identifier.
Key parameters
- User ID: the unique identifier of the user, required.
Get a user
user.getWhat you see in n8n
Notes & use cases
Looks up one person, and unusually it lets you choose which key you search on.
Key parameters
- Retrieve Identifier: required, set to ID or to Username.
- User ID or Username: the value matching the choice above.
- Field Names or IDs: the columns to return.
- Return Values: Display Values for readable output, Actual Values for machine use.
Get many users
user.getAllWhat you see in n8n
Notes & use cases
Walks the whole user directory, one workflow item per person.
Key parameters
- Return All: on for the full directory, off to stop at Limit.
- Filter: an encoded query string, the right place to narrow a large directory.
- Field Names or IDs: a short column list keeps the payload sensible at scale.
- Exclude Reference Link: removes the Table API links on reference fields.
Update a user
user.updateWhat you see in n8n
Notes & use cases
Changes what the instance knows about someone already recorded in it, one field or twenty at a time.
Key parameters
- User ID: the unique identifier of the user, required.
- Update Fields: the same collection of 24 entries offered at creation, so nothing has to be relearned between the two operations.
- Department, Manager, Location: the three that move most often when someone changes team.
- Active: whether the user is activated.
User Group
1 operationGet many user groups
userGroup.getAllWhat you see in n8n
Notes & use cases
Before a workflow can route anything by team, it needs the group list, and that is exactly what comes back here.
Key parameters
- Return All and Limit: the whole set, or a capped slice of it.
- Filter: an encoded query string to keep only the groups you care about.
- Field Names or IDs: the columns to return, as a list or an expression.
- Return Values: Actual Values, Display Values or Both.
User Role
1 operationGet many user roles
userRole.getAllWhat you see in n8n
Notes & use cases
Pulling the role list into a workflow starts here: n8n returns the user roles from your ServiceNow instance, one role per item.
Key parameters
- Return All: on, n8n pages through the API until every role is back; off, Limit caps how many arrive.
- Filter: an encoded query string, meaning a condition written in ServiceNow syntax, that narrows what comes back.
- Field Names or IDs: choose the fields to keep, from the list or with an expression, so each item stays small.
Need help automating ServiceNow with n8n?
A person reads every message.
