From 433fd7e76318dd1d5135f1575d5020c288977d17 Mon Sep 17 00:00:00 2001 From: Gwen Blum <19484478+gwenblum@users.noreply.github.com> Date: Fri, 24 Oct 2025 10:13:49 +0200 Subject: [PATCH 1/4] IQ Assist: update runbook 101 CI and Custom Field setup --- .../README.md | 30 +- ...r Endpoint from Incident Custom Field.json | 1054 +++++++++++++++++ 2 files changed, 1077 insertions(+), 7 deletions(-) create mode 100644 IQ/Automation/External Runbooks/101-riverbed-iq-assist-for-servicenow-incident-diagnose-user-endpoint/Riverbed IQ Assist for ServiceNow - Incident - Diagnose User Endpoint from Incident Custom Field.json diff --git a/IQ/Automation/External Runbooks/101-riverbed-iq-assist-for-servicenow-incident-diagnose-user-endpoint/README.md b/IQ/Automation/External Runbooks/101-riverbed-iq-assist-for-servicenow-incident-diagnose-user-endpoint/README.md index ce0e779..c14f28e 100644 --- a/IQ/Automation/External Runbooks/101-riverbed-iq-assist-for-servicenow-incident-diagnose-user-endpoint/README.md +++ b/IQ/Automation/External Runbooks/101-riverbed-iq-assist-for-servicenow-incident-diagnose-user-endpoint/README.md @@ -2,22 +2,38 @@ The runbook [Riverbed IQ Assist for ServiceNow - Incident - Diagnose User Endpoint](./Riverbed%20IQ%20Assist%20for%20ServiceNow%20-%20Incident%20-%20Diagnose%20User%20Endpoint.json) can be used as-is for Incidents assistance with Riverbed IQ Assist for ServiceNow. -When triggered from ServiceNow, the runbook diagnoses the user endpoint based on the Configuration Item (CI), and enriches the incident ticket. +When triggered from ServiceNow, the runbook diagnoses the user’s endpoint and enriches the incident ticket. ## Prerequisites -1. Riverbed IQ Assist opt-in feature is enabled (IQ > Administration > Riverbed IQ Assist configuration). +1. ServiceNow: + - [Riverbed IQ Assist for ServiceNow](https://store.servicenow.com/sn_appstore_store.do#!/store/search?q=Riverbed) is installed from the ServiceNow Store. -2. [Riverbed IQ Assist for ServiceNow](https://store.servicenow.com/sn_appstore_store.do#!/store/search?q=Riverbed) is installed from the ServiceNow Store. +2. Riverbed AIOps: + - Riverbed IQ Assist opt-in is enabled (IQ > Administration > Riverbed IQ Assist configuration) and the integration is configured (IQ > Integration Library). + - Aternity integration is installed and configured (IQ > Integration Library) + - ServiceNow integration is installed and configured (IQ > Integration Library) -3. Aternity integration on Riverbed IQ is installed. +## CI Setup -4. ServiceNow integration is installed (IQ > Integration Library). +In this setup, Riverbed IQ Assist uses the associated Configuration Item (CI) to identify the User Endpoint. +1. Download the runbook file: [Riverbed IQ Assist for ServiceNow - Incident - Diagnose User Endpoint](./Riverbed%20IQ%20Assist%20for%20ServiceNow%20-%20Incident%20-%20Diagnose%20User%20Endpoint.json). +2. In IQ, go to Automation > External Runbooks and import the JSON. +3. Open the imported runbook and enable "Allow Automation" -## Quick Setup +## Custom Field Setup + +In this setup, Riverbed IQ Assist will extract a custom field of the Incident record that contain the User Endpoint to analyse. + +1. Download the custom runbook: [Riverbed IQ Assist for ServiceNow - Incident - Diagnose User Endpoint](./Riverbed%20IQ%20Assist%20for%20ServiceNow%20-%20Incident%20-%20Diagnose%20User%20Endpoint%20from%20Incident%20Custom%20Field.json). +2. In IQ, go to Automation > External Runbooks and import the JSON. +3. Open the imported runbook and enable "Allow Automation" + +## Other Setup + +You can customize the setup to leverage other Riverbed IQ Assist skills. For example, the [runbook 105](../105-riverbed-iq-assist-for-servicenow-incident-caller-endpoint-diagnostic/) uses a skill to find the user endpoint. -After downloading the [runbook file](./Riverbed%20IQ%20Assist%20for%20ServiceNow%20-%20Incident%20-%20Diagnose%20User%20Endpoint.json), go to IQ Automation, import the runbook in the External Runbooks. And toggle "Allow Automation" on. ### License diff --git a/IQ/Automation/External Runbooks/101-riverbed-iq-assist-for-servicenow-incident-diagnose-user-endpoint/Riverbed IQ Assist for ServiceNow - Incident - Diagnose User Endpoint from Incident Custom Field.json b/IQ/Automation/External Runbooks/101-riverbed-iq-assist-for-servicenow-incident-diagnose-user-endpoint/Riverbed IQ Assist for ServiceNow - Incident - Diagnose User Endpoint from Incident Custom Field.json new file mode 100644 index 0000000..7d823f7 --- /dev/null +++ b/IQ/Automation/External Runbooks/101-riverbed-iq-assist-for-servicenow-incident-diagnose-user-endpoint/Riverbed IQ Assist for ServiceNow - Incident - Diagnose User Endpoint from Incident Custom Field.json @@ -0,0 +1,1054 @@ +{ + "runbook": { + "id": "9478d2fe-9bf4-4c3d-adee-53897b21410d", + "createdTime": "1761291982.217380600", + "lastUpdatedTime": "1761293055.773627100", + "factoryResourceName": null, + "isFactory": false, + "name": "Riverbed IQ Assist for ServiceNow - Incident - Diagnose User Endpoint from Incident Custom Field", + "description": "Triggered in the context of an Incident in ServiceNow, the runbook will find the user endpoint from an incident custom field, and enrich the incident record with a diagnostic insight.", + "isReady": true, + "triggerType": "webhook", + "runtimeVariables": { + "primitiveVariables": [ + { + "type": "string", + "defaultValue": null, + "name": "runtime.Sys_Id", + "isReadonly": false + }, + { + "type": "string", + "defaultValue": null, + "name": "runtime.Number", + "isReadonly": false + }, + { + "type": "string", + "defaultValue": null, + "name": "runtime.Error_Message", + "isReadonly": false + }, + { + "type": "boolean", + "defaultValue": null, + "name": "runtime.Successful", + "isReadonly": false + }, + { + "type": "string", + "defaultValue": null, + "name": "runtime.ServiceNow_Incident_Sys_Id", + "isReadonly": false + }, + { + "type": "string", + "defaultValue": null, + "name": "runtime.ServiceNow_User_Data", + "isReadonly": false + }, + { + "type": "string", + "defaultValue": null, + "name": "runtime.ServiceNow_Configuration_Item", + "isReadonly": false + }, + { + "type": "string", + "defaultValue": null, + "name": "runtime.ServiceNow_Incident_Number", + "isReadonly": false + }, + { + "type": "string", + "defaultValue": null, + "name": "runtime.ServiceNow_Configuration_Item_Sys_Id", + "isReadonly": false + }, + { + "type": "string", + "defaultValue": "", + "name": "runtime.ServiceNow_API_Base_URL", + "isReadonly": false + }, + { + "type": "string", + "defaultValue": null, + "name": "runtime.ServiceNow_Configuration_Item_URL", + "isReadonly": false + }, + { + "type": "string", + "defaultValue": null, + "name": "runtime.ServiceNow_Incident_URL", + "isReadonly": false + }, + { + "type": "string", + "defaultValue": null, + "name": "runtime.Aternity_EUEM_DEVICE_NAME", + "isReadonly": false + }, + { + "type": "integer", + "defaultValue": null, + "name": "runtime.total_duration", + "isReadonly": false + }, + { + "type": "string", + "defaultValue": null, + "name": "runtime.Findings_CPU_MEM", + "isReadonly": false + }, + { + "type": "string", + "defaultValue": null, + "name": "runtime.Findings_IO", + "isReadonly": false + }, + { + "type": "string", + "defaultValue": null, + "name": "runtime.Findings_HEALTH", + "isReadonly": false + }, + { + "type": "string", + "defaultValue": null, + "name": "runtime.SVG_CPU_MEM", + "isReadonly": false + }, + { + "type": "string", + "defaultValue": null, + "name": "runtime.SVG_WIFI_Signal_Strength", + "isReadonly": false + }, + { + "type": "string", + "defaultValue": null, + "name": "runtime.Findings_WIFI", + "isReadonly": false + }, + { + "type": "string", + "defaultValue": null, + "name": "runtime.SVG_WIFI_Transmission_Speed", + "isReadonly": false + }, + { + "type": "string", + "defaultValue": null, + "name": "runtime.SVG_NPM_Traffic", + "isReadonly": false + }, + { + "type": "string", + "defaultValue": null, + "name": "runtime.SVG_NPM_RTCC", + "isReadonly": false + }, + { + "type": "string", + "defaultValue": null, + "name": "runtime.Findings_NPM", + "isReadonly": false + }, + { + "type": "string", + "defaultValue": null, + "name": "runtime.SVG_IO_RATE_RW", + "isReadonly": false + }, + { + "type": "string", + "defaultValue": null, + "name": "runtime.SVG_IO_DISK_QUEUE_LENGTH", + "isReadonly": false + }, + { + "type": "string", + "defaultValue": null, + "name": "runtime.Insight", + "isReadonly": false + }, + { + "type": "boolean", + "defaultValue": "true", + "name": "runtime.ENABLE_FEATURE_Post_to_ServiceNow", + "isReadonly": false + }, + { + "type": "boolean", + "defaultValue": "true", + "name": "runtime.ENABLE_FEATURE_Display_Logs", + "isReadonly": false + }, + { + "type": "string", + "defaultValue": null, + "name": "runtime.User_Endpoint_Name", + "isReadonly": false + }, + { + "type": "string", + "defaultValue": null, + "name": "runtime.CMDB_CI", + "isReadonly": false + }, + { + "type": "string", + "defaultValue": null, + "name": "runtime.Problem_ID", + "isReadonly": false + }, + { + "type": "string", + "defaultValue": null, + "name": "runtime.Caller_ID", + "isReadonly": false + }, + { + "type": "string", + "defaultValue": null, + "name": "runtime.Caller_Username", + "isReadonly": false + }, + { + "type": "string", + "defaultValue": null, + "name": "runtime.Caller_Display_Name", + "isReadonly": false + }, + { + "type": "string", + "defaultValue": null, + "name": "runtime.Caller_Email", + "isReadonly": false + }, + { + "type": "string", + "defaultValue": null, + "name": "runtime.Suggested_User_Device", + "isReadonly": false + } + ], + "structuredVariables": [] + }, + "subflowVariables": null, + "nodes": [ + { + "id": "cb2c6784-67b9-462f-a183-d4c970fba527", + "isIntegrationSubflowNode": false, + "type": "trigger", + "label": "Riverbed IQ Assist invoked in ServiceNow Incident", + "description": "", + "properties": { + "x": 217.00399189370114, + "y": 391.46576340223044, + "triggerType": "webhook", + "timeReference": "RUNBOOK_EXECUTION", + "timeOffset": 900, + "debug": false + }, + "wires": [ + [ + "5b90c82e-6fe8-4f4c-b706-b3d55e0355b1" + ] + ] + }, + { + "id": "3eb33558-adc5-4906-b2f6-b6d9edf56eee", + "isIntegrationSubflowNode": false, + "type": "comment", + "label": "Comment Setup Notes", + "description": "", + "properties": { + "x": 228, + "y": 770, + "comment": "
Prerequisites
- Riverbed IQ Assist app is installed and configured.
- IQ Assist opt-in is enabled and the integration is configured.
- Aternity integration is configured.
- ServiceNow integration is configured, with a connector for Riverbed IQ Assist enabled.
Setup
This runbook can be installed in Riverbed IQ as follows:
Riverbed IQ Assist for ServiceNow
Runbook for Incident in ServiceNow: Diagnose User Endpoint from Incident Custom Field
version: 2025-10-24
", + "debug": false + }, + "wires": [] + }, + { + "id": "7d3a7296-44da-4f29-bf4f-87f579f5696e", + "isIntegrationSubflowNode": false, + "type": "insight", + "label": "Display Info", + "description": "", + "properties": { + "x": 1484.3389306522304, + "y": 269.97618612636074, + "template": "ServiceNow Incident Number: {{variables[\"runtime.ServiceNow_Incident_Number\"]}}
Suggested User Endpoint: {{variables[\"runtime.User_Endpoint_Name\"]}}
{{variables[\"runtime.Insight\"]}}
", + "debug": false + }, + "wires": [] + }, + { + "id": "eb7a886f-a811-498c-b35c-07f5ccfe98a5", + "isIntegrationSubflowNode": false, + "type": "comment", + "label": "Comment 1", + "description": "", + "properties": { + "x": 506.00399189370114, + "y": 490, + "comment": "Payload example
{
\"recordType\" : \"incident\",
\"recordID\" : \"e51dccec878c\",
\"recordNumber\" : \"INC0013262\"
}
Data not found. Please check the User Endpoint information.
", + "debug": false + }, + "wires": [] + }, + { + "id": "41289d27-6f06-4426-85ea-581916a284a1", + "isIntegrationSubflowNode": false, + "type": "set_primitive_variables", + "label": "Extract Incident Custom Field (Endpoint)", + "description": "", + "properties": { + "x": 1000.2558208120836, + "y": 400, + "variables": [ + { + "name": "runtime.User_Endpoint_Name" + } + ], + "transformTemplate": "{\n\"runtime.User_Endpoint_Name\": \"valueOfVariable{{node_input.output[\"data\"][0].keys[\"Custom1\"]}}\"\n}", + "debug": false + }, + "wires": [ + [ + "b015071c-9c7e-4a8d-9bea-be3365337436" + ] + ] + }, + { + "id": "26bac37f-bfd5-4ff3-a8b4-54b8e7307c33", + "isIntegrationSubflowNode": false, + "type": "comment", + "label": "Comment", + "description": "", + "properties": { + "x": 689.7508315445839, + "y": 100, + "comment": "Customization
Select the custom field to fetch from the Incident record in ServiceNow and map to an entity output property
For example:
* Custom field: x_atern_incident_user_device
* Property: Custom1
", + "debug": false + }, + "wires": [] + } + ], + "lastUpdatedUser": "Runbook Export", + "createdByUser": "Runbook Export", + "eTag": "W/\"datetime'2025-10-24T08%3A04%3A15.777255Z'\"", + "variant": "incident", + "seriesId": "9478d2fe-9bf4-4c3d-adee-53897b21410d", + "version": "1.0", + "otherVersions": null, + "isScheduled": false, + "isValidated": true, + "isProprietary": false + }, + "dependencies": [ + { + "id": "f4c88032-d05f-4d27-ad96-a1f844c66ba5", + "type": "subflow", + "name": "ServiceNow: Post Comment", + "globalId": "ServiceNow::Post_Comment", + "originalVersion": "1.0.4", + "nodeLabel": "ServiceNow: Post Comment", + "sourceLocation": "integrationLibrary", + "sourcePackageId": "ServiceNow" + }, + { + "id": "663d7c90-2b9e-4500-82eb-f4d9361140b6", + "type": "subflow", + "name": "Skill: Diagnose User Endpoint", + "globalId": "Aternity::Diagnose_User_Endpoint", + "originalVersion": "1.0.1", + "nodeLabel": "Skill: Diagnose User Endpoint", + "sourceLocation": "integrationLibrary", + "sourcePackageId": "Aternity" + }, + { + "id": "63ff53ff-b315-4915-bb88-2c7abf9ec24f", + "type": "subflow", + "name": "Skill: Generate Insight", + "globalId": "RiverbedIQAssist::Generate_Insight", + "originalVersion": "1.0.2", + "nodeLabel": "Skill: Generate Insight", + "sourceLocation": "integrationLibrary", + "sourcePackageId": "RiverbedIQAssist" + }, + { + "id": "352073eb-8d20-4cab-9f7f-db36234a1f51", + "type": "subflow", + "name": "Aternity: Create User Device", + "globalId": "Aternity::Create_User_Device", + "originalVersion": "1.0.2", + "nodeLabel": "Fetch User Endpoint (Aternity EUEM)", + "sourceLocation": "integrationLibrary", + "sourcePackageId": "Aternity" + }, + { + "id": "3eb3f06e-4d0f-4f35-8197-7895de70a265", + "type": "subflow", + "name": "ServiceNow: Get Incident Details", + "globalId": "ServiceNow::Get_Incident_Details", + "originalVersion": "2.0.2", + "nodeLabel": "ServiceNow: Get Incident Details", + "sourceLocation": "integrationLibrary", + "sourcePackageId": "ServiceNow" + }, + { + "id": "f4c88032-d05f-4d27-ad96-a1f844c66ba5", + "type": "subflow", + "name": "ServiceNow: Post Comment", + "globalId": "ServiceNow::Post_Comment", + "originalVersion": "1.0.4", + "nodeLabel": "ServiceNow: Post Data not found", + "sourceLocation": "integrationLibrary", + "sourcePackageId": "ServiceNow" + } + ], + "token": "09ro0qSBk77APBt5OMMxuZnQ80e9WeN8hsalWAFW38Y=" +} \ No newline at end of file From c89c1d83b1d8b00c7144f10c0c29e0a039522e92 Mon Sep 17 00:00:00 2001 From: Gwen Blum <19484478+gwenblum@users.noreply.github.com> Date: Fri, 24 Oct 2025 10:15:16 +0200 Subject: [PATCH 2/4] IQ Assist: update runbook 101 CI and Custom Field setup --- .../README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/IQ/Automation/External Runbooks/101-riverbed-iq-assist-for-servicenow-incident-diagnose-user-endpoint/README.md b/IQ/Automation/External Runbooks/101-riverbed-iq-assist-for-servicenow-incident-diagnose-user-endpoint/README.md index c14f28e..c40d6b0 100644 --- a/IQ/Automation/External Runbooks/101-riverbed-iq-assist-for-servicenow-incident-diagnose-user-endpoint/README.md +++ b/IQ/Automation/External Runbooks/101-riverbed-iq-assist-for-servicenow-incident-diagnose-user-endpoint/README.md @@ -16,7 +16,7 @@ When triggered from ServiceNow, the runbook diagnoses the user’s endpoint and ## CI Setup -In this setup, Riverbed IQ Assist uses the associated Configuration Item (CI) to identify the User Endpoint. +In this setup, Riverbed IQ Assist uses the Incident’s associated Configuration Item (CI) to identify the user endpoint to diagnose. 1. Download the runbook file: [Riverbed IQ Assist for ServiceNow - Incident - Diagnose User Endpoint](./Riverbed%20IQ%20Assist%20for%20ServiceNow%20-%20Incident%20-%20Diagnose%20User%20Endpoint.json). 2. In IQ, go to Automation > External Runbooks and import the JSON. @@ -24,7 +24,7 @@ In this setup, Riverbed IQ Assist uses the associated Configuration Item (CI) to ## Custom Field Setup -In this setup, Riverbed IQ Assist will extract a custom field of the Incident record that contain the User Endpoint to analyse. +In this setup, Riverbed IQ Assist reads a custom Incident field that contains the user endpoint to analyze. 1. Download the custom runbook: [Riverbed IQ Assist for ServiceNow - Incident - Diagnose User Endpoint](./Riverbed%20IQ%20Assist%20for%20ServiceNow%20-%20Incident%20-%20Diagnose%20User%20Endpoint%20from%20Incident%20Custom%20Field.json). 2. In IQ, go to Automation > External Runbooks and import the JSON. From d2d66820f09817beff81a5db8a6ceaaea1df0133 Mon Sep 17 00:00:00 2001 From: Gwen Blum <19484478+gwenblum@users.noreply.github.com> Date: Mon, 27 Oct 2025 09:06:05 +0100 Subject: [PATCH 3/4] IQ Assist for ServiceNow: update 101 with custom field --- ...r Endpoint from Incident Custom Field.json | 68 +++++++++---------- 1 file changed, 33 insertions(+), 35 deletions(-) diff --git a/IQ/Automation/External Runbooks/101-riverbed-iq-assist-for-servicenow-incident-diagnose-user-endpoint/Riverbed IQ Assist for ServiceNow - Incident - Diagnose User Endpoint from Incident Custom Field.json b/IQ/Automation/External Runbooks/101-riverbed-iq-assist-for-servicenow-incident-diagnose-user-endpoint/Riverbed IQ Assist for ServiceNow - Incident - Diagnose User Endpoint from Incident Custom Field.json index 7d823f7..d6efa95 100644 --- a/IQ/Automation/External Runbooks/101-riverbed-iq-assist-for-servicenow-incident-diagnose-user-endpoint/Riverbed IQ Assist for ServiceNow - Incident - Diagnose User Endpoint from Incident Custom Field.json +++ b/IQ/Automation/External Runbooks/101-riverbed-iq-assist-for-servicenow-incident-diagnose-user-endpoint/Riverbed IQ Assist for ServiceNow - Incident - Diagnose User Endpoint from Incident Custom Field.json @@ -2,11 +2,11 @@ "runbook": { "id": "9478d2fe-9bf4-4c3d-adee-53897b21410d", "createdTime": "1761291982.217380600", - "lastUpdatedTime": "1761293055.773627100", + "lastUpdatedTime": "1761552041.670079800", "factoryResourceName": null, "isFactory": false, "name": "Riverbed IQ Assist for ServiceNow - Incident - Diagnose User Endpoint from Incident Custom Field", - "description": "Triggered in the context of an Incident in ServiceNow, the runbook will find the user endpoint from an incident custom field, and enrich the incident record with a diagnostic insight.", + "description": "Triggered in the context of an Incident in ServiceNow, the runbook will find the user endpoint from a custom field, and enrich the incident record with a diagnostic insight.", "isReady": true, "triggerType": "webhook", "runtimeVariables": { @@ -232,6 +232,12 @@ "defaultValue": null, "name": "runtime.Suggested_User_Device", "isReadonly": false + }, + { + "type": "string", + "defaultValue": "x_atern_incident_user_device", + "name": "runtime.ServiceNow_Incident_Custom_Fields", + "isReadonly": false } ], "structuredVariables": [] @@ -267,7 +273,7 @@ "properties": { "x": 228, "y": 770, - "comment": "Prerequisites
- Riverbed IQ Assist app is installed and configured.
- IQ Assist opt-in is enabled and the integration is configured.
- Aternity integration is configured.
- ServiceNow integration is configured, with a connector for Riverbed IQ Assist enabled.
Setup
This runbook can be installed in Riverbed IQ as follows:
Prerequisites
- Riverbed IQ Assist app is installed and configured.
- IQ Assist opt-in is enabled and the integration is configured.
- Aternity integration is configured.
- ServiceNow integration is configured, with a connector for Riverbed IQ Assist enabled.
Setup
This runbook can be installed in Riverbed IQ as follows:
Configure Custom Fields
Edit the runbook variables and configure the Default value of the variable ServiceNow_Incident_Custom_Fields.
Set the name of the custom field to be fetched from the Incident record in ServiceNow, for example: \"yourfield1\" (at runtime, the output of the ServiceNow Get Incident Details node will contain the value in the entity output property Custom1)
Riverbed IQ Assist for ServiceNow
Runbook for Incident in ServiceNow: Diagnose User Endpoint from Incident Custom Field
version: 2025-10-24
", + "comment": "Riverbed IQ Assist for ServiceNow
Runbook for Incident in ServiceNow: Diagnose User Endpoint from Incident Custom Field
version: 2025-10-27-2
", "debug": false }, "wires": [] @@ -679,8 +685,8 @@ }, "wires": [ [ - "20829265-d406-427b-bfda-74b371d2c196", - "7d3a7296-44da-4f29-bf4f-87f579f5696e" + "7d3a7296-44da-4f29-bf4f-87f579f5696e", + "ab937ac1-c525-40b1-a783-b6224c86b755" ] ] }, @@ -691,7 +697,7 @@ "label": "Get inventory details (Data Store)", "description": "", "properties": { - "x": 1489.7964187882017, + "x": 1773.7964187882017, "y": 400, "objType": "aternity_device_inventory.traffic", "timeSeries": false, @@ -714,7 +720,7 @@ }, "wires": [ [ - "ab937ac1-c525-40b1-a783-b6224c86b755" + "8f867e03-1735-4570-852b-b2f4ced3d458" ] ] }, @@ -727,8 +733,8 @@ "properties": { "x": 738.7508315445839, "y": 400, - "debug": true, - "configurationId": "3eb3f06e-4d0f-4f35-8197-7895de70a265", + "debug": false, + "configurationId": "c72fa9e8-fc68-40ab-a20e-62a930940a61", "in": [ { "inner": "subflow.ServiceNow_Connector", @@ -747,6 +753,11 @@ "outer": "runtime.ServiceNow_Incident_Sys_Id", "method": "runtime", "isUnset": false + }, + { + "inner": "subflow.Custom_Fields", + "outer": "runtime.ServiceNow_Incident_Custom_Fields", + "method": "runtime" } ], "out": [ @@ -805,7 +816,7 @@ "label": "Found?", "description": "", "properties": { - "x": 1716.509247993817, + "x": 1477.509247993817, "y": 400, "dataType": "SUMMARY", "inputType": "aternity_device_inventory.traffic", @@ -855,7 +866,7 @@ }, "wires": [ [ - "8f867e03-1735-4570-852b-b2f4ced3d458" + "20829265-d406-427b-bfda-74b371d2c196" ], [ "1dfe1b8b-bcac-4ef0-a26c-ed60a0b8b040", @@ -878,7 +889,8 @@ { "inner": "subflow.Connector", "outer": "00000000-0000-0000-0000-000000000000", - "method": "connector" + "method": "connector", + "isUnset": false }, { "inner": "subflow.Record_Type", @@ -943,7 +955,7 @@ "id": "41289d27-6f06-4426-85ea-581916a284a1", "isIntegrationSubflowNode": false, "type": "set_primitive_variables", - "label": "Extract Incident Custom Field (Endpoint)", + "label": "Extract Endpoint Name from Incident Custom Field (Endpoint)", "description": "", "properties": { "x": 1000.2558208120836, @@ -953,7 +965,7 @@ "name": "runtime.User_Endpoint_Name" } ], - "transformTemplate": "{\n\"runtime.User_Endpoint_Name\": \"valueOfVariable{{node_input.output[\"data\"][0].keys[\"Custom1\"]}}\"\n}", + "transformTemplate": "{\n\"runtime.User_Endpoint_Name\": \"{{node_input.output[\"data\"][0].keys[\"Custom1\"]}}\"\n}", "debug": false }, "wires": [ @@ -961,25 +973,11 @@ "b015071c-9c7e-4a8d-9bea-be3365337436" ] ] - }, - { - "id": "26bac37f-bfd5-4ff3-a8b4-54b8e7307c33", - "isIntegrationSubflowNode": false, - "type": "comment", - "label": "Comment", - "description": "", - "properties": { - "x": 689.7508315445839, - "y": 100, - "comment": "Customization
Select the custom field to fetch from the Incident record in ServiceNow and map to an entity output property
For example:
* Custom field: x_atern_incident_user_device
* Property: Custom1
", - "debug": false - }, - "wires": [] } ], "lastUpdatedUser": "Runbook Export", "createdByUser": "Runbook Export", - "eTag": "W/\"datetime'2025-10-24T08%3A04%3A15.777255Z'\"", + "eTag": "W/\"datetime'2025-10-27T08%3A00%3A41.6803905Z'\"", "variant": "incident", "seriesId": "9478d2fe-9bf4-4c3d-adee-53897b21410d", "version": "1.0", @@ -1030,11 +1028,11 @@ "sourcePackageId": "Aternity" }, { - "id": "3eb3f06e-4d0f-4f35-8197-7895de70a265", + "id": "c72fa9e8-fc68-40ab-a20e-62a930940a61", "type": "subflow", "name": "ServiceNow: Get Incident Details", "globalId": "ServiceNow::Get_Incident_Details", - "originalVersion": "2.0.2", + "originalVersion": "3.0.0", "nodeLabel": "ServiceNow: Get Incident Details", "sourceLocation": "integrationLibrary", "sourcePackageId": "ServiceNow" @@ -1050,5 +1048,5 @@ "sourcePackageId": "ServiceNow" } ], - "token": "09ro0qSBk77APBt5OMMxuZnQ80e9WeN8hsalWAFW38Y=" + "token": "BuxPrzQZ5qcz9p0/YNwDW+ZrE6GTXZFxp+U6n04yTgs=" } \ No newline at end of file From 51616a7c76b462c439be4368fc381f8dba789f6f Mon Sep 17 00:00:00 2001 From: Gwen Blum <19484478+gwenblum@users.noreply.github.com> Date: Mon, 27 Oct 2025 09:07:57 +0100 Subject: [PATCH 4/4] IQ Assist for ServiceNow: update deps 105 - 106 --- ...Incident - Caller Endpoint Diagnostic.json | 22 +++++++++++-------- ...Now - Incident - Find Caller Endpoint.json | 20 ++++++++++------- 2 files changed, 25 insertions(+), 17 deletions(-) diff --git a/IQ/Automation/External Runbooks/105-riverbed-iq-assist-for-servicenow-incident-caller-endpoint-diagnostic/Riverbed IQ Assist for ServiceNow - Incident - Caller Endpoint Diagnostic.json b/IQ/Automation/External Runbooks/105-riverbed-iq-assist-for-servicenow-incident-caller-endpoint-diagnostic/Riverbed IQ Assist for ServiceNow - Incident - Caller Endpoint Diagnostic.json index 88ace83..2f5178b 100644 --- a/IQ/Automation/External Runbooks/105-riverbed-iq-assist-for-servicenow-incident-caller-endpoint-diagnostic/Riverbed IQ Assist for ServiceNow - Incident - Caller Endpoint Diagnostic.json +++ b/IQ/Automation/External Runbooks/105-riverbed-iq-assist-for-servicenow-incident-caller-endpoint-diagnostic/Riverbed IQ Assist for ServiceNow - Incident - Caller Endpoint Diagnostic.json @@ -2,7 +2,7 @@ "runbook": { "id": "25ec2bb3-fc1a-49e3-a9d0-05544ee50dea", "createdTime": "1760882179.402161200", - "lastUpdatedTime": "1760955091.472858400", + "lastUpdatedTime": "1761549277.461251500", "factoryResourceName": null, "isFactory": false, "name": "Riverbed IQ Assist for ServiceNow - Incident - Caller Endpoint Diagnostic", @@ -302,7 +302,7 @@ } ], "transformTemplate": "{\n \"runtime.ServiceNow_API_Base_URL\" : \"https://{{variables[\"runtime.ServiceNow_ENV\"]}}.service-now.com\",\n \"runtime.ServiceNow_Incident_Sys_Id\": \"{{trigger[\"requestBody\"][\"recordID\"]}}\",\n \"runtime.ServiceNow_User_Data\": \"{{trigger[\"requestBody\"][\"user\"]}}\",\n \"runtime.ServiceNow_Configuration_Item\": \"{{trigger[\"requestBody\"][\"ciName\"]}}\",\n \"runtime.ServiceNow_Configuration_Item_Sys_Id\": \"{{trigger[\"requestBody\"][\"ciID\"]}}\",\n \"runtime.ServiceNow_Incident_Number\": \"{{trigger[\"requestBody\"][\"recordNumber\"]}}\"\n}\n", - "debug": true + "debug": false }, "wires": [ [ @@ -319,7 +319,7 @@ "properties": { "x": 226, "y": 530, - "comment": "Riverbed IQ Assist for ServiceNow
Runbook for Incident in ServiceNow: Caller Endpoint Diagnostic
version: 2025-10-20-2
", + "comment": "Riverbed IQ Assist for ServiceNow
Runbook for Incident in ServiceNow: Caller Endpoint Diagnostic
version: 2025-10-27-1
", "debug": false }, "wires": [] @@ -860,8 +860,8 @@ "properties": { "x": 640, "y": 400, - "debug": true, - "configurationId": "3eb3f06e-4d0f-4f35-8197-7895de70a265", + "debug": false, + "configurationId": "c72fa9e8-fc68-40ab-a20e-62a930940a61", "in": [ { "inner": "subflow.ServiceNow_Connector", @@ -880,6 +880,10 @@ "outer": "runtime.ServiceNow_Incident_Sys_Id", "method": "runtime", "isUnset": false + }, + { + "inner": "subflow.Custom_Fields", + "outer": "" } ], "out": [ @@ -998,7 +1002,7 @@ ], "lastUpdatedUser": "Runbook Export", "createdByUser": "Runbook Export", - "eTag": "W/\"datetime'2025-10-20T10%3A11%3A31.4802777Z'\"", + "eTag": "W/\"datetime'2025-10-27T07%3A14%3A37.4726135Z'\"", "variant": "incident", "seriesId": "25ec2bb3-fc1a-49e3-a9d0-05544ee50dea", "version": "1.0", @@ -1069,15 +1073,15 @@ "sourcePackageId": "Aternity" }, { - "id": "3eb3f06e-4d0f-4f35-8197-7895de70a265", + "id": "c72fa9e8-fc68-40ab-a20e-62a930940a61", "type": "subflow", "name": "ServiceNow: Get Incident Details", "globalId": "ServiceNow::Get_Incident_Details", - "originalVersion": "2.0.2", + "originalVersion": "3.0.0", "nodeLabel": "ServiceNow: Get Incident Details", "sourceLocation": "integrationLibrary", "sourcePackageId": "ServiceNow" } ], - "token": "gbW7J7inCg/pszZ4wG3fDtX14AV4Ym7W5wpmMw6lL+Q=" + "token": "bGjfYk06zcLD4dTriCfA9/XM0rmcWvRQnZKHln6vv4g=" } \ No newline at end of file diff --git a/IQ/Automation/External Runbooks/106-riverbed-iq-assist-for-servicenow-incident-find-caller-endpoint/Riverbed IQ Assist for ServiceNow - Incident - Find Caller Endpoint.json b/IQ/Automation/External Runbooks/106-riverbed-iq-assist-for-servicenow-incident-find-caller-endpoint/Riverbed IQ Assist for ServiceNow - Incident - Find Caller Endpoint.json index 5e74bb8..72e1b1a 100644 --- a/IQ/Automation/External Runbooks/106-riverbed-iq-assist-for-servicenow-incident-find-caller-endpoint/Riverbed IQ Assist for ServiceNow - Incident - Find Caller Endpoint.json +++ b/IQ/Automation/External Runbooks/106-riverbed-iq-assist-for-servicenow-incident-find-caller-endpoint/Riverbed IQ Assist for ServiceNow - Incident - Find Caller Endpoint.json @@ -2,7 +2,7 @@ "runbook": { "id": "a0063bb8-2a49-472f-8412-0b23a0e8585e", "createdTime": "1760964742.895353200", - "lastUpdatedTime": "1760965047.825387300", + "lastUpdatedTime": "1761549354.554637900", "factoryResourceName": null, "isFactory": false, "name": "Riverbed IQ Assist for ServiceNow - Incident - Find Caller Endpoint", @@ -319,7 +319,7 @@ "properties": { "x": 226, "y": 530, - "comment": "Riverbed IQ Assist for ServiceNow
Runbook for Incident in ServiceNow: Find Caller Endpoint
version: 2025-10-20-1
", + "comment": "Riverbed IQ Assist for ServiceNow
Runbook for Incident in ServiceNow: Find Caller Endpoint
version: 2025-10-27-1
", "debug": false }, "wires": [] @@ -561,8 +561,8 @@ "properties": { "x": 640, "y": 400, - "debug": true, - "configurationId": "3eb3f06e-4d0f-4f35-8197-7895de70a265", + "debug": false, + "configurationId": "c72fa9e8-fc68-40ab-a20e-62a930940a61", "in": [ { "inner": "subflow.ServiceNow_Connector", @@ -581,6 +581,10 @@ "outer": "runtime.ServiceNow_Incident_Sys_Id", "method": "runtime", "isUnset": false + }, + { + "inner": "subflow.Custom_Fields", + "outer": "" } ], "out": [ @@ -699,7 +703,7 @@ ], "lastUpdatedUser": "Runbook Export", "createdByUser": "Runbook Export", - "eTag": "W/\"datetime'2025-10-20T12%3A57%3A27.83752Z'\"", + "eTag": "W/\"datetime'2025-10-27T07%3A15%3A54.5620525Z'\"", "variant": "incident", "seriesId": "a0063bb8-2a49-472f-8412-0b23a0e8585e", "version": "1.0", @@ -740,15 +744,15 @@ "sourcePackageId": "Aternity" }, { - "id": "3eb3f06e-4d0f-4f35-8197-7895de70a265", + "id": "c72fa9e8-fc68-40ab-a20e-62a930940a61", "type": "subflow", "name": "ServiceNow: Get Incident Details", "globalId": "ServiceNow::Get_Incident_Details", - "originalVersion": "2.0.2", + "originalVersion": "3.0.0", "nodeLabel": "ServiceNow: Get Incident Details", "sourceLocation": "integrationLibrary", "sourcePackageId": "ServiceNow" } ], - "token": "9RyGwEv4VTKFVd4ADfXiXUaJIlAfEoN2qRBdY2Lp4jY=" + "token": "B7hJ0KlDOORXkOVXbn4bBTmVm6eeUs2+qryE2PAuyx8=" } \ No newline at end of file