diff --git a/packages/nodes-base/nodes/ServiceNow/UserGroupDescription.ts b/packages/nodes-base/nodes/ServiceNow/UserGroupDescription.ts
new file mode 100644
index 0000000000..99c5a81776
--- /dev/null
+++ b/packages/nodes-base/nodes/ServiceNow/UserGroupDescription.ts
@@ -0,0 +1,137 @@
+import {
+ INodeProperties,
+} from 'n8n-workflow';
+
+export const userGroupOperations = [
+ {
+ displayName: 'Operation',
+ name: 'operation',
+ type: 'options',
+ displayOptions: {
+ show: {
+ resource: [
+ 'userGroup',
+ ],
+ },
+ },
+ options: [
+ {
+ name: 'Get All',
+ value: 'getAll',
+ },
+ ],
+ default: 'getAll',
+ },
+] as INodeProperties[];
+
+export const userGroupFields = [
+
+ /* -------------------------------------------------------------------------- */
+ /* userGroup:getAll */
+ /* -------------------------------------------------------------------------- */
+ {
+ displayName: 'Return All',
+ name: 'returnAll',
+ type: 'boolean',
+ displayOptions: {
+ show: {
+ operation: [
+ 'getAll',
+ ],
+ resource: [
+ 'userGroup',
+ ],
+ },
+ },
+ default: false,
+ description: 'If all results should be returned or only up to a given limit',
+ },
+ {
+ displayName: 'Limit',
+ name: 'limit',
+ type: 'number',
+ displayOptions: {
+ show: {
+ operation: [
+ 'getAll',
+ ],
+ resource: [
+ 'userGroup',
+ ],
+ returnAll: [
+ false,
+ ],
+ },
+ },
+ typeOptions: {
+ minValue: 1,
+ maxValue: 500,
+ },
+ default: 50,
+ description: 'The max number of results to return',
+ },
+ {
+ displayName: 'Options',
+ name: 'options',
+ type: 'collection',
+ placeholder: 'Add Field',
+ displayOptions: {
+ show: {
+ resource: [
+ 'userGroup',
+ ],
+ operation: [
+ 'getAll',
+ ],
+ },
+ },
+ default: {},
+ options: [
+ {
+ displayName: 'Exclude Reference Link',
+ name: 'sysparm_exclude_reference_link',
+ type: 'boolean',
+ default: false,
+ description: 'Whether to exclude Table API links for reference fields',
+ },
+ {
+ displayName: 'Fields',
+ name: 'sysparm_fields',
+ type: 'multiOptions',
+ typeOptions: {
+ loadOptionsMethod: 'getColumns',
+ },
+ default: '',
+ description: 'A list of fields to return',
+ },
+ {
+ displayName: 'Filter',
+ name: 'sysparm_query',
+ type: 'string',
+ default: '',
+ description: 'An encoded query string used to filter the results. More info',
+ },
+ {
+ displayName: 'Return Values',
+ name: 'sysparm_display_value',
+ type: 'options',
+ options: [
+ {
+ name: 'Actual Values',
+ value: 'false',
+ },
+ {
+ name: 'Both',
+ value: 'all',
+ },
+ {
+ name: 'Display Values',
+ value: 'true',
+ },
+ ],
+ default: 'false',
+ description: 'Choose which values to return',
+ },
+ ],
+ },
+] as INodeProperties[];
diff --git a/packages/nodes-base/nodes/ServiceNow/UserRoleDescription.ts b/packages/nodes-base/nodes/ServiceNow/UserRoleDescription.ts
new file mode 100644
index 0000000000..d3cbb25f33
--- /dev/null
+++ b/packages/nodes-base/nodes/ServiceNow/UserRoleDescription.ts
@@ -0,0 +1,137 @@
+import {
+ INodeProperties,
+} from 'n8n-workflow';
+
+export const userRoleOperations = [
+ {
+ displayName: 'Operation',
+ name: 'operation',
+ type: 'options',
+ displayOptions: {
+ show: {
+ resource: [
+ 'userRole',
+ ],
+ },
+ },
+ options: [
+ {
+ name: 'Get All',
+ value: 'getAll',
+ },
+ ],
+ default: 'getAll',
+ },
+] as INodeProperties[];
+
+export const userRoleFields = [
+
+ /* -------------------------------------------------------------------------- */
+ /* userRole:getAll */
+ /* -------------------------------------------------------------------------- */
+ {
+ displayName: 'Return All',
+ name: 'returnAll',
+ type: 'boolean',
+ displayOptions: {
+ show: {
+ operation: [
+ 'getAll',
+ ],
+ resource: [
+ 'userRole',
+ ],
+ },
+ },
+ default: false,
+ description: 'If all results should be returned or only up to a given limit',
+ },
+ {
+ displayName: 'Limit',
+ name: 'limit',
+ type: 'number',
+ displayOptions: {
+ show: {
+ operation: [
+ 'getAll',
+ ],
+ resource: [
+ 'userRole',
+ ],
+ returnAll: [
+ false,
+ ],
+ },
+ },
+ typeOptions: {
+ minValue: 1,
+ maxValue: 500,
+ },
+ default: 50,
+ description: 'The max number of results to return',
+ },
+ {
+ displayName: 'Options',
+ name: 'options',
+ type: 'collection',
+ placeholder: 'Add Field',
+ displayOptions: {
+ show: {
+ resource: [
+ 'userRole',
+ ],
+ operation: [
+ 'getAll',
+ ],
+ },
+ },
+ default: {},
+ options: [
+ {
+ displayName: 'Exclude Reference Link',
+ name: 'sysparm_exclude_reference_link',
+ type: 'boolean',
+ default: false,
+ description: 'Whether to exclude Table API links for reference fields',
+ },
+ {
+ displayName: 'Fields',
+ name: 'sysparm_fields',
+ type: 'multiOptions',
+ typeOptions: {
+ loadOptionsMethod: 'getColumns',
+ },
+ default: '',
+ description: 'A list of fields to return',
+ },
+ {
+ displayName: 'Filter',
+ name: 'sysparm_query',
+ type: 'string',
+ default: '',
+ description: 'An encoded query string used to filter the results. More info',
+ },
+ {
+ displayName: 'Return Values',
+ name: 'sysparm_display_value',
+ type: 'options',
+ options: [
+ {
+ name: 'Actual Values',
+ value: 'false',
+ },
+ {
+ name: 'Both',
+ value: 'all',
+ },
+ {
+ name: 'Display Values',
+ value: 'true',
+ },
+ ],
+ default: 'false',
+ description: 'Choose which values to return',
+ },
+ ],
+ },
+] as INodeProperties[];