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:

  1. Import this runbook file from the External Runbooks page. Make sure to select connectors in the import dialog.
  2. Enable Allow Automation on the imported runbook in the External Runbooks page. 
  3. Create automation rule to link a webhook call to this runbook.
  4. Make sure ServiceNow app is configured with the appropriate webhook URL.
", + "debug": false + }, + "wires": [] + }, + { + "id": "5b90c82e-6fe8-4f4c-b706-b3d55e0355b1", + "isIntegrationSubflowNode": false, + "type": "set_primitive_variables", + "label": "Extract Incident Basic Info", + "description": "", + "properties": { + "x": 419.8185145156033, + "y": 397.71056093170466, + "variables": [ + { + "name": "runtime.ServiceNow_Incident_Sys_Id" + }, + { + "name": "runtime.ServiceNow_User_Data" + }, + { + "name": "runtime.ServiceNow_Configuration_Item" + }, + { + "name": "runtime.ServiceNow_Incident_Number" + }, + { + "name": "runtime.ServiceNow_Configuration_Item_Sys_Id" + }, + { + "name": "runtime.ServiceNow_API_Base_URL" + } + ], + "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 + }, + "wires": [ + [ + "6f97675e-6163-4ceb-be53-9c560ce3fc0b" + ] + ] + }, + { + "id": "c5348045-6321-4f50-8bac-8a0bdfb1b9d2", + "isIntegrationSubflowNode": false, + "type": "comment", + "label": "Comment Setup Notes 1", + "description": "", + "properties": { + "x": 229, + "y": 490, + "comment": "

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\"]}}


", + "debug": false + }, + "wires": [] + }, + { + "id": "eb8791c5-892d-492e-a505-0b011f292841", + "isIntegrationSubflowNode": false, + "type": "subflow", + "label": "ServiceNow: Post Comment", + "description": "Add a comment or work notes to a ServiceNow incident or problem.\nIf it fails to be added, an error message will be returned.", + "properties": { + "x": 2503.9313547115403, + "y": 416.19650754643294, + "debug": false, + "configurationId": "f4c88032-d05f-4d27-ad96-a1f844c66ba5", + "in": [ + { + "inner": "subflow.Connector", + "outer": "00000000-0000-0000-0000-000000000000", + "method": "connector", + "isUnset": false + }, + { + "inner": "subflow.Record_Type", + "outer": "incident", + "method": "static", + "isUnset": false + }, + { + "inner": "subflow.Sys_Id", + "outer": "runtime.ServiceNow_Incident_Sys_Id", + "method": "runtime", + "isUnset": false + }, + { + "inner": "subflow.Content", + "outer": "runtime.Insight", + "method": "runtime", + "isUnset": false + }, + { + "inner": "subflow.Visibility", + "outer": "work_notes", + "method": "static", + "isUnset": false + }, + { + "inner": "subflow.Format", + "outer": "html", + "method": "static" + } + ], + "out": [ + { + "inner": "subflow.Successful", + "outer": "" + }, + { + "inner": "subflow.Error_Message", + "outer": "" + } + ], + "runAsSingleActivity": true + }, + "wires": [] + }, + { + "id": "a99a2434-229a-42e6-bef8-6fde85165089", + "isIntegrationSubflowNode": false, + "type": "rvbd_ui_text", + "label": "Show Insight", + "description": "", + "properties": { + "x": 2511.413583003443, + "y": 562.784962885423, + "title": "Show Insight", + "row": "10", + "notes": "

{{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\"
}

", + "debug": false + }, + "wires": [] + }, + { + "id": "8f867e03-1735-4570-852b-b2f4ced3d458", + "isIntegrationSubflowNode": false, + "type": "subflow", + "label": "Skill: Diagnose User Endpoint", + "description": "Diagnose user endpoint based on health events and metrics such as CPU/memory, I/O and Wi-Fi (signal strength and transmission speed).", + "properties": { + "x": 2020.521550224495, + "y": 400, + "debug": false, + "configurationId": "663d7c90-2b9e-4500-82eb-f4d9361140b6", + "in": [ + { + "inner": "subflow.Aternity_Connector", + "outer": "00000000-0000-0000-0000-000000000000", + "method": "connector", + "isUnset": false + }, + { + "inner": "subflow.Device_Name", + "outer": "runtime.User_Endpoint_Name", + "method": "runtime", + "isUnset": false + } + ], + "out": [ + { + "inner": "subflow.Successful", + "outer": "runtime.Successful", + "method": "runtime" + }, + { + "inner": "subflow.Error_Message", + "outer": "runtime.Error_Message", + "method": "runtime" + }, + { + "inner": "subflow.Findings_HEALTH", + "outer": "runtime.Findings_HEALTH", + "method": "runtime" + }, + { + "inner": "subflow.Findings_WIFI", + "outer": "runtime.Findings_WIFI", + "method": "runtime" + }, + { + "inner": "subflow.Findings_CPU_MEM", + "outer": "runtime.Findings_CPU_MEM", + "method": "runtime" + }, + { + "inner": "subflow.Findings_NPM", + "outer": "runtime.Findings_NPM", + "method": "runtime" + }, + { + "inner": "subflow.Findings_IO", + "outer": "runtime.Findings_IO", + "method": "runtime" + }, + { + "inner": "subflow.SVG_CPU_MEM", + "outer": "runtime.SVG_CPU_MEM", + "method": "runtime" + }, + { + "inner": "subflow.SVG_WIFI_Signal_Strength", + "outer": "runtime.SVG_WIFI_Signal_Strength", + "method": "runtime" + }, + { + "inner": "subflow.SVG_WIFI_Transmission_Speed", + "outer": "runtime.SVG_WIFI_Transmission_Speed", + "method": "runtime" + }, + { + "inner": "subflow.SVG_NPM_Traffic", + "outer": "runtime.SVG_NPM_Traffic", + "method": "runtime" + }, + { + "inner": "subflow.SVG_NPM_RTCC", + "outer": "runtime.SVG_NPM_RTCC", + "method": "runtime" + }, + { + "inner": "subflow.SVG_IO_RATE_RW", + "outer": "runtime.SVG_IO_RATE_RW", + "method": "runtime" + }, + { + "inner": "subflow.SVG_IO_DISK_QUEUE_LENGTH", + "outer": "runtime.SVG_IO_DISK_QUEUE_LENGTH", + "method": "runtime" + } + ] + }, + "wires": [ + [ + "6ef7dac2-0a1d-4e75-b73a-33c6572d7d62" + ] + ] + }, + { + "id": "6ef7dac2-0a1d-4e75-b73a-33c6572d7d62", + "isIntegrationSubflowNode": false, + "type": "subflow", + "label": "Skill: Generate Insight", + "description": "Generate an HTML formatted insight with charts, that is ready to be displayed in ServiceNow or anywhere else.", + "properties": { + "x": 2264.633288182748, + "y": 403.4161911155172, + "debug": false, + "configurationId": "63ff53ff-b315-4915-bb88-2c7abf9ec24f", + "in": [ + { + "inner": "subflow.RiverbedIQAssist_Connector", + "method": "connector" + }, + { + "inner": "subflow.Findings_HEALTH", + "outer": "runtime.Findings_HEALTH", + "method": "runtime", + "isUnset": false + }, + { + "inner": "subflow.Findings_IO", + "outer": "runtime.Findings_IO", + "method": "runtime", + "isUnset": false + }, + { + "inner": "subflow.Findings_WIFI", + "outer": "runtime.Findings_WIFI", + "method": "runtime", + "isUnset": false + }, + { + "inner": "subflow.Findings_CPU_MEM", + "outer": "runtime.Findings_CPU_MEM", + "method": "runtime", + "isUnset": false + }, + { + "inner": "subflow.Findings_NPM", + "outer": "runtime.Findings_NPM", + "method": "runtime", + "isUnset": false + }, + { + "inner": "subflow.SVG_WIFI_Signal_Strength", + "outer": "runtime.SVG_WIFI_Signal_Strength", + "method": "runtime", + "isUnset": false + }, + { + "inner": "subflow.SVG_CPU_MEM", + "outer": "runtime.SVG_CPU_MEM", + "method": "runtime", + "isUnset": false + }, + { + "inner": "subflow.SVG_WIFI_Transmission_Speed", + "outer": "runtime.SVG_WIFI_Transmission_Speed", + "method": "runtime", + "isUnset": false + }, + { + "inner": "subflow.SVG_NPM_Traffic", + "outer": "runtime.SVG_NPM_Traffic", + "method": "runtime", + "isUnset": false + }, + { + "inner": "subflow.SVG_NPM_RTCC", + "outer": "runtime.SVG_NPM_RTCC", + "method": "runtime", + "isUnset": false + }, + { + "inner": "subflow.SVG_IO_RATE_RW", + "outer": "runtime.SVG_IO_RATE_RW", + "method": "runtime", + "isUnset": false + }, + { + "inner": "subflow.SVG_IO_DISK_QUEUE_LENGTH", + "outer": "runtime.SVG_IO_DISK_QUEUE_LENGTH", + "method": "runtime", + "isUnset": false + }, + { + "inner": "subflow.Format", + "outer": "" + } + ], + "out": [ + { + "inner": "subflow.Successful", + "outer": "runtime.Successful", + "method": "runtime" + }, + { + "inner": "subflow.Error_Message", + "outer": "runtime.Error_Message", + "method": "runtime" + }, + { + "inner": "subflow.Insight", + "outer": "runtime.Insight", + "method": "runtime" + } + ] + }, + "wires": [ + [ + "eb8791c5-892d-492e-a505-0b011f292841", + "a99a2434-229a-42e6-bef8-6fde85165089" + ] + ] + }, + { + "id": "b015071c-9c7e-4a8d-9bea-be3365337436", + "isIntegrationSubflowNode": false, + "type": "subflow", + "label": "Fetch User Endpoint (Aternity EUEM)", + "description": "This subflow takes one or more device names as a comma separated list and outputs User Device objects.", + "properties": { + "x": 1266.5092479938187, + "y": 405, + "debug": false, + "configurationId": "352073eb-8d20-4cab-9f7f-db36234a1f51", + "in": [ + { + "inner": "subflow.Aternity_Connector", + "method": "connector" + }, + { + "inner": "subflow.Device_Name_List", + "outer": "runtime.User_Endpoint_Name", + "method": "runtime", + "isUnset": false + } + ], + "out": [] + }, + "wires": [ + [ + "20829265-d406-427b-bfda-74b371d2c196", + "7d3a7296-44da-4f29-bf4f-87f579f5696e" + ] + ] + }, + { + "id": "20829265-d406-427b-bfda-74b371d2c196", + "isIntegrationSubflowNode": false, + "type": "data_ocean_dynamic", + "label": "Get inventory details (Data Store)", + "description": "", + "properties": { + "x": 1489.7964187882017, + "y": 400, + "objType": "aternity_device_inventory.traffic", + "timeSeries": false, + "limit": 10, + "topBy": [ + { + "id": "boot_last_timestamp", + "direction": "desc" + } + ], + "groupBy": [ + "user_device.device_name" + ], + "filters": { + "userDevice": [ + "$node:b015071c-9c7e-4a8d-9bea-be3365337436.user_device" + ] + }, + "debug": false + }, + "wires": [ + [ + "ab937ac1-c525-40b1-a783-b6224c86b755" + ] + ] + }, + { + "id": "6f97675e-6163-4ceb-be53-9c560ce3fc0b", + "isIntegrationSubflowNode": false, + "type": "subflow", + "label": "ServiceNow: Get Incident Details", + "description": "Returns details of a ServiceNow incident given a sys ID or an incident number.", + "properties": { + "x": 738.7508315445839, + "y": 400, + "debug": true, + "configurationId": "3eb3f06e-4d0f-4f35-8197-7895de70a265", + "in": [ + { + "inner": "subflow.ServiceNow_Connector", + "outer": "00000000-0000-0000-0000-000000000000", + "method": "connector", + "isUnset": false + }, + { + "inner": "subflow.Incident_Identifier_Type", + "outer": "sys_id", + "method": "static", + "isUnset": false + }, + { + "inner": "subflow.Incident_Identifier", + "outer": "runtime.ServiceNow_Incident_Sys_Id", + "method": "runtime", + "isUnset": false + } + ], + "out": [ + { + "inner": "subflow.Successful", + "outer": "runtime.Successful", + "method": "runtime" + }, + { + "inner": "subflow.Error_Message", + "outer": "runtime.Error_Message", + "method": "runtime" + }, + { + "inner": "subflow.CMDB_CI", + "outer": "runtime.CMDB_CI", + "method": "runtime" + }, + { + "inner": "subflow.Problem_ID", + "outer": "runtime.Problem_ID", + "method": "runtime" + }, + { + "inner": "subflow.Caller_ID", + "outer": "runtime.Caller_ID", + "method": "runtime" + }, + { + "inner": "subflow.Caller_Username", + "outer": "runtime.Caller_Username", + "method": "runtime" + }, + { + "inner": "subflow.Caller_Display_Name", + "outer": "runtime.Caller_Display_Name", + "method": "runtime" + }, + { + "inner": "subflow.Caller_Email", + "outer": "runtime.Caller_Email", + "method": "runtime" + } + ] + }, + "wires": [ + [ + "41289d27-6f06-4426-85ea-581916a284a1" + ] + ] + }, + { + "id": "ab937ac1-c525-40b1-a783-b6224c86b755", + "isIntegrationSubflowNode": false, + "type": "decision", + "label": "Found?", + "description": "", + "properties": { + "x": 1716.509247993817, + "y": 400, + "dataType": "SUMMARY", + "inputType": "aternity_device_inventory.traffic", + "outputs": [ + { + "id": "o08178", + "passedData": "MATCHED", + "expression": { + "id": "o4922", + "type": "block", + "operation": "AND", + "conditions": [ + { + "type": "condition", + "id": "c-1760717486679", + "category": "input.rows", + "key": "count", + "op": "GT", + "value": "0" + } + ] + }, + "label": "Found" + }, + { + "id": "o17552", + "passedData": "MATCHED", + "expression": { + "id": "o5580", + "type": "block", + "operation": "AND", + "conditions": [ + { + "type": "condition", + "id": "c-1760717505733", + "category": "input.rows", + "key": "count", + "op": "EQ", + "value": "0" + } + ] + }, + "label": "Not Found" + } + ], + "debug": false + }, + "wires": [ + [ + "8f867e03-1735-4570-852b-b2f4ced3d458" + ], + [ + "1dfe1b8b-bcac-4ef0-a26c-ed60a0b8b040", + "810f6faa-a357-490e-9a71-c9b80bb76cd8" + ] + ] + }, + { + "id": "810f6faa-a357-490e-9a71-c9b80bb76cd8", + "isIntegrationSubflowNode": false, + "type": "subflow", + "label": "ServiceNow: Post Data not found", + "description": "", + "properties": { + "x": 2019.509247993817, + "y": 520, + "debug": false, + "configurationId": "f4c88032-d05f-4d27-ad96-a1f844c66ba5", + "in": [ + { + "inner": "subflow.Connector", + "outer": "00000000-0000-0000-0000-000000000000", + "method": "connector" + }, + { + "inner": "subflow.Record_Type", + "outer": "incident", + "method": "static", + "isUnset": false + }, + { + "inner": "subflow.Sys_Id", + "outer": "runtime.ServiceNow_Incident_Sys_Id", + "method": "runtime", + "isUnset": false + }, + { + "inner": "subflow.Content", + "outer": "Data not found. Please check the User Endpoint information", + "method": "static", + "isUnset": false + }, + { + "inner": "subflow.Visibility", + "outer": "work_notes", + "method": "static", + "isUnset": false + }, + { + "inner": "subflow.Format", + "outer": "html", + "method": "static" + } + ], + "out": [ + { + "inner": "subflow.Successful", + "outer": "" + }, + { + "inner": "subflow.Error_Message", + "outer": "" + } + ] + }, + "wires": [] + }, + { + "id": "1dfe1b8b-bcac-4ef0-a26c-ed60a0b8b040", + "isIntegrationSubflowNode": false, + "type": "rvbd_ui_text", + "label": "Display Error 1", + "description": "", + "properties": { + "x": 2016.509247993817, + "y": 680, + "title": "Error message", + "row": "1", + "notes": "

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:

  1. Import this runbook file from the External Runbooks page. Make sure to select connectors in the import dialog.
  2. Enable Allow Automation on the imported runbook in the External Runbooks page. 
  3. Create automation rule to link a webhook call to this runbook.
  4. Make sure ServiceNow app is configured with the appropriate webhook URL.
", + "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:

  1. Import this runbook file from the External Runbooks page. Make sure to select connectors in the import dialog.
  2. Enable Allow Automation on the imported runbook in the External Runbooks page. 
  3. Create automation rule to link a webhook call to this runbook.
  4. Make sure ServiceNow app is configured with the appropriate webhook URL.


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)


", "debug": false }, "wires": [] @@ -279,7 +285,7 @@ "label": "Extract Incident Basic Info", "description": "", "properties": { - "x": 419.8185145156033, + "x": 461.8185145156033, "y": 397.71056093170466, "variables": [ { @@ -302,7 +308,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 +325,7 @@ "properties": { "x": 229, "y": 490, - "comment": "

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