{
  "version": "Notebook/1.0",
  "items": [
    {
      "type": 1,
      "content": {
        "json": "## View Microsoft Sentinel Incidents and details from any selected Workspaces \r\n\r\n"
      },
      "name": "text - 0"
    },
    {
      "type": 12,
      "content": {
        "version": "NotebookGroup/1.0",
        "groupType": "editable",
        "items": [
          {
            "type": 9,
            "content": {
              "version": "KqlParameterItem/1.0",
              "crossComponentResources": [
                "{Subscription}"
              ],
              "parameters": [
                {
                  "id": "01868289-27ef-4b5e-ae83-1715cacde421",
                  "version": "KqlParameterItem/1.0",
                  "name": "region",
                  "label": "🌍 Region",
                  "type": 2,
                  "description": "Filter by Azure Region (location)",
                  "isRequired": true,
                  "multiSelect": true,
                  "quote": "'",
                  "delimiter": ",",
                  "query": "Resources \r\n//| where type =~ \"microsoft.operationalinsights/workspaces\"\r\n| where type =~ \"microsoft.operationsmanagement/solutions\"\r\n| where name has \"SecurityInsights\"\r\n| summarize WorkspaceCount = count(name) by location\r\n| order by location asc\r\n| project value=location, display=strcat(location,'(',WorkspaceCount,')')",
                  "crossComponentResources": [
                    "value::selected"
                  ],
                  "typeSettings": {
                    "additionalResourceOptions": [
                      "value::all"
                    ],
                    "selectAllValue": "*",
                    "showDefault": false
                  },
                  "defaultValue": "value::all",
                  "queryType": 1,
                  "resourceType": "microsoft.resourcegraph/resources"
                },
                {
                  "id": "1ca69445-60fc-4806-b43d-ac7e6aad630a",
                  "version": "KqlParameterItem/1.0",
                  "name": "Subscription",
                  "label": "☁️ Subscription",
                  "type": 6,
                  "multiSelect": true,
                  "quote": "'",
                  "delimiter": ",",
                  "query": "resources\r\n| where '*' in ({region}) or location in ({region})\r\n| where type =~ 'microsoft.operationalinsights/workspaces'\r\n| distinct subscriptionId, location\r\n| summarize by value = strcat(\"/subscriptions/\", subscriptionId), label = subscriptionId\r\n| order by value asc\r\n",
                  "crossComponentResources": [
                    "value::selected"
                  ],
                  "typeSettings": {
                    "additionalResourceOptions": [
                      "value::all"
                    ],
                    "showDefault": false
                  },
                  "defaultValue": "value::all",
                  "queryType": 1,
                  "resourceType": "microsoft.resourcegraph/resources",
                  "value": [
                    "value::all"
                  ]
                },
                {
                  "id": "e94aafa3-c5d9-4523-89f0-4e87aa754511",
                  "version": "KqlParameterItem/1.0",
                  "name": "Workspace",
                  "label": "🗂️ Workspace",
                  "type": 5,
                  "isRequired": true,
                  "multiSelect": true,
                  "quote": "'",
                  "delimiter": ",",
                  "query": "resources\n| where type =~ 'microsoft.operationalinsights/workspaces'\n| extend customerID = trim(' ', tostring(properties.customerId))\n| project id, customerID, name=tolower(name)\n|join \n(\n\tresources\n\t// Just show Workspaces that have Sentinel enabled\n\t| where type =~ \"microsoft.operationsmanagement/solutions\"\n\t| where name has \"SecurityInsights\"\n\t| parse name with * '(' s_workspace ')'*\n\t| project name=tolower(s_workspace)\n) on name\n| project tolower(id), customerID, name",
                  "crossComponentResources": [
                    "{Subscription}"
                  ],
                  "typeSettings": {
                    "resourceTypeFilter": {
                      "microsoft.operationalinsights/workspaces": true
                    },
                    "additionalResourceOptions": [
                      "value::all"
                    ],
                    "showDefault": false
                  },
                  "defaultValue": "value::all",
                  "queryType": 1,
                  "resourceType": "microsoft.resourcegraph/resources"
                },
                {
                  "id": "66f59acd-2628-457d-a5cd-176aa453472a",
                  "version": "KqlParameterItem/1.0",
                  "name": "TimeRange",
                  "type": 4,
                  "isRequired": true,
                  "value": {
                    "durationMs": 604800000
                  },
                  "typeSettings": {
                    "selectableValues": [
                      {
                        "durationMs": 300000
                      },
                      {
                        "durationMs": 900000
                      },
                      {
                        "durationMs": 1800000
                      },
                      {
                        "durationMs": 3600000
                      },
                      {
                        "durationMs": 14400000
                      },
                      {
                        "durationMs": 43200000
                      },
                      {
                        "durationMs": 86400000
                      },
                      {
                        "durationMs": 172800000
                      },
                      {
                        "durationMs": 259200000
                      },
                      {
                        "durationMs": 604800000
                      },
                      {
                        "durationMs": 1209600000
                      },
                      {
                        "durationMs": 2419200000
                      },
                      {
                        "durationMs": 2592000000
                      },
                      {
                        "durationMs": 5184000000
                      },
                      {
                        "durationMs": 7776000000
                      }
                    ],
                    "allowCustom": true
                  },
                  "label": "⏱️ Time Range"
                },
                {
                  "id": "65e74c73-69f0-4eb5-a772-4fb5eae73d28",
                  "version": "KqlParameterItem/1.0",
                  "name": "WorkspaceIDguid",
                  "type": 1,
                  "query": "resources\r\n| where type =~ 'microsoft.operationalinsights/workspaces'\r\n| extend customerID = trim(' ', tostring(properties.customerId))\r\n| project '{Workspace:name}', name, customerID\r\n| where '{Workspace:name}' has name\r\n//| project customerID, name\r\n// join two columns, seperate with a \":\"; ARG, will comma seperate each row by default\r\n| project strcat(customerID,\":\",name)",
                  "crossComponentResources": [
                    "{Subscription}"
                  ],
                  "isHiddenWhenLocked": true,
                  "queryType": 1,
                  "resourceType": "microsoft.resourcegraph/resources"
                },
                {
                  "id": "2af84437-b015-456b-9660-97c8415e72fd",
                  "version": "KqlParameterItem/1.0",
                  "name": "Product",
                  "label": "Product Name",
                  "type": 2,
                  "description": "Filter on All or a named Product",
                  "isRequired": true,
                  "multiSelect": true,
                  "quote": "'",
                  "delimiter": ",",
                  "query": "SecurityIncident\r\n| extend productName_ = tostring(parse_json(tostring(AdditionalData.alertProductNames))[0])\r\n| extend value = \r\n    case(productName_ =='Microsoft Cloud App Security','Microsoft Defender for Cloud App',\r\n         productName_ == 'Microsoft Defender Advanced Threat Protection','Microsoft Defender for Endpoint(ATP)',\r\n         productName_ =='Microsoft Defender Advanced Threat Protection','Microsoft Defender for Endpoint',\r\n         productName_ =='Office 365 Advanced Threat Protection','Microsoft Defender for Office 365',\r\n         productName_ =='Azure Advanced Threat Protection','Microsoft Defender for Identity',\r\n         productName_ =='Azure Sentinel','Microsoft Sentinel',\r\n         productName_ =='Azure Sentinel','Microsoft Sentinel',\r\n         // else\r\n         productName_)\r\n| summarize by display=productName_, value\r\n| order by value asc",
                  "crossComponentResources": [
                    "{Workspace}"
                  ],
                  "typeSettings": {
                    "additionalResourceOptions": [
                      "value::all"
                    ],
                    "showDefault": false
                  },
                  "timeContext": {
                    "durationMs": 604800000
                  },
                  "defaultValue": "value::all",
                  "queryType": 0,
                  "resourceType": "microsoft.operationalinsights/workspaces"
                },
                {
                  "id": "5a683c1d-5e10-4d94-bb2a-32c05b17da8e",
                  "version": "KqlParameterItem/1.0",
                  "name": "resourceGroup",
                  "type": 1,
                  "query": "resources\r\n| where type =~ 'microsoft.operationalinsights/workspaces'\r\n//| where name ==  \"{Workspace:label}\" \r\n| project resourceGroup",
                  "crossComponentResources": [
                    "{Subscription}"
                  ],
                  "isHiddenWhenLocked": true,
                  "queryType": 1,
                  "resourceType": "microsoft.resourcegraph/resources"
                },
                {
                  "id": "306edc18-d122-478d-97aa-ebc5a4cb88db",
                  "version": "KqlParameterItem/1.0",
                  "name": "Owner",
                  "type": 2,
                  "description": "Filter on All or a named Owner assigned to an Incident",
                  "isRequired": true,
                  "multiSelect": true,
                  "quote": "'",
                  "delimiter": ",",
                  "query": "SecurityIncident\r\n| extend owner = tostring(Owner.assignedTo) \r\n| summarize Count=count(IncidentNumber) by Owner= case(owner==\"\", \"Unassigned\",owner)\r\n| project Value = Owner, Label = strcat(Owner, \": \", Count)",
                  "crossComponentResources": [
                    "{Workspace}"
                  ],
                  "typeSettings": {
                    "additionalResourceOptions": [
                      "value::all"
                    ],
                    "selectAllValue": "*",
                    "showDefault": false
                  },
                  "timeContext": {
                    "durationMs": 2592000000
                  },
                  "defaultValue": "value::all",
                  "queryType": 0,
                  "resourceType": "microsoft.operationalinsights/workspaces"
                },
                {
                  "id": "04338a2a-010c-409d-91ac-4b74a0e9d56c",
                  "version": "KqlParameterItem/1.0",
                  "name": "Help",
                  "type": 10,
                  "isRequired": true,
                  "typeSettings": {
                    "showDefault": false
                  },
                  "jsonData": "[\r\n { \"value\": \"Yes\", \"label\": \"Yes\"},\r\n { \"value\": \"No\", \"label\": \"No\", \"selected\":true },\r\n { \"value\": \"Change Log\", \"label\": \"Change Log\"}\r\n]",
                  "timeContextFromParameter": "TimeRange",
                  "label": "📖 Help",
                  "value": "Change Log"
                }
              ],
              "style": "above",
              "queryType": 1,
              "resourceType": "microsoft.resourcegraph/resources"
            },
            "name": "parameters - 1"
          },
          {
            "type": 1,
            "content": {
              "json": "## Sentinel Central\r\n### Change Log\r\nUse this report to view Incident and Alert data across many workspaces (works with Azure Lighthouse)\r\n\r\n\r\n|Version|Description|\r\n|---|---|\r\n|v1.2| View Alerts from multiple workspaces (Azure Lighhouse compatiable)|\r\n|v1.3| MSSP release |\r\n|v1.4| Add Workspace info |\r\n|v1.5| Add Workspace info |\r\n|v2.0| Multi workspace hunting. per Region selection from main drop down. |\r\n|v2.1| Addition of Workspace and Table specific retention. |\r\n|v2.2| Improve Hunting Tab and lookup the Workspace id automatically. Also add Table filtering in the **Retention** Tab, using the method from Sean Stark from Archive and Basic logs workbook|\r\n|v2.2.1| Directory and Azure Lighthouse info added. |\r\n|v2.3.0| SKU info added in [Ingestion] tab, and Content Hub info added from within the [Tables] tab. |\r\n|v2.3.1| Fixed issue #10465 where incidents were not being counted correctly.|"
            },
            "customWidth": "50",
            "conditionalVisibility": {
              "parameterName": "Help",
              "comparison": "isEqualTo",
              "value": "Change Log"
            },
            "name": "text - 7"
          },
          {
            "type": 1,
            "content": {
              "json": "## Sentinel Central Help\r\n#### Data sources: REST api, SentinelIncident and SecurityAlert Tables\r\n\r\n## Incident Overview: \r\nUse this report to view Incident (and Alert data) across many workspaces, this works with Azure Lighthouse and across any subscription you have access to. The Workbook is not intended to replace the Multiple Incidents across Workspace view/feature in the Azure Sentinel UI, it's just a way of seeing the data in a different way.\r\n- Workspaces not linked to Azure Sentinel will not be shown.\r\n\r\n## Hunting\r\nThis option allows you to use your own KQL (which you can write within the page, or copy from an example or existing query). This will run against *any* of the Workspaces you have selected in the parameters (local or via Azure Lighthouse), please remember the more Workspaces and time range selected, the slower the results.\r\n- Use case, this allows you to enter a simple KQL query that doesn’t need the prefix of\tworkspace(\"my workspace name\").my table name \r\n\r\ne.g. workspace(Demo\").Usage | limit 10\r\n\r\nor \r\n\r\n//Example query \r\nSecurityIncident\r\n| summarize High = countif(Severity ==\"High\"), Medium = countif(Severity ==\"Medium\"), MyIncidents=make_set(IncidentNumber ) by WorkspaceId=TenantId\r\n\r\n##### Note:\r\nIn your query it maybe useful to have the workspace ID returned, to do this you get the data from the TenantID column, as this name can be confusing we suggest you re-map it to WorkspaceID.\r\ne.g.\r\n•\tSecurityIncident | summarize count() by WorkspaceId=TenantId\r\n\r\n## Query Packs\r\nIf you are using Query Packs, use this Tab to open one (from any Resource Group), you can then click on a Query Pack and then on an individual query to run it. \r\n\r\n- Use case, storing queries this way enables you to share them and secure them (ARM and RBAC), this methods allows you to stay within the workbook to find and execute your queries.\r\n## Saved Searches\r\nAny Saved Searches from a selected Workspace can be run from this tab. \r\n\r\n- Use Case, you can see (if you have read rights) saved searches in a selected Workspace and click to run them. Much like the Query Pack method above.\r\n\r\n## Retention\r\nWorkspace and Table specific retention can be viewed in this tab.\r\n\r\n- Use Case, you can see (if you have read rights) the same or different level retention set on a table in a selected Workspace.\r\n\r\n\r\n"
            },
            "customWidth": "50",
            "conditionalVisibility": {
              "parameterName": "Help",
              "comparison": "isEqualTo",
              "value": "Yes"
            },
            "name": "text - 7 - Copy"
          }
        ],
        "exportParameters": true
      },
      "customWidth": "75",
      "name": "group - parameter and help"
    },
    {
      "type": 11,
      "content": {
        "version": "LinkItem/1.0",
        "style": "tabs",
        "links": [
          {
            "id": "ad9f9173-35b3-4c1a-84e4-6f6062263c18",
            "cellValue": "selectedTab",
            "linkTarget": "parameter",
            "linkLabel": "Incident Overview",
            "subTarget": "incidents",
            "style": "link"
          },
          {
            "id": "d3143cd8-a610-4ce9-990d-3e6674fcb5e2",
            "cellValue": "selectedTab",
            "linkTarget": "parameter",
            "linkLabel": "Ingestion",
            "subTarget": "ingestion",
            "style": "link"
          },
          {
            "id": "18c99658-c4e7-4cef-9d25-c49056355810",
            "cellValue": "selectedTab",
            "linkTarget": "parameter",
            "linkLabel": "Tables",
            "subTarget": "tables",
            "style": "link"
          },
          {
            "id": "f99135dc-8862-434b-ad1c-38714c1d8992",
            "cellValue": "selectedTab",
            "linkTarget": "parameter",
            "linkLabel": "Hunting",
            "subTarget": "hunting",
            "style": "link"
          },
          {
            "id": "f99e8417-fdad-434d-98a3-9b901c273650",
            "cellValue": "selectedTab",
            "linkTarget": "parameter",
            "linkLabel": "Query Pack",
            "subTarget": "querypack",
            "style": "link"
          },
          {
            "id": "a56b10fb-0e65-4308-9c9e-e6c56ef356c6",
            "cellValue": "selectedTab",
            "linkTarget": "parameter",
            "linkLabel": "Saved Searches",
            "subTarget": "saved",
            "style": "link"
          },
          {
            "id": "16449876-2e6f-4c55-9931-30b5d82baead",
            "cellValue": "selectedTab",
            "linkTarget": "parameter",
            "linkLabel": "Retention",
            "subTarget": "retention",
            "style": "link"
          },
          {
            "id": "e2582d39-3a29-41ab-9a7c-4df62e79784c",
            "cellValue": "selectedTab",
            "linkTarget": "parameter",
            "linkLabel": "Rules",
            "subTarget": "rules",
            "style": "link"
          }
        ]
      },
      "name": "links - 7"
    },
    {
      "type": 12,
      "content": {
        "version": "NotebookGroup/1.0",
        "groupType": "editable",
        "items": [
          {
            "type": 3,
            "content": {
              "version": "KqlItem/1.0",
              "query": "SecurityIncident\r\n// Get the Workspace Name(s) from a parameter\r\n| extend stringtoSplit = split(\"{WorkspaceIDguid}\",\",\")\r\n| mv-expand stringtoSplit\r\n| where stringtoSplit has TenantId\r\n| extend workSpacename = trim(@\"[^\\w]+\",tostring(split(stringtoSplit,\":\").[1]))\r\n//Filter out duplicate incidents\r\n| summarize arg_max(TimeGenerated, *) by IncidentName\r\n// end of get workspace name section\r\n| summarize count(IncidentName) by   [\"Workspace\"] = workSpacename\r\n\r\n\r\n\r\n",
              "size": 4,
              "title": "Count of Security Incidents for selected {$rowCount} Workspaces",
              "timeContextFromParameter": "TimeRange",
              "queryType": 0,
              "resourceType": "microsoft.operationalinsights/workspaces",
              "crossComponentResources": [
                "{Workspace}"
              ],
              "visualization": "piechart",
              "gridSettings": {
                "hierarchySettings": {
                  "treeType": 1,
                  "groupBy": [
                    "wsName"
                  ]
                },
                "sortBy": [
                  {
                    "itemKey": "wsName",
                    "sortOrder": 2
                  }
                ]
              },
              "sortBy": [
                {
                  "itemKey": "wsName",
                  "sortOrder": 2
                }
              ]
            },
            "name": "query - 3 - Copy"
          },
          {
            "type": 3,
            "content": {
              "version": "KqlItem/1.0",
              "query": "ManagedServicesResources\r\n| extend managed_  = tostring(properties.registrationDefinition.properties.manageeTenantName)\r\n| extend managed2_ = trim(@\"[^\\w]+\",tostring(properties.manageeTenantName))\r\n| extend Directory = iif(isempty(managed_),managed2_, managed_)\r\n| project ManagedBy=properties.registrationDefinition.properties.registrationDefinitionName, managed_, subscriptionId, resourceGroup\r\n| where isnotempty( managed_)\r\n| summarize count() by tostring(ManagedBy), tostring(managed_), subscriptionId, resourceGroup\r\n| project Directory= managed_, ManagedBy, subscriptionId, resourceGroup, AzureLighthouse='Yes'\r\n| join kind=fullouter \r\n(\r\n\tresources\r\n\t// Just show Workspaces that have Sentinel enabled\r\n\t| where type =~ \"microsoft.operationsmanagement/solutions\"\r\n\t| where name has \"SecurityInsights\"\r\n\t| parse name with * '(' s_workspace ')'*\r\n\t| project workspaceName=tolower(s_workspace), location, subscriptionId, AzureLighthouse='No'\r\n) on subscriptionId\r\n| order by ['AzureLighthouse'] asc\r\n| extend AzureLighthouse = iif(isempty(AzureLighthouse),AzureLighthouse1,AzureLighthouse)\r\n| extend subscriptionId = iif(isempty(subscriptionId),subscriptionId1,subscriptionId)",
              "size": 0,
              "queryType": 1,
              "resourceType": "microsoft.resourcegraph/resources",
              "crossComponentResources": [
                "{Subscription}"
              ]
            },
            "conditionalVisibility": {
              "parameterName": "hide",
              "comparison": "isEqualTo",
              "value": "hide"
            },
            "name": "query - ARG to find Azure Lighthouse"
          },
          {
            "type": 3,
            "content": {
              "version": "KqlItem/1.0",
              "query": "SecurityIncident\r\n// Get the Workspace Name(s) from a parameter\r\n| extend stringtoSplit = split(\"{WorkspaceIDguid}\",\",\")\r\n| mv-expand stringtoSplit\r\n| where stringtoSplit has TenantId\r\n| extend workSpacename = trim(@\"[^\\w]+\",tostring(split(stringtoSplit,\":\").[1]))\r\n//Filter out duplicate incidents\r\n| summarize arg_max(TimeGenerated, *) by IncidentName\r\n// end of get workspace name section\r\n| summarize High=  countif(Severity==\"High\"),\r\n            Medium=countif(Severity==\"Medium\"),\r\n            Low   =countif(Severity==\"Low\"), \r\n            Informational=countif(Severity==\"Informational\"),\r\n            Last_record =  datetime_diff(\"second\", now(), max(TimeGenerated)),\r\n            Total  = count()\r\n            by workSpacename\r\n| join\r\n(\r\nSecurityIncident\r\n// mean time to triage Section\r\n// Get the Workspace Name(s) from a parameter\r\n| extend stringtoSplit = split(\"{WorkspaceIDguid}\",\",\")\r\n| mv-expand stringtoSplit\r\n| where stringtoSplit has TenantId\r\n| extend workSpacename = trim(@\"[^\\w]+\",tostring(split(stringtoSplit,\":\").[1]))\r\n// end of get workspace name section\r\n//| where FirstModifiedTime  >= {TimeRange:start} and FirstModifiedTime  <= {TimeRange:end}\r\n| extend Owner = todynamic(Owner.assignedTo) \r\n| where Owner in ({Owner}) or '{Owner:label}' ==  \"All\"\r\n| extend Product = todynamic((parse_json(tostring(AdditionalData.alertProductNames))[0])) \r\n| where Product in ({Product}) or '{Product:label}' ==  \"All\"\r\n| summarize arg_max(LastModifiedTime,*) by IncidentNumber \r\n| extend TimeToTriage =  (FirstModifiedTime - CreatedTime)/1h\r\n| summarize 50th_PercentileMeanTime=percentile(TimeToTriage, 50) by workSpacename\r\n) on workSpacename\r\n|project-away workSpacename1\r\n| join\r\n(\r\nSecurityIncident\r\n// mean time to close Section\r\n// Get the Workspace Name(s) from a parameter\r\n| extend stringtoSplit = split(\"{WorkspaceIDguid}\",\",\")\r\n| extend iD = TenantId\r\n| mv-expand stringtoSplit\r\n| where stringtoSplit has TenantId\r\n| extend workSpacename = trim(@\"[^\\w]+\",tostring(split(stringtoSplit,\":\").[1]))\r\n// end of get workspace name section\r\n//| where ClosedTime >= {TimeRange:start} and ClosedTime <= {TimeRange:end}\r\n| extend Owner = todynamic(Owner.assignedTo) \r\n| where Owner in ({Owner}) or '{Owner:label}' ==  \"All\"\r\n| extend Product = todynamic((parse_json(tostring(AdditionalData.alertProductNames))[0])) \r\n| where Product in ({Product}) or '{Product:label}' ==  \"All\"\r\n| summarize arg_max(LastModifiedTime,*) by IncidentNumber \r\n| extend TimeToClosure =  (ClosedTime - CreatedTime)/1h\r\n| summarize 50th_PercentileCloseTime=percentile(TimeToClosure, 50) by workSpacename\r\n) on workSpacename\r\n|project-away workSpacename1\r\n| join\r\n(\r\nSecurityIncident\r\n    // Incident Trend by Workspace\r\n    // Get the Workspace Name(s) from a parameter\r\n    | extend stringtoSplit = split(\"{WorkspaceIDguid}\",\",\")\r\n    | mv-expand stringtoSplit\r\n    | where stringtoSplit has TenantId\r\n    | extend workSpacename = trim(@\"[^\\w]+\",tostring(split(stringtoSplit,\":\").[1]))\r\n    | make-series IncidentTrend=count() on TimeGenerated from {TimeRange:start} to {TimeRange:end} step {TimeRange:grain} by workSpacename\r\n) on workSpacename\r\n|project-away workSpacename1, TimeGenerated\r\n| order by Total desc\r\n\r\n",
              "size": 2,
              "title": "Security Incident summary for {$rowCount} Workspaces:  QueryTime {$queryTime}",
              "timeContextFromParameter": "TimeRange",
              "exportFieldName": "workSpacename",
              "exportParameterName": "exportworkSpacename",
              "showExportToExcel": true,
              "queryType": 0,
              "resourceType": "microsoft.operationalinsights/workspaces",
              "crossComponentResources": [
                "{Workspace}"
              ],
              "visualization": "table",
              "gridSettings": {
                "formatters": [
                  {
                    "columnMatch": "High",
                    "formatter": 4,
                    "formatOptions": {
                      "palette": "greenRed"
                    }
                  },
                  {
                    "columnMatch": "Medium",
                    "formatter": 4,
                    "formatOptions": {
                      "palette": "greenRed"
                    }
                  },
                  {
                    "columnMatch": "Low",
                    "formatter": 4,
                    "formatOptions": {
                      "palette": "greenRed"
                    }
                  },
                  {
                    "columnMatch": "Informational",
                    "formatter": 4,
                    "formatOptions": {
                      "palette": "greenRed",
                      "customColumnWidthSetting": "150px"
                    }
                  },
                  {
                    "columnMatch": "Last_record",
                    "formatter": 0,
                    "numberFormat": {
                      "unit": 24,
                      "options": {
                        "style": "decimal",
                        "maximumFractionDigits": 2
                      }
                    }
                  },
                  {
                    "columnMatch": "Total",
                    "formatter": 8,
                    "formatOptions": {
                      "palette": "coldHot"
                    }
                  },
                  {
                    "columnMatch": "50th_PercentileMeanTime",
                    "formatter": 8,
                    "formatOptions": {
                      "palette": "greenRed"
                    },
                    "numberFormat": {
                      "unit": 26,
                      "options": {
                        "style": "decimal",
                        "useGrouping": false,
                        "maximumFractionDigits": 3
                      }
                    }
                  },
                  {
                    "columnMatch": "50th_PercentileCloseTime",
                    "formatter": 8,
                    "formatOptions": {
                      "palette": "greenRed"
                    },
                    "numberFormat": {
                      "unit": 26,
                      "options": {
                        "style": "decimal",
                        "maximumFractionDigits": 3
                      }
                    }
                  },
                  {
                    "columnMatch": "Trend",
                    "formatter": 10,
                    "formatOptions": {
                      "palette": "blueDark"
                    }
                  },
                  {
                    "columnMatch": "iD",
                    "formatter": 5
                  }
                ],
                "filter": true,
                "sortBy": [
                  {
                    "itemKey": "$gen_heatmap_Total_6",
                    "sortOrder": 2
                  }
                ],
                "labelSettings": [
                  {
                    "columnId": "workSpacename",
                    "label": "Workspace Name"
                  },
                  {
                    "columnId": "50th_PercentileMeanTime",
                    "label": "Mean time to triage"
                  },
                  {
                    "columnId": "50th_PercentileCloseTime",
                    "label": "Mean time to closure"
                  }
                ]
              },
              "sortBy": [
                {
                  "itemKey": "$gen_heatmap_Total_6",
                  "sortOrder": 2
                }
              ]
            },
            "conditionalVisibility": {
              "parameterName": "hide",
              "comparison": "isEqualTo",
              "value": "hide"
            },
            "name": "query - SecIncidents"
          },
          {
            "type": 3,
            "content": {
              "version": "KqlItem/1.0",
              "query": "{\"version\":\"Merge/1.0\",\"merges\":[{\"id\":\"e3e16101-a776-4848-b21d-201c7e84f0e0\",\"mergeType\":\"innerunique\",\"leftTable\":\"query - ARG to find Azure Lighthouse\",\"rightTable\":\"query - SecIncidents\",\"leftColumn\":\"workspaceName\",\"rightColumn\":\"workSpacename\"}],\"projectRename\":[{\"originalName\":\"[query - ARG to find Azure Lighthouse].Directory\",\"mergedName\":\"Directory\",\"fromId\":\"e3e16101-a776-4848-b21d-201c7e84f0e0\"},{\"originalName\":\"[query - SecIncidents].workSpacename\",\"mergedName\":\"Workspace Name\",\"fromId\":\"e3e16101-a776-4848-b21d-201c7e84f0e0\"},{\"originalName\":\"[query - ARG to find Azure Lighthouse].ManagedBy\",\"mergedName\":\"ManagedBy\",\"fromId\":\"e3e16101-a776-4848-b21d-201c7e84f0e0\"},{\"originalName\":\"[query - ARG to find Azure Lighthouse].AzureLighthouse\",\"mergedName\":\"AzureLighthouse\",\"fromId\":\"e3e16101-a776-4848-b21d-201c7e84f0e0\"},{\"originalName\":\"[query - ARG to find Azure Lighthouse].location\",\"mergedName\":\"location\",\"fromId\":\"e3e16101-a776-4848-b21d-201c7e84f0e0\"},{\"originalName\":\"[query - SecIncidents].High\",\"mergedName\":\"High\",\"fromId\":\"e3e16101-a776-4848-b21d-201c7e84f0e0\"},{\"originalName\":\"[query - SecIncidents].Medium\",\"mergedName\":\"Medium\",\"fromId\":\"e3e16101-a776-4848-b21d-201c7e84f0e0\"},{\"originalName\":\"[query - SecIncidents].Low\",\"mergedName\":\"Low\",\"fromId\":\"e3e16101-a776-4848-b21d-201c7e84f0e0\"},{\"originalName\":\"[query - SecIncidents].Informational\",\"mergedName\":\"Informational\",\"fromId\":\"e3e16101-a776-4848-b21d-201c7e84f0e0\"},{\"originalName\":\"[query - SecIncidents].Last_record\",\"mergedName\":\"Last_record\",\"fromId\":\"e3e16101-a776-4848-b21d-201c7e84f0e0\"},{\"originalName\":\"[query - SecIncidents].Total\",\"mergedName\":\"Total\",\"fromId\":\"e3e16101-a776-4848-b21d-201c7e84f0e0\"},{\"originalName\":\"[query - SecIncidents].50th_PercentileMeanTime\",\"mergedName\":\"Mean time to triage\",\"fromId\":\"e3e16101-a776-4848-b21d-201c7e84f0e0\"},{\"originalName\":\"[query - SecIncidents].50th_PercentileCloseTime\",\"mergedName\":\"Mean time to closure\",\"fromId\":\"e3e16101-a776-4848-b21d-201c7e84f0e0\"},{\"originalName\":\"[query - SecIncidents].IncidentTrend\",\"mergedName\":\"IncidentTrend\",\"fromId\":\"e3e16101-a776-4848-b21d-201c7e84f0e0\"},{\"originalName\":\"[query - ARG to find Azure Lighthouse].subscriptionId\",\"mergedName\":\"subscriptionId\",\"fromId\":\"e3e16101-a776-4848-b21d-201c7e84f0e0\"},{\"originalName\":\"[query - ARG to find Azure Lighthouse].resourceGroup\",\"mergedName\":\"resourceGroup\",\"fromId\":\"e3e16101-a776-4848-b21d-201c7e84f0e0\"},{\"originalName\":\"[query - ARG to find Azure Lighthouse].subscriptionId1\"},{\"originalName\":\"[query - SecIncidents].workSpacename\"},{\"originalName\":\"[query - ARG to find Azure Lighthouse].AzureLighthouse1\"},{\"originalName\":\"[query - ARG to find Azure Lighthouse].workspaceName\"}]}",
              "size": 0,
              "title": "Security Incident summary for {$rowCount} Workspaces:  QueryTime {$queryTime}",
              "queryType": 7,
              "gridSettings": {
                "formatters": [
                  {
                    "columnMatch": "AzureLighthouse",
                    "formatter": 18,
                    "formatOptions": {
                      "thresholdsOptions": "icons",
                      "thresholdsGrid": [
                        {
                          "operator": "==",
                          "thresholdValue": "No",
                          "representation": "Disconnect",
                          "text": "{0}{1}"
                        },
                        {
                          "operator": "Default",
                          "representation": "Blank",
                          "text": "{0}{1}"
                        }
                      ]
                    }
                  },
                  {
                    "columnMatch": "High",
                    "formatter": 4,
                    "formatOptions": {
                      "palette": "greenRed"
                    }
                  },
                  {
                    "columnMatch": "Medium",
                    "formatter": 4,
                    "formatOptions": {
                      "palette": "greenRed"
                    }
                  },
                  {
                    "columnMatch": "Low",
                    "formatter": 4,
                    "formatOptions": {
                      "palette": "greenRed"
                    }
                  },
                  {
                    "columnMatch": "Informational",
                    "formatter": 4,
                    "formatOptions": {
                      "palette": "greenRed"
                    }
                  },
                  {
                    "columnMatch": "Last_record",
                    "formatter": 0,
                    "numberFormat": {
                      "unit": 24,
                      "options": {
                        "style": "decimal",
                        "maximumFractionDigits": 2
                      }
                    }
                  },
                  {
                    "columnMatch": "Total",
                    "formatter": 8,
                    "formatOptions": {
                      "palette": "greenRed"
                    }
                  },
                  {
                    "columnMatch": "Mean time to triage",
                    "formatter": 8,
                    "formatOptions": {
                      "palette": "greenRed"
                    }
                  },
                  {
                    "columnMatch": "Mean time to closure",
                    "formatter": 8,
                    "formatOptions": {
                      "palette": "greenRed"
                    }
                  },
                  {
                    "columnMatch": "IncidentTrend",
                    "formatter": 10,
                    "formatOptions": {
                      "palette": "pink"
                    }
                  }
                ],
                "sortBy": [
                  {
                    "itemKey": "$gen_heatmap_Total_10",
                    "sortOrder": 2
                  }
                ]
              },
              "sortBy": [
                {
                  "itemKey": "$gen_heatmap_Total_10",
                  "sortOrder": 2
                }
              ]
            },
            "showPin": false,
            "name": "query - 16"
          },
          {
            "type": 3,
            "content": {
              "version": "KqlItem/1.0",
              "query": "resources\r\n | where type == \"microsoft.insights/workbooks\"\r\n | where properties.displayName has \"Security operations efficiency\" \r\n //| where properties.displayName has '{exportworkSpacename}'\r\n //| project properties.displayName, id\r\n | project id, note='Please select the Subscription and Workpsace names again in the new blade'\r\n | limit 1\r\n\r\n",
              "size": 4,
              "title": "Open [Security Operations Efficiency] Workbook - if the Workbook exists locally?",
              "queryType": 1,
              "resourceType": "microsoft.resourcegraph/resources",
              "crossComponentResources": [
                "{Subscription}"
              ],
              "gridSettings": {
                "formatters": [
                  {
                    "columnMatch": "id",
                    "formatter": 7,
                    "formatOptions": {
                      "linkTarget": "WorkbookTemplate",
                      "linkLabel": "Click to Open [Security operations efficiency] workbook",
                      "linkIsContextBlade": true
                    }
                  },
                  {
                    "columnMatch": "note",
                    "formatter": 0,
                    "formatOptions": {
                      "customColumnWidthSetting": "100ch"
                    }
                  }
                ],
                "labelSettings": [
                  {
                    "columnId": "id",
                    "label": "Open"
                  }
                ]
              }
            },
            "customWidth": "50",
            "conditionalVisibility": {
              "parameterName": "exportworkSpacename",
              "comparison": "isNotEqualTo"
            },
            "name": "query - open_SOC_workbook"
          },
          {
            "type": 3,
            "content": {
              "version": "KqlItem/1.0",
              "query": "resources\r\n| where type =~ 'microsoft.operationalinsights/workspaces'\r\n| extend customerWorkspaceID = trim(' ', tostring(properties.customerId))\r\n| project id, customerWorkspaceID, name=tolower(name), subscriptionId, tenantId\r\n|join \r\n(\r\n\tresources\r\n\t// Just show Workspaces that have Sentinel enabled\r\n\t| where type =~ \"microsoft.operationsmanagement/solutions\"\r\n\t| where name has \"SecurityInsights\"\r\n\t| parse name with * '(' s_workspace ')'*\r\n\t| project name=tolower(s_workspace), subscriptionId, location, properties, resourceGroup\r\n) on name\r\n| where name =~ '{exportworkSpacename}'\r\n| project name, Open=tolower(id), tenantId, customerWorkspaceID,  subscriptionId, location, properties, resourceGroup\r\n",
              "size": 4,
              "title": "Workspace details - click on \"name\" for more details",
              "exportedParameters": [
                {
                  "fieldName": "tenantId",
                  "parameterName": "exporttenantId",
                  "parameterType": 1
                },
                {
                  "fieldName": "subscriptionId",
                  "parameterName": "exportSubscriptionId",
                  "parameterType": 1
                },
                {
                  "fieldName": "resourceGroup",
                  "parameterName": "exportResourceGroup",
                  "parameterType": 1
                },
                {
                  "fieldName": "name",
                  "parameterName": "exportName",
                  "parameterType": 1
                }
              ],
              "queryType": 1,
              "resourceType": "microsoft.resourcegraph/resources",
              "crossComponentResources": [
                "{Subscription}"
              ],
              "gridSettings": {
                "formatters": [
                  {
                    "columnMatch": "Open",
                    "formatter": 7,
                    "formatOptions": {
                      "linkTarget": "Resource",
                      "linkLabel": "Workspace context blade",
                      "linkIsContextBlade": true
                    }
                  },
                  {
                    "columnMatch": "id",
                    "formatter": 7,
                    "formatOptions": {
                      "linkTarget": "WorkbookTemplate",
                      "linkLabel": "Click to Open [Security operations efficiency] workbook",
                      "linkIsContextBlade": false
                    }
                  },
                  {
                    "columnMatch": "note",
                    "formatter": 0,
                    "formatOptions": {
                      "customColumnWidthSetting": "100ch"
                    }
                  }
                ]
              }
            },
            "customWidth": "50",
            "conditionalVisibility": {
              "parameterName": "exportworkSpacename",
              "comparison": "isNotEqualTo"
            },
            "name": "query - Workspace Details"
          },
          {
            "type": 3,
            "content": {
              "version": "KqlItem/1.0",
              "query": "{\"version\":\"ARMEndpoint/1.0\",\"data\":null,\"headers\":[],\"method\":\"GET\",\"path\":\"/tenants?api-version=2022-12-01\",\"urlParams\":[{\"key\":\"\",\"value\":\"\"}],\"batchDisabled\":false,\"transformers\":[{\"type\":\"jsonpath\",\"settings\":{\"tablePath\":\"$.value\",\"columns\":[]}}]}",
              "size": 4,
              "title": "Tenant details",
              "queryType": 12,
              "gridSettings": {
                "formatters": [
                  {
                    "columnMatch": "id",
                    "formatter": 5
                  },
                  {
                    "columnMatch": "domains",
                    "formatter": 7,
                    "formatOptions": {
                      "linkTarget": "GenericDetails",
                      "linkLabel": "Domain name(s)",
                      "linkIsContextBlade": true
                    }
                  },
                  {
                    "columnMatch": "Open",
                    "formatter": 7,
                    "formatOptions": {
                      "linkTarget": "Resource",
                      "linkLabel": "Workspace context blade",
                      "linkIsContextBlade": true
                    }
                  },
                  {
                    "columnMatch": "note",
                    "formatter": 0,
                    "formatOptions": {
                      "customColumnWidthSetting": "100ch"
                    }
                  }
                ]
              }
            },
            "customWidth": "50",
            "conditionalVisibility": {
              "parameterName": "exportworkSpacename",
              "comparison": "isEqualTo",
              "value": "hide"
            },
            "name": "query - Tenant Details"
          },
          {
            "type": 3,
            "content": {
              "version": "KqlItem/1.0",
              "query": "{\"version\":\"ARMEndpoint/1.0\",\"data\":null,\"headers\":[],\"method\":\"GET\",\"path\":\"/subscriptions/{exportSubscriptionId}/resourceGroups/{exportResourceGroup}/providers/Microsoft.OperationalInsights/workspaces/{exportworkSpacename}/providers/Microsoft.SecurityInsights/AlertRules\",\"urlParams\":[{\"key\":\"\",\"value\":\"\"},{\"key\":\"api-version\",\"value\":\"2020-01-01\"}],\"batchDisabled\":false,\"transformers\":[{\"type\":\"jsonpath\",\"settings\":{\"tablePath\":\"$.value\",\"columns\":[{\"path\":\"properties.displayName\",\"columnid\":\"displayName\"},{\"path\":\"type\",\"columnid\":\"type\"},{\"path\":\"kind\",\"columnid\":\"kind\"},{\"path\":\"properties\",\"columnid\":\"properties\"},{\"path\":\"properties.lastModifiedUtc\",\"columnid\":\"lastModifiedUtc\"}]}}]}",
              "size": 4,
              "title": "Rules details ('{exportName}' with {$rowCount} deployed Rules)",
              "showExportToExcel": true,
              "queryType": 12,
              "gridSettings": {
                "formatters": [
                  {
                    "columnMatch": "id",
                    "formatter": 5
                  },
                  {
                    "columnMatch": "name",
                    "formatter": 5
                  },
                  {
                    "columnMatch": "etag",
                    "formatter": 5
                  },
                  {
                    "columnMatch": "domains",
                    "formatter": 7,
                    "formatOptions": {
                      "linkTarget": "GenericDetails",
                      "linkLabel": "Domain name(s)",
                      "linkIsContextBlade": true
                    }
                  },
                  {
                    "columnMatch": "Open",
                    "formatter": 7,
                    "formatOptions": {
                      "linkTarget": "Resource",
                      "linkLabel": "Workspace context blade",
                      "linkIsContextBlade": true
                    }
                  },
                  {
                    "columnMatch": "note",
                    "formatter": 0,
                    "formatOptions": {
                      "customColumnWidthSetting": "100ch"
                    }
                  }
                ],
                "rowLimit": 500,
                "filter": true,
                "sortBy": [
                  {
                    "itemKey": "kind",
                    "sortOrder": 2
                  }
                ]
              },
              "sortBy": [
                {
                  "itemKey": "kind",
                  "sortOrder": 2
                }
              ]
            },
            "customWidth": "50",
            "conditionalVisibility": {
              "parameterName": "exportResourceGroup",
              "comparison": "isNotEqualTo",
              "value": ""
            },
            "name": "query - Rules details"
          },
          {
            "type": 3,
            "content": {
              "version": "KqlItem/1.0",
              "query": "{\"version\":\"Merge/1.0\",\"merges\":[{\"id\":\"724f0ff2-e293-4655-9005-b25c4442a0de\",\"mergeType\":\"innerunique\",\"leftTable\":\"query - Workspace Details\",\"rightTable\":\"query - Tenant Details\",\"leftColumn\":\"tenantId\",\"rightColumn\":\"tenantId\"}],\"projectRename\":[{\"originalName\":\"[query - Workspace Details].name\",\"mergedName\":\"name\",\"fromId\":\"724f0ff2-e293-4655-9005-b25c4442a0de\"},{\"originalName\":\"[query - Workspace Details].Open\",\"mergedName\":\"Open\",\"fromId\":\"724f0ff2-e293-4655-9005-b25c4442a0de\"},{\"originalName\":\"[query - Workspace Details].tenantId\",\"mergedName\":\"tenantId\",\"fromId\":\"724f0ff2-e293-4655-9005-b25c4442a0de\"},{\"originalName\":\"[query - Workspace Details].customerWorkspaceID\",\"mergedName\":\"customerWorkspaceID\",\"fromId\":\"724f0ff2-e293-4655-9005-b25c4442a0de\"},{\"originalName\":\"[query - Workspace Details].subscriptionId\",\"mergedName\":\"subscriptionId\",\"fromId\":\"724f0ff2-e293-4655-9005-b25c4442a0de\"},{\"originalName\":\"[query - Workspace Details].location\",\"mergedName\":\"location\",\"fromId\":\"724f0ff2-e293-4655-9005-b25c4442a0de\"},{\"originalName\":\"[query - Workspace Details].properties\",\"mergedName\":\"properties\",\"fromId\":\"724f0ff2-e293-4655-9005-b25c4442a0de\"},{\"originalName\":\"[query - Tenant Details].id\",\"mergedName\":\"id\",\"fromId\":\"724f0ff2-e293-4655-9005-b25c4442a0de\"},{\"originalName\":\"[query - Tenant Details].tenantId\",\"mergedName\":\"tenantId1\",\"fromId\":\"724f0ff2-e293-4655-9005-b25c4442a0de\"},{\"originalName\":\"[query - Tenant Details].countryCode\",\"mergedName\":\"countryCode\",\"fromId\":\"724f0ff2-e293-4655-9005-b25c4442a0de\"},{\"originalName\":\"[query - Tenant Details].displayName\",\"mergedName\":\"displayName\",\"fromId\":\"724f0ff2-e293-4655-9005-b25c4442a0de\"},{\"originalName\":\"[query - Tenant Details].domains\",\"mergedName\":\"domains\",\"fromId\":\"724f0ff2-e293-4655-9005-b25c4442a0de\"},{\"originalName\":\"[query - Tenant Details].tenantCategory\",\"mergedName\":\"tenantCategory\",\"fromId\":\"724f0ff2-e293-4655-9005-b25c4442a0de\"},{\"originalName\":\"[query - Tenant Details].defaultDomain\",\"mergedName\":\"defaultDomain\",\"fromId\":\"724f0ff2-e293-4655-9005-b25c4442a0de\"},{\"originalName\":\"[query - Tenant Details].tenantType\",\"mergedName\":\"tenantType\",\"fromId\":\"724f0ff2-e293-4655-9005-b25c4442a0de\"},{\"originalName\":\"[query - Tenant Details].tenantBrandingLogoUrl\",\"mergedName\":\"tenantBrandingLogoUrl\",\"fromId\":\"724f0ff2-e293-4655-9005-b25c4442a0de\"},{\"originalName\":\"[query - Workspace Details].resourceGroup\",\"mergedName\":\"resourceGroup\",\"fromId\":\"unknown\"}]}",
              "size": 4,
              "title": "Tenant Details",
              "showExportToExcel": true,
              "queryType": 7,
              "gridSettings": {
                "formatters": [
                  {
                    "columnMatch": "id",
                    "formatter": 5
                  },
                  {
                    "columnMatch": "tenantId1",
                    "formatter": 5
                  },
                  {
                    "columnMatch": "domains",
                    "formatter": 7,
                    "formatOptions": {
                      "linkTarget": "CellDetails",
                      "linkLabel": "Domain List",
                      "linkIsContextBlade": true
                    }
                  }
                ],
                "filter": true
              }
            },
            "conditionalVisibility": {
              "parameterName": "exportworkSpacename",
              "comparison": "isNotEqualTo"
            },
            "showPin": false,
            "name": "query - merged Tenant view"
          },
          {
            "type": 12,
            "content": {
              "version": "NotebookGroup/1.0",
              "groupType": "editable",
              "title": "Classification, Tactics and Techniques report",
              "expandable": true,
              "items": [
                {
                  "type": 3,
                  "content": {
                    "version": "KqlItem/1.0",
                    "query": "SecurityIncident\r\n// Get the Workspace Name(s) from a parameter\r\n| extend stringtoSplit = split(\"{WorkspaceIDguid}\",\",\")\r\n| mv-expand stringtoSplit\r\n| where stringtoSplit has TenantId\r\n| extend workSpacename = trim(@\"[^\\w]+\",tostring(split(stringtoSplit,\":\").[1]))\r\n// end of get workspace name section\r\n| where Status == 'Closed'\r\n| order by LastModifiedTime \r\n| summarize count(), make_set(ClassificationComment) by workSpacename, Classification , ClassificationReason \r\n| evaluate pivot(Classification, sum(count_))",
                    "size": 1,
                    "title": "Incident Classification report",
                    "timeContextFromParameter": "TimeRange",
                    "showExportToExcel": true,
                    "queryType": 0,
                    "resourceType": "microsoft.operationalinsights/workspaces",
                    "crossComponentResources": [
                      "{Workspace}"
                    ],
                    "gridSettings": {
                      "formatters": [
                        {
                          "columnMatch": "set_ClassificationComment",
                          "formatter": 7,
                          "formatOptions": {
                            "linkTarget": "CellDetails",
                            "linkIsContextBlade": true
                          }
                        },
                        {
                          "columnMatch": "BenignPositive",
                          "formatter": 4,
                          "formatOptions": {
                            "palette": "greenRed",
                            "customColumnWidthSetting": "150px"
                          }
                        },
                        {
                          "columnMatch": "FalsePositive",
                          "formatter": 4,
                          "formatOptions": {
                            "palette": "greenRed",
                            "customColumnWidthSetting": "150px"
                          }
                        },
                        {
                          "columnMatch": "TruePositive",
                          "formatter": 4,
                          "formatOptions": {
                            "palette": "greenRed",
                            "customColumnWidthSetting": "150px"
                          }
                        },
                        {
                          "columnMatch": "Undetermined",
                          "formatter": 4,
                          "formatOptions": {
                            "palette": "greenRed",
                            "customColumnWidthSetting": "150px"
                          }
                        }
                      ],
                      "filter": true,
                      "sortBy": [
                        {
                          "itemKey": "workSpacename",
                          "sortOrder": 2
                        }
                      ],
                      "labelSettings": [
                        {
                          "columnId": "set_ClassificationComment",
                          "label": "Reason"
                        }
                      ]
                    },
                    "sortBy": [
                      {
                        "itemKey": "workSpacename",
                        "sortOrder": 2
                      }
                    ]
                  },
                  "name": "query - 10"
                },
                {
                  "type": 3,
                  "content": {
                    "version": "KqlItem/1.0",
                    "query": "SecurityIncident\r\n// Get the Workspace Name(s) from a parameter\r\n| extend stringtoSplit = split(\"{WorkspaceIDguid}\",\",\")\r\n| mv-expand stringtoSplit\r\n| where stringtoSplit has TenantId\r\n| extend workSpacename = trim(@\"[^\\w]+\",tostring(split(stringtoSplit,\":\").[1]))\r\n// end of get workspace name section\r\n| extend Tactics_ = tostring(parse_json(tostring(AdditionalData.tactics)))\r\n| summarize  count()\r\n            by workSpacename, Tactics_\r\n| order by count_ desc\r\n| evaluate pivot(Tactics_, sum(count_))",
                    "size": 1,
                    "title": "Incident Tactics report",
                    "timeContextFromParameter": "TimeRange",
                    "showExportToExcel": true,
                    "queryType": 0,
                    "resourceType": "microsoft.operationalinsights/workspaces",
                    "crossComponentResources": [
                      "{Workspace}"
                    ],
                    "gridSettings": {
                      "formatters": [
                        {
                          "columnMatch": "set_ClassificationComment",
                          "formatter": 7,
                          "formatOptions": {
                            "linkTarget": "CellDetails",
                            "linkIsContextBlade": true
                          }
                        },
                        {
                          "columnMatch": "TruePositive",
                          "formatter": 8,
                          "formatOptions": {
                            "palette": "greenRed"
                          }
                        }
                      ],
                      "filter": true,
                      "sortBy": [
                        {
                          "itemKey": "workSpacename",
                          "sortOrder": 1
                        }
                      ]
                    },
                    "sortBy": [
                      {
                        "itemKey": "workSpacename",
                        "sortOrder": 1
                      }
                    ],
                    "tileSettings": {
                      "showBorder": false,
                      "titleContent": {
                        "columnMatch": "workSpacename",
                        "formatter": 1
                      },
                      "leftContent": {
                        "columnMatch": "[\"Collection\"]",
                        "formatter": 12,
                        "formatOptions": {
                          "palette": "auto"
                        },
                        "numberFormat": {
                          "unit": 17,
                          "options": {
                            "maximumSignificantDigits": 3,
                            "maximumFractionDigits": 2
                          }
                        }
                      }
                    }
                  },
                  "name": "query - 10 - Tactics"
                },
                {
                  "type": 3,
                  "content": {
                    "version": "KqlItem/1.0",
                    "query": "SecurityIncident\r\n// Get the Workspace Name(s) from a parameter\r\n| extend stringtoSplit = split(\"{WorkspaceIDguid}\",\",\")\r\n| mv-expand stringtoSplit\r\n| where stringtoSplit has TenantId\r\n| extend workSpacename = trim(@\"[^\\w]+\",tostring(split(stringtoSplit,\":\").[1]))\r\n// end of get workspace name section\r\n| extend Tactics_ = tostring(parse_json(tostring(AdditionalData.techniques)))\r\n| summarize  count()\r\n            by workSpacename, Tactics_\r\n| order by count_ desc\r\n| evaluate pivot(Tactics_, sum(count_))",
                    "size": 1,
                    "title": "Incident Techniques report, count {$rowCount}",
                    "showExportToExcel": true,
                    "queryType": 0,
                    "resourceType": "microsoft.operationalinsights/workspaces",
                    "crossComponentResources": [
                      "{Workspace}"
                    ],
                    "gridSettings": {
                      "formatters": [
                        {
                          "columnMatch": "set_ClassificationComment",
                          "formatter": 7,
                          "formatOptions": {
                            "linkTarget": "CellDetails",
                            "linkIsContextBlade": true
                          }
                        },
                        {
                          "columnMatch": "TruePositive",
                          "formatter": 8,
                          "formatOptions": {
                            "palette": "greenRed"
                          }
                        }
                      ],
                      "filter": true,
                      "sortBy": [
                        {
                          "itemKey": "workSpacename",
                          "sortOrder": 1
                        }
                      ]
                    },
                    "sortBy": [
                      {
                        "itemKey": "workSpacename",
                        "sortOrder": 1
                      }
                    ],
                    "tileSettings": {
                      "showBorder": false,
                      "titleContent": {
                        "columnMatch": "workSpacename",
                        "formatter": 1
                      },
                      "leftContent": {
                        "columnMatch": "[\"Collection\"]",
                        "formatter": 12,
                        "formatOptions": {
                          "palette": "auto"
                        },
                        "numberFormat": {
                          "unit": 17,
                          "options": {
                            "maximumSignificantDigits": 3,
                            "maximumFractionDigits": 2
                          }
                        }
                      }
                    }
                  },
                  "name": "query - 10 - Techniques"
                }
              ]
            },
            "name": "group - classification and tactics"
          },
          {
            "type": 3,
            "content": {
              "version": "KqlItem/1.0",
              "query": "SecurityIncident\r\n// Get the Workspace Name(s) from a parameter\r\n| extend stringtoSplit = split(\"{WorkspaceIDguid}\",\",\")\r\n| mvexpand stringtoSplit\r\n| where stringtoSplit has TenantId\r\n| extend workSpacename = trim(@\"[^\\w]+\",tostring(split(stringtoSplit,\":\").[1]))\r\n//Filter out duplicate incidents\r\n| summarize arg_max(TimeGenerated, *) by IncidentName\r\n// end of get workspace name section\r\n| summarize Total  = count()\r\n            by workSpacename\r\n\r\n\r\n\r\n\r\n",
              "size": 1,
              "title": "Count of Security Incidents for selected Workspaces and Severity",
              "timeContextFromParameter": "TimeRange",
              "queryType": 0,
              "resourceType": "microsoft.operationalinsights/workspaces",
              "crossComponentResources": [
                "{Workspace}"
              ],
              "visualization": "table",
              "gridSettings": {
                "formatters": [
                  {
                    "columnMatch": "High",
                    "formatter": 4,
                    "formatOptions": {
                      "palette": "greenRed"
                    }
                  },
                  {
                    "columnMatch": "Medium",
                    "formatter": 4,
                    "formatOptions": {
                      "palette": "greenRed"
                    }
                  },
                  {
                    "columnMatch": "Low",
                    "formatter": 4,
                    "formatOptions": {
                      "palette": "greenRed"
                    }
                  },
                  {
                    "columnMatch": "Informational",
                    "formatter": 4,
                    "formatOptions": {
                      "palette": "greenRed"
                    }
                  }
                ],
                "labelSettings": [
                  {
                    "columnId": "workSpacename",
                    "label": "Workspace Name"
                  }
                ]
              }
            },
            "customWidth": "40",
            "conditionalVisibility": {
              "parameterName": "hide",
              "comparison": "isEqualTo",
              "value": "hide"
            },
            "name": "query - KQL for MAP count"
          },
          {
            "type": 3,
            "content": {
              "version": "KqlItem/1.0",
              "query": "resources\r\n// Just show Workspaces that have Sentinel enabled\r\n| where type =~ \"microsoft.operationsmanagement/solutions\"\r\n| where name has \"SecurityInsights\"\r\n| parse name with * '(' s_workspace ')'*\r\n| summarize count() by location, s_workspace",
              "size": 0,
              "title": "Sentinel Workspaces by Azure Region",
              "queryType": 1,
              "resourceType": "microsoft.resourcegraph/resources",
              "crossComponentResources": [
                "{Subscription}"
              ],
              "visualization": "table",
              "mapSettings": {
                "locInfo": "AzureLoc",
                "locInfoColumn": "location",
                "sizeSettings": "count_",
                "sizeAggregation": "Sum",
                "labelSettings": "location",
                "legendMetric": "location",
                "legendAggregation": "Count",
                "itemColorSettings": {
                  "nodeColorField": "count_",
                  "colorAggregation": "Sum",
                  "type": "heatmap",
                  "heatmapPalette": "greenRed"
                }
              }
            },
            "customWidth": "50",
            "conditionalVisibility": {
              "parameterName": "hide",
              "comparison": "isEqualTo",
              "value": "hide"
            },
            "name": "query - ARG for MAp count"
          },
          {
            "type": 3,
            "content": {
              "version": "KqlItem/1.0",
              "query": "{\"version\":\"Merge/1.0\",\"merges\":[{\"id\":\"9862f923-5d48-4232-8b1d-54f18cd153d3\",\"mergeType\":\"innerunique\",\"leftTable\":\"query - KQL for MAP count\",\"rightTable\":\"query - ARG for MAp count\",\"leftColumn\":\"workSpacename\",\"rightColumn\":\"s_workspace\"}],\"projectRename\":[{\"originalName\":\"[query - KQL for MAP count].workSpacename\",\"mergedName\":\"Workspace Name\",\"fromId\":\"9862f923-5d48-4232-8b1d-54f18cd153d3\"},{\"originalName\":\"[query - KQL for MAP count].Total\",\"mergedName\":\"Total\",\"fromId\":\"9862f923-5d48-4232-8b1d-54f18cd153d3\"},{\"originalName\":\"[query - ARG for MAp count].location\",\"mergedName\":\"location\",\"fromId\":\"9862f923-5d48-4232-8b1d-54f18cd153d3\"},{\"originalName\":\"[query - ARG for MAp count].s_workspace\",\"mergedName\":\"s_workspace\",\"fromId\":\"9862f923-5d48-4232-8b1d-54f18cd153d3\"},{\"originalName\":\"[query - ARG for MAp count].count_\",\"mergedName\":\"count_\",\"fromId\":\"9862f923-5d48-4232-8b1d-54f18cd153d3\"}]}",
              "size": 0,
              "title": "Sentinel Incident Count by Region",
              "exportedParameters": [
                {
                  "fieldName": "",
                  "parameterName": "exportMap1"
                },
                {
                  "fieldName": "location",
                  "parameterName": "location",
                  "parameterType": 1
                }
              ],
              "queryType": 7,
              "visualization": "map",
              "gridSettings": {
                "sortBy": [
                  {
                    "itemKey": "s_workspace",
                    "sortOrder": 1
                  }
                ]
              },
              "sortBy": [
                {
                  "itemKey": "s_workspace",
                  "sortOrder": 1
                }
              ],
              "mapSettings": {
                "locInfo": "AzureLoc",
                "locInfoColumn": "location",
                "sizeSettings": "Total",
                "sizeAggregation": "Sum",
                "labelSettings": "location",
                "legendMetric": "Total",
                "numberOfMetrics": 50,
                "legendAggregation": "Sum",
                "itemColorSettings": {
                  "nodeColorField": "Total",
                  "colorAggregation": "Sum",
                  "type": "heatmap",
                  "heatmapPalette": "greenRed"
                }
              }
            },
            "customWidth": "50",
            "showPin": false,
            "name": "query - 6"
          },
          {
            "type": 3,
            "content": {
              "version": "KqlItem/1.0",
              "query": "resources\r\n// Just show Workspaces that have Sentinel enabled\r\n| where type =~ \"microsoft.operationsmanagement/solutions\"\r\n| where name has \"SecurityInsights\"\r\n| parse name with * '(' s_workspace ')'*\r\n| summarize count() by location, s_workspace",
              "size": 0,
              "title": "Sentinel Workspaces by Azure Region",
              "exportParameterName": "exportMap2",
              "queryType": 1,
              "resourceType": "microsoft.resourcegraph/resources",
              "crossComponentResources": [
                "{Subscription}"
              ],
              "visualization": "map",
              "mapSettings": {
                "locInfo": "AzureLoc",
                "locInfoColumn": "location",
                "sizeSettings": "count_",
                "sizeAggregation": "Sum",
                "labelSettings": "location",
                "legendMetric": "location",
                "legendAggregation": "Count",
                "itemColorSettings": {
                  "nodeColorField": "count_",
                  "colorAggregation": "Sum",
                  "type": "heatmap",
                  "heatmapPalette": "greenRed"
                }
              }
            },
            "customWidth": "50",
            "name": "query - 10"
          },
          {
            "type": 9,
            "content": {
              "version": "KqlParameterItem/1.0",
              "crossComponentResources": [
                "{Subscription}"
              ],
              "parameters": [
                {
                  "id": "5443aca4-a73d-46ad-aaea-bd391acc3f0d",
                  "version": "KqlParameterItem/1.0",
                  "name": "getMapdata1",
                  "type": 1,
                  "isRequired": true,
                  "query": "extend a = parse_json('{exportMap1}')\r\n| project  ['region']=a.regionName,  ['Incident Count']=a.legendValue\r\n| limit 1",
                  "crossComponentResources": [
                    "{Subscription}"
                  ],
                  "isHiddenWhenLocked": true,
                  "timeContext": {
                    "durationMs": 0
                  },
                  "timeContextFromParameter": "TimeRange",
                  "queryType": 1,
                  "resourceType": "microsoft.resourcegraph/resources"
                },
                {
                  "version": "KqlParameterItem/1.0",
                  "name": "getMapdata2",
                  "type": 1,
                  "isRequired": true,
                  "query": "extend a = parse_json('{exportMap2}')\r\n| project  ['region']=a.regionName,  ['Incident Count']=a.legendValue\r\n| limit 1",
                  "crossComponentResources": [
                    "{Subscription}"
                  ],
                  "isHiddenWhenLocked": true,
                  "timeContext": {
                    "durationMs": 86400000
                  },
                  "queryType": 1,
                  "resourceType": "microsoft.resourcegraph/resources",
                  "id": "793ac0c4-7518-4e52-9509-eb1bdf97854b"
                },
                {
                  "version": "KqlParameterItem/1.0",
                  "name": "getMapdata1_count",
                  "type": 1,
                  "isRequired": true,
                  "query": "extend a = parse_json('{exportMap1}')\r\n| project  ['Incident Count']=a.legendValue\r\n| limit 1",
                  "crossComponentResources": [
                    "{Subscription}"
                  ],
                  "isHiddenWhenLocked": true,
                  "timeContext": {
                    "durationMs": 0
                  },
                  "timeContextFromParameter": "TimeRange",
                  "queryType": 1,
                  "resourceType": "microsoft.resourcegraph/resources",
                  "id": "d4349432-c9cf-436e-9ede-2cd303c4bc9c"
                },
                {
                  "version": "KqlParameterItem/1.0",
                  "name": "getMapdata2_count",
                  "type": 1,
                  "isRequired": true,
                  "query": "extend a = parse_json('{exportMap2}')\r\n| project  ['Incident Count']=a.legendValue\r\n| limit 1",
                  "crossComponentResources": [
                    "{Subscription}"
                  ],
                  "isHiddenWhenLocked": true,
                  "timeContext": {
                    "durationMs": 0
                  },
                  "timeContextFromParameter": "TimeRange",
                  "queryType": 1,
                  "resourceType": "microsoft.resourcegraph/resources",
                  "id": "88076350-2736-407f-a272-6b473dc92c6c"
                }
              ],
              "style": "above",
              "queryType": 1,
              "resourceType": "microsoft.resourcegraph/resources"
            },
            "name": "parameters - 8"
          },
          {
            "type": 1,
            "content": {
              "json": "### Results from clicking on the Maps above\r\n--------------\r\n\r\n|Azure Region|Location|Incident Count|Workspace Counter|\r\n|---|---|---|\r\n| Sentinel Incident Count by Region| {getMapdata1}|{getMapdata1_count}||\r\n| Sentinel Workspaces by Azure Region| {getMapdata2}||{getMapdata2_count}|\r\n\r\n-----------"
            },
            "name": "text - 7"
          },
          {
            "type": 3,
            "content": {
              "version": "KqlItem/1.0",
              "query": "SecurityIncident\r\n// Get the Workspace Name(s) from a parameter\r\n| extend stringtoSplit = split(\"{WorkspaceIDguid}\",\",\")\r\n| mvexpand stringtoSplit\r\n| where stringtoSplit has TenantId\r\n| extend workSpacename = trim(@\"[^\\w]+\",tostring(split(stringtoSplit,\":\").[1]))\r\n// end of get workspace name section\r\n| extend Tactics_ = tostring(parse_json(tostring(AdditionalData.tactics)))\r\n| summarize  count()\r\n            by workSpacename, Tactics_\r\n| order by count_ desc\r\n\r\n\r\n\r\n\r\n\r\n\r\n",
              "size": 1,
              "title": "Count of Tactics for selected Workspaces",
              "timeContextFromParameter": "TimeRange",
              "queryType": 0,
              "resourceType": "microsoft.operationalinsights/workspaces",
              "crossComponentResources": [
                "{Workspace}"
              ],
              "visualization": "table",
              "gridSettings": {
                "formatters": [
                  {
                    "columnMatch": "count_",
                    "formatter": 3,
                    "formatOptions": {
                      "palette": "coldHot"
                    }
                  },
                  {
                    "columnMatch": "High",
                    "formatter": 4,
                    "formatOptions": {
                      "palette": "greenRed"
                    }
                  },
                  {
                    "columnMatch": "Medium",
                    "formatter": 4,
                    "formatOptions": {
                      "palette": "greenRed"
                    }
                  },
                  {
                    "columnMatch": "Low",
                    "formatter": 4,
                    "formatOptions": {
                      "palette": "greenRed"
                    }
                  },
                  {
                    "columnMatch": "Informational",
                    "formatter": 4,
                    "formatOptions": {
                      "palette": "greenRed"
                    }
                  },
                  {
                    "columnMatch": "Total",
                    "formatter": 8,
                    "formatOptions": {
                      "palette": "coldHot"
                    }
                  }
                ],
                "labelSettings": [
                  {
                    "columnId": "count_",
                    "label": "count"
                  }
                ]
              }
            },
            "customWidth": "50",
            "conditionalVisibility": {
              "parameterName": "hide",
              "comparison": "isEqualTo",
              "value": "hide"
            },
            "name": "query - 3 - Copy - Copy - Copy"
          }
        ]
      },
      "conditionalVisibility": {
        "parameterName": "selectedTab",
        "comparison": "isEqualTo",
        "value": "incidents"
      },
      "name": "group - overview"
    },
    {
      "type": 1,
      "content": {
        "json": "---------------"
      },
      "name": "text - 9"
    },
    {
      "type": 12,
      "content": {
        "version": "NotebookGroup/1.0",
        "groupType": "editable",
        "title": "Expand to Show: Incident details",
        "expandable": true,
        "expanded": true,
        "items": [
          {
            "type": 3,
            "content": {
              "version": "KqlItem/1.0",
              "query": "SecurityIncident\r\n| where TimeGenerated > startofday(ago(0d))\r\n// Get the Workspace Name(s) from a parameter\r\n| extend stringtoSplit = split(\"{WorkspaceIDguid}\",\",\")\r\n| mv-expand stringtoSplit\r\n| where stringtoSplit has TenantId\r\n| extend workSpacename = trim(@\"[^\\w]+\",tostring(split(stringtoSplit,\":\").[1]))\r\n//Filter out duplicate incidents\r\n| summarize arg_max(TimeGenerated, *) by IncidentName\r\n// end of get workspace name section\r\n| extend productName_ = tostring(parse_json(tostring(AdditionalData.alertProductNames))[0])\r\n| where productName_ in ({Product}) or '{Product:label}' ==\"All\"\r\n| summarize count() by IncidentNumber, Title, productName_, Severity, [\"Workspace\"] = workSpacename, IncidentUrl\r\n| order by Workspace asc , IncidentNumber desc\r\n//| top 50 by [\"Workspace\"]",
              "size": 1,
              "title": "{$rowCount} Incidents in Workspaces today",
              "timeContextFromParameter": "TimeRange",
              "exportedParameters": [
                {
                  "fieldName": "IncidentNumber",
                  "parameterName": "IncidentNumber",
                  "parameterType": 1
                },
                {
                  "fieldName": "Workspace",
                  "parameterName": "Workspace_export",
                  "parameterType": 1
                }
              ],
              "queryType": 0,
              "resourceType": "microsoft.operationalinsights/workspaces",
              "crossComponentResources": [
                "{Workspace}"
              ],
              "gridSettings": {
                "formatters": [
                  {
                    "columnMatch": "productName_",
                    "formatter": 0,
                    "formatOptions": {
                      "customColumnWidthSetting": "30ch"
                    }
                  },
                  {
                    "columnMatch": "Severity",
                    "formatter": 18,
                    "formatOptions": {
                      "thresholdsOptions": "colors",
                      "thresholdsGrid": [
                        {
                          "operator": "==",
                          "thresholdValue": "High",
                          "representation": "redBright",
                          "text": "{0}{1}"
                        },
                        {
                          "operator": "==",
                          "thresholdValue": "Medium",
                          "representation": "orange",
                          "text": "{0}{1}"
                        },
                        {
                          "operator": "==",
                          "thresholdValue": "Low",
                          "representation": "greenDark",
                          "text": "{0}{1}"
                        },
                        {
                          "operator": "Default",
                          "representation": "lightBlue",
                          "text": "{0}{1}"
                        }
                      ]
                    }
                  },
                  {
                    "columnMatch": "Workspace",
                    "formatter": 5
                  },
                  {
                    "columnMatch": "IncidentUrl",
                    "formatter": 7,
                    "formatOptions": {
                      "linkTarget": "Url",
                      "linkLabel": "Open Azure Sentinel Incident"
                    }
                  }
                ],
                "rowLimit": 5000,
                "filter": true,
                "hierarchySettings": {
                  "treeType": 1,
                  "groupBy": [
                    "Workspace"
                  ]
                },
                "sortBy": [
                  {
                    "itemKey": "IncidentNumber",
                    "sortOrder": 2
                  }
                ],
                "labelSettings": [
                  {
                    "columnId": "productName_",
                    "label": "Product Name"
                  }
                ]
              },
              "sortBy": [
                {
                  "itemKey": "IncidentNumber",
                  "sortOrder": 2
                }
              ]
            },
            "name": "query - multi Alerts"
          },
          {
            "type": 1,
            "content": {
              "json": "For further analysis I suggest you open the Azure Sentinel Incident Blade and _Investigate_ (use the hyper link provided in the table, if you have the correct RBAC).\r\n\r\nAlternatively open the [_Investigation Insights_] or [_Incident Overview_] Workbooks for guided and deeper investigation.  Open Incident Overview from the Portal, _Investigation Insights_ can be opened to the right --->.\r\n\r\n- You must have previoulsy SAVED these Workbooks in your workspace(s).  \r\n- Investigation Insights requires release v1.2 or above (you may have to manually select the Workspace), for prior versions you will have to select the matching Incident Number as well. \r\n- For the Workbooks to be listed, they need \"Investigation\" in the name when you save them."
            },
            "customWidth": "50",
            "name": "text - 7"
          },
          {
            "type": 3,
            "content": {
              "version": "KqlItem/1.0",
              "query": "resources\r\n | where type == \"microsoft.insights/workbooks\"\r\n | where properties.displayName has \"Investigation\" // or properties.displayName has \"Incident\"\r\n | where properties.displayName has '{Workspace_export}'\r\n | project properties.displayName, id,  {IncidentNumber}\r\n",
              "size": 4,
              "title": "Workspace Name: {Workspace_export}",
              "queryType": 1,
              "resourceType": "microsoft.resourcegraph/resources",
              "crossComponentResources": [
                "{Subscription}"
              ],
              "gridSettings": {
                "formatters": [
                  {
                    "columnMatch": "properties_displayName",
                    "formatter": 1
                  },
                  {
                    "columnMatch": "id",
                    "formatter": 7,
                    "formatOptions": {
                      "linkTarget": "WorkbookTemplate",
                      "linkLabel": "Open Workbook",
                      "linkIsContextBlade": true
                    }
                  }
                ],
                "labelSettings": [
                  {
                    "columnId": "properties_displayName",
                    "label": "Workbook Name"
                  },
                  {
                    "columnId": "id",
                    "label": "Open"
                  },
                  {
                    "columnId": "Column1",
                    "label": "Incident Number"
                  }
                ]
              }
            },
            "customWidth": "50",
            "name": "query - 11"
          },
          {
            "type": 1,
            "content": {
              "json": "### Select a single workspace to see Incident level details "
            },
            "name": "text - 6"
          },
          {
            "type": 9,
            "content": {
              "version": "KqlParameterItem/1.0",
              "crossComponentResources": [
                "{Subscription}"
              ],
              "parameters": [
                {
                  "id": "4383a3f4-7606-41a7-b1cf-e5bffd2d9ecb",
                  "version": "KqlParameterItem/1.0",
                  "name": "iWorkspace",
                  "label": "Incident Workspace",
                  "type": 7,
                  "query": "resources\r\n// Just show Workspaces that have Sentinel enabled\r\n| where type =~ \"microsoft.operationsmanagement/solutions\"\r\n| where name has \"SecurityInsights\"\r\n| parse name with * '(' s_workspace ')'*\r\n| project name = s_workspace\r\n| sort by name asc",
                  "crossComponentResources": [
                    "{Subscription}"
                  ],
                  "typeSettings": {
                    "showDefault": false
                  },
                  "queryType": 1,
                  "resourceType": "microsoft.resourcegraph/resources",
                  "value": null
                },
                {
                  "id": "c2494755-05cc-4b93-b253-e8a0d4b7c899",
                  "version": "KqlParameterItem/1.0",
                  "name": "iResourceGroup",
                  "type": 1,
                  "query": "resources\r\n| where type =~ 'microsoft.operationalinsights/workspaces'\r\n| where tolower(name) == \"{iWorkspace}\"\r\n| project resourceGroup",
                  "crossComponentResources": [
                    "{Subscription}"
                  ],
                  "isHiddenWhenLocked": true,
                  "queryType": 1,
                  "resourceType": "microsoft.resourcegraph/resources"
                }
              ],
              "style": "above",
              "queryType": 1,
              "resourceType": "microsoft.resourcegraph/resources"
            },
            "name": "parameters - 5"
          },
          {
            "type": 3,
            "content": {
              "version": "KqlItem/1.0",
              "query": "SecurityIncident\r\n// Get the Workspace Name(s) from a parameter\r\n| extend stringtoSplit = split(\"{WorkspaceIDguid}\",\",\")\r\n| mv-expand stringtoSplit\r\n| where stringtoSplit has TenantId\r\n| extend workSpacename = trim(@\"[^\\w]+\",tostring(split(stringtoSplit,\":\").[1]))\r\n// end of workspace validation, now match workspace to the selected parameter\r\n| where tolower(workSpacename) == tolower('{iWorkspace}')\r\n| summarize arg_max(TimeGenerated,*) by tostring(IncidentNumber)\r\n| extend Alerts = extract(\"\\\\[(.*?)\\\\]\", 1, tostring(AlertIds))\r\n| extend productName_ = tostring(parse_json(tostring(AdditionalData.alertProductNames))[0])\r\n| where productName_ in ({Product}) or '{Product:label}' ==\"All\"\r\n| mv-expand AlertIds to typeof(string)\r\n| join \r\n(\r\n    SecurityAlert\r\n    | extend AlertEntities = parse_json(Entities)\r\n    | mv-expand AlertEntities\r\n) on $left.AlertIds == $right.SystemAlertId\r\n| summarize AlertCount=dcount(AlertIds), entityList=make_set(tostring(AlertEntities.Type)) by IncidentNumber, Status, Severity, Title,  Alerts, IncidentUrl, Owner=tostring(Owner.userPrincipalName) , Tactics =tostring(AdditionalData.tactics), workSpacename, productName_\r\n// set column order\r\n| project workSpacename, IncidentNumber, Severity, Status, AlertCount,Owner, Title, entityList, Tactics, IncidentUrl, productName_\r\n| order by IncidentNumber desc\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n",
              "size": 0,
              "title": "Details for {iWorkspace} Workspace, count of: {$rowCount} Incidents during {TimeRange:label}",
              "timeContextFromParameter": "TimeRange",
              "showExportToExcel": true,
              "queryType": 0,
              "resourceType": "microsoft.operationalinsights/workspaces",
              "crossComponentResources": [
                "{Workspace}"
              ],
              "gridSettings": {
                "formatters": [
                  {
                    "columnMatch": "workSpacename",
                    "formatter": 5
                  },
                  {
                    "columnMatch": "Severity",
                    "formatter": 18,
                    "formatOptions": {
                      "thresholdsOptions": "colors",
                      "thresholdsGrid": [
                        {
                          "operator": "==",
                          "thresholdValue": "High",
                          "representation": "redBright",
                          "text": "{0}{1}"
                        },
                        {
                          "operator": "==",
                          "thresholdValue": "Medium",
                          "representation": "orange",
                          "text": "{0}{1}"
                        },
                        {
                          "operator": "==",
                          "thresholdValue": "Low",
                          "representation": "greenDark",
                          "text": "{0}{1}"
                        },
                        {
                          "operator": "Default",
                          "representation": "lightBlue",
                          "text": "{0}{1}"
                        }
                      ]
                    }
                  },
                  {
                    "columnMatch": "Status",
                    "formatter": 18,
                    "formatOptions": {
                      "thresholdsOptions": "colors",
                      "thresholdsGrid": [
                        {
                          "operator": "==",
                          "thresholdValue": "New",
                          "representation": "gray",
                          "text": "{0}{1}"
                        },
                        {
                          "operator": "Default",
                          "representation": "blue",
                          "text": "{0}{1}"
                        }
                      ]
                    }
                  },
                  {
                    "columnMatch": "AlertCount",
                    "formatter": 8,
                    "formatOptions": {
                      "palette": "greenRed"
                    }
                  },
                  {
                    "columnMatch": "IncidentUrl",
                    "formatter": 1,
                    "formatOptions": {
                      "linkTarget": "Url",
                      "linkLabel": "Open Incident in Azure Sentinel "
                    }
                  }
                ],
                "rowLimit": 500,
                "filter": true,
                "sortBy": [
                  {
                    "itemKey": "IncidentNumber",
                    "sortOrder": 2
                  }
                ]
              },
              "sortBy": [
                {
                  "itemKey": "IncidentNumber",
                  "sortOrder": 2
                }
              ]
            },
            "conditionalVisibility": {
              "parameterName": "iWorkspace",
              "comparison": "isNotEqualTo",
              "value": ""
            },
            "name": "query - single alert"
          }
        ]
      },
      "conditionalVisibility": {
        "parameterName": "selectedTab",
        "comparison": "isEqualTo",
        "value": "incidents"
      },
      "name": "group - Incidents"
    },
    {
      "type": 12,
      "content": {
        "version": "NotebookGroup/1.0",
        "groupType": "editable",
        "title": "Hunting: Hunt across selected workspaces, using any KQL you paste or edit in this field. ",
        "items": [
          {
            "type": 9,
            "content": {
              "version": "KqlParameterItem/1.0",
              "parameters": [
                {
                  "id": "fcc2456c-f4b5-4505-a188-aa4ebab3db67",
                  "version": "KqlParameterItem/1.0",
                  "name": "queryTxt",
                  "type": 1,
                  "description": "Add  workspace identity e.g SecurityIncident | summarize count() by WorkspaceId=TenantId",
                  "value": "SecurityIncident\r\n| summarize arg_max(TimeGenerated,*) by WorkspaceId=TenantId",
                  "typeSettings": {
                    "multiLineText": true,
                    "editorLanguage": "kql"
                  },
                  "timeContext": {
                    "durationMs": 86400000
                  }
                }
              ],
              "style": "above",
              "queryType": 0,
              "resourceType": "microsoft.operationalinsights/workspaces"
            },
            "name": "parameters - 5"
          },
          {
            "type": 3,
            "content": {
              "version": "KqlItem/1.0",
              "query": "{queryTxt}",
              "size": 0,
              "title": "Cross workspace Query results, rows: {$rowCount}, QueryTime: {$queryTime}.  Select a row for more details",
              "exportFieldName": "WorkspaceId",
              "exportParameterName": "exportWorkspaceId",
              "showExportToExcel": true,
              "queryType": 0,
              "resourceType": "microsoft.operationalinsights/workspaces",
              "crossComponentResources": [
                "{Workspace}"
              ],
              "gridSettings": {
                "formatters": [
                  {
                    "columnMatch": "Workspace",
                    "formatter": 16,
                    "formatOptions": {
                      "showIcon": true
                    }
                  }
                ]
              }
            },
            "conditionalVisibility": {
              "parameterName": "hide",
              "comparison": "isEqualTo",
              "value": "hide"
            },
            "name": "query - crossWorkspaceQuery"
          },
          {
            "type": 3,
            "content": {
              "version": "KqlItem/1.0",
              "query": "resources\r\n| where type =~ 'microsoft.operationalinsights/workspaces'\r\n| extend customerWorkspaceID = trim(' ', tostring(properties.customerId))\r\n| project id, customerWorkspaceID, name=tolower(name), subscriptionId, tenantId\r\n|join \r\n(\r\n\tresources\r\n\t// Just show Workspaces that have Sentinel enabled\r\n\t| where type =~ \"microsoft.operationsmanagement/solutions\"\r\n\t| where name has \"SecurityInsights\"\r\n\t| parse name with * '(' s_workspace ')'*\r\n\t| project name=tolower(s_workspace), subscriptionId, location, properties, resourceGroup\r\n) on name",
              "size": 0,
              "title": "ARG - to hide",
              "exportedParameters": [
                {
                  "fieldName": "tenantId",
                  "parameterName": "exporttenantId",
                  "parameterType": 1
                },
                {
                  "fieldName": "subscriptionId",
                  "parameterName": "exportSubscriptionId",
                  "parameterType": 1
                },
                {
                  "fieldName": "resourceGroup",
                  "parameterName": "exportResourceGroup",
                  "parameterType": 1
                },
                {
                  "fieldName": "name",
                  "parameterName": "exportName",
                  "parameterType": 1
                }
              ],
              "queryType": 1,
              "resourceType": "microsoft.resourcegraph/resources",
              "crossComponentResources": [
                "{Subscription}"
              ],
              "gridSettings": {
                "formatters": [
                  {
                    "columnMatch": "Open",
                    "formatter": 7,
                    "formatOptions": {
                      "linkTarget": "Resource",
                      "linkLabel": "Workspace context blade",
                      "linkIsContextBlade": true
                    }
                  },
                  {
                    "columnMatch": "id",
                    "formatter": 7,
                    "formatOptions": {
                      "linkTarget": "WorkbookTemplate",
                      "linkLabel": "Click to Open [Security operations efficiency] workbook",
                      "linkIsContextBlade": false
                    }
                  },
                  {
                    "columnMatch": "note",
                    "formatter": 0,
                    "formatOptions": {
                      "customColumnWidthSetting": "100ch"
                    }
                  }
                ],
                "sortBy": [
                  {
                    "itemKey": "tenantId",
                    "sortOrder": 1
                  }
                ]
              },
              "sortBy": [
                {
                  "itemKey": "tenantId",
                  "sortOrder": 1
                }
              ]
            },
            "conditionalVisibility": {
              "parameterName": "hide",
              "comparison": "isEqualTo",
              "value": "hide"
            },
            "name": "query - arg Workpace Lookup"
          },
          {
            "type": 3,
            "content": {
              "version": "KqlItem/1.0",
              "query": "{\"version\":\"Merge/1.0\",\"merges\":[{\"id\":\"b4ab017f-a3b7-41b4-aa8a-aadf14ba9087\",\"mergeType\":\"inner\",\"leftTable\":\"query - crossWorkspaceQuery\",\"rightTable\":\"query - arg Workpace Lookup\",\"leftColumn\":\"WorkspaceId\",\"rightColumn\":\"customerWorkspaceID\"}],\"projectRename\":[{\"originalName\":\"[query - crossWorkspaceQuery].TimeGenerated\",\"mergedName\":\"TimeGenerated\",\"fromId\":\"unknown\"},{\"originalName\":\"[query - crossWorkspaceQuery].SourceSystem\",\"mergedName\":\"SourceSystem\",\"fromId\":\"unknown\"},{\"originalName\":\"[query - crossWorkspaceQuery].CallerIpAddress\",\"mergedName\":\"CallerIpAddress\",\"fromId\":\"unknown\"},{\"originalName\":\"[query - crossWorkspaceQuery].CategoryValue\",\"mergedName\":\"CategoryValue\",\"fromId\":\"unknown\"},{\"originalName\":\"[query - crossWorkspaceQuery].CorrelationId\",\"mergedName\":\"CorrelationId\",\"fromId\":\"unknown\"},{\"originalName\":\"[query - crossWorkspaceQuery].Authorization\",\"mergedName\":\"Authorization\",\"fromId\":\"unknown\"},{\"originalName\":\"[query - crossWorkspaceQuery].Authorization_d\",\"mergedName\":\"Authorization_d\",\"fromId\":\"unknown\"},{\"originalName\":\"[query - crossWorkspaceQuery].Claims\",\"mergedName\":\"Claims\",\"fromId\":\"unknown\"},{\"originalName\":\"[query - crossWorkspaceQuery].Claims_d\",\"mergedName\":\"Claims_d\",\"fromId\":\"unknown\"},{\"originalName\":\"[query - crossWorkspaceQuery].Level\",\"mergedName\":\"Level\",\"fromId\":\"unknown\"},{\"originalName\":\"[query - crossWorkspaceQuery].OperationNameValue\",\"mergedName\":\"OperationNameValue\",\"fromId\":\"unknown\"},{\"originalName\":\"[query - crossWorkspaceQuery].Properties\",\"mergedName\":\"Properties\",\"fromId\":\"unknown\"},{\"originalName\":\"[query - crossWorkspaceQuery].Properties_d\",\"mergedName\":\"Properties_d\",\"fromId\":\"unknown\"},{\"originalName\":\"[query - crossWorkspaceQuery].Caller\",\"mergedName\":\"Caller\",\"fromId\":\"unknown\"},{\"originalName\":\"[query - crossWorkspaceQuery].EventDataId\",\"mergedName\":\"EventDataId\",\"fromId\":\"unknown\"},{\"originalName\":\"[query - crossWorkspaceQuery].EventSubmissionTimestamp\",\"mergedName\":\"EventSubmissionTimestamp\",\"fromId\":\"unknown\"},{\"originalName\":\"[query - crossWorkspaceQuery].HTTPRequest\",\"mergedName\":\"HTTPRequest\",\"fromId\":\"unknown\"},{\"originalName\":\"[query - crossWorkspaceQuery].OperationId\",\"mergedName\":\"OperationId\",\"fromId\":\"unknown\"},{\"originalName\":\"[query - crossWorkspaceQuery].ResourceGroup\",\"mergedName\":\"ResourceGroup\",\"fromId\":\"unknown\"},{\"originalName\":\"[query - crossWorkspaceQuery].ResourceProviderValue\",\"mergedName\":\"ResourceProviderValue\",\"fromId\":\"unknown\"},{\"originalName\":\"[query - crossWorkspaceQuery].ActivityStatusValue\",\"mergedName\":\"ActivityStatusValue\",\"fromId\":\"unknown\"},{\"originalName\":\"[query - crossWorkspaceQuery].ActivitySubstatusValue\",\"mergedName\":\"ActivitySubstatusValue\",\"fromId\":\"unknown\"},{\"originalName\":\"[query - crossWorkspaceQuery].Hierarchy\",\"mergedName\":\"Hierarchy\",\"fromId\":\"unknown\"},{\"originalName\":\"[query - crossWorkspaceQuery].SubscriptionId\",\"mergedName\":\"SubscriptionId\",\"fromId\":\"unknown\"},{\"originalName\":\"[query - crossWorkspaceQuery].OperationName\",\"mergedName\":\"OperationName\",\"fromId\":\"unknown\"},{\"originalName\":\"[query - crossWorkspaceQuery].ActivityStatus\",\"mergedName\":\"ActivityStatus\",\"fromId\":\"unknown\"},{\"originalName\":\"[query - crossWorkspaceQuery].ActivitySubstatus\",\"mergedName\":\"ActivitySubstatus\",\"fromId\":\"unknown\"},{\"originalName\":\"[query - crossWorkspaceQuery].Category\",\"mergedName\":\"Category\",\"fromId\":\"unknown\"},{\"originalName\":\"[query - crossWorkspaceQuery].ResourceId\",\"mergedName\":\"ResourceId\",\"fromId\":\"unknown\"},{\"originalName\":\"[query - crossWorkspaceQuery].ResourceProvider\",\"mergedName\":\"ResourceProvider\",\"fromId\":\"unknown\"},{\"originalName\":\"[query - crossWorkspaceQuery].Resource\",\"mergedName\":\"Resource\",\"fromId\":\"unknown\"},{\"originalName\":\"[query - crossWorkspaceQuery].Type\",\"mergedName\":\"Type\",\"fromId\":\"unknown\"},{\"originalName\":\"[query - crossWorkspaceQuery]._ResourceId\",\"mergedName\":\"_ResourceId\",\"fromId\":\"unknown\"},{\"originalName\":\"[query - crossWorkspaceQuery].TenantId\",\"mergedName\":\"TenantId\",\"fromId\":\"unknown\"},{\"originalName\":\"[query - crossWorkspaceQuery].WorkspaceId\",\"mergedName\":\"WorkspaceId\",\"fromId\":\"b4ab017f-a3b7-41b4-aa8a-aadf14ba9087\"},{\"originalName\":\"[query - arg Workpace Lookup].id\",\"mergedName\":\"id\",\"fromId\":\"b4ab017f-a3b7-41b4-aa8a-aadf14ba9087\"},{\"originalName\":\"[query - arg Workpace Lookup].customerWorkspaceID\",\"mergedName\":\"customerWorkspaceID\",\"fromId\":\"b4ab017f-a3b7-41b4-aa8a-aadf14ba9087\"},{\"originalName\":\"[query - arg Workpace Lookup].name\",\"mergedName\":\"name\",\"fromId\":\"b4ab017f-a3b7-41b4-aa8a-aadf14ba9087\"},{\"originalName\":\"[query - arg Workpace Lookup].subscriptionId\",\"mergedName\":\"subscriptionId\",\"fromId\":\"b4ab017f-a3b7-41b4-aa8a-aadf14ba9087\"},{\"originalName\":\"[query - arg Workpace Lookup].tenantId\",\"mergedName\":\"tenantId\",\"fromId\":\"b4ab017f-a3b7-41b4-aa8a-aadf14ba9087\"},{\"originalName\":\"[query - arg Workpace Lookup].name1\",\"mergedName\":\"name1\",\"fromId\":\"b4ab017f-a3b7-41b4-aa8a-aadf14ba9087\"},{\"originalName\":\"[query - arg Workpace Lookup].subscriptionId1\",\"mergedName\":\"subscriptionId1\",\"fromId\":\"b4ab017f-a3b7-41b4-aa8a-aadf14ba9087\"},{\"originalName\":\"[query - arg Workpace Lookup].location\",\"mergedName\":\"location\",\"fromId\":\"b4ab017f-a3b7-41b4-aa8a-aadf14ba9087\"},{\"originalName\":\"[query - arg Workpace Lookup].properties\",\"mergedName\":\"properties\",\"fromId\":\"b4ab017f-a3b7-41b4-aa8a-aadf14ba9087\"},{\"originalName\":\"[query - arg Workpace Lookup].resourceGroup\",\"mergedName\":\"resourceGroup\",\"fromId\":\"b4ab017f-a3b7-41b4-aa8a-aadf14ba9087\"},{\"originalName\":\"[query - crossWorkspaceQuery].IncidentName\",\"mergedName\":\"IncidentName\",\"fromId\":\"unknown\"},{\"originalName\":\"[query - crossWorkspaceQuery].Title\",\"mergedName\":\"Title\",\"fromId\":\"unknown\"},{\"originalName\":\"[query - crossWorkspaceQuery].Description\",\"mergedName\":\"Description\",\"fromId\":\"unknown\"},{\"originalName\":\"[query - crossWorkspaceQuery].Severity\",\"mergedName\":\"Severity\",\"fromId\":\"unknown\"},{\"originalName\":\"[query - crossWorkspaceQuery].Status\",\"mergedName\":\"Status\",\"fromId\":\"unknown\"},{\"originalName\":\"[query - crossWorkspaceQuery].Classification\",\"mergedName\":\"Classification\",\"fromId\":\"unknown\"},{\"originalName\":\"[query - crossWorkspaceQuery].ClassificationComment\",\"mergedName\":\"ClassificationComment\",\"fromId\":\"unknown\"},{\"originalName\":\"[query - crossWorkspaceQuery].ClassificationReason\",\"mergedName\":\"ClassificationReason\",\"fromId\":\"unknown\"},{\"originalName\":\"[query - crossWorkspaceQuery].Owner\",\"mergedName\":\"Owner\",\"fromId\":\"unknown\"},{\"originalName\":\"[query - crossWorkspaceQuery].ProviderName\",\"mergedName\":\"ProviderName\",\"fromId\":\"unknown\"},{\"originalName\":\"[query - crossWorkspaceQuery].ProviderIncidentId\",\"mergedName\":\"ProviderIncidentId\",\"fromId\":\"unknown\"},{\"originalName\":\"[query - crossWorkspaceQuery].FirstActivityTime\",\"mergedName\":\"FirstActivityTime\",\"fromId\":\"unknown\"},{\"originalName\":\"[query - crossWorkspaceQuery].LastActivityTime\",\"mergedName\":\"LastActivityTime\",\"fromId\":\"unknown\"},{\"originalName\":\"[query - crossWorkspaceQuery].FirstModifiedTime\",\"mergedName\":\"FirstModifiedTime\",\"fromId\":\"unknown\"},{\"originalName\":\"[query - crossWorkspaceQuery].LastModifiedTime\",\"mergedName\":\"LastModifiedTime\",\"fromId\":\"unknown\"},{\"originalName\":\"[query - crossWorkspaceQuery].CreatedTime\",\"mergedName\":\"CreatedTime\",\"fromId\":\"unknown\"},{\"originalName\":\"[query - crossWorkspaceQuery].ClosedTime\",\"mergedName\":\"ClosedTime\",\"fromId\":\"unknown\"},{\"originalName\":\"[query - crossWorkspaceQuery].IncidentNumber\",\"mergedName\":\"IncidentNumber\",\"fromId\":\"unknown\"},{\"originalName\":\"[query - crossWorkspaceQuery].RelatedAnalyticRuleIds\",\"mergedName\":\"RelatedAnalyticRuleIds\",\"fromId\":\"unknown\"},{\"originalName\":\"[query - crossWorkspaceQuery].AlertIds\",\"mergedName\":\"AlertIds\",\"fromId\":\"unknown\"},{\"originalName\":\"[query - crossWorkspaceQuery].BookmarkIds\",\"mergedName\":\"BookmarkIds\",\"fromId\":\"unknown\"},{\"originalName\":\"[query - crossWorkspaceQuery].Comments\",\"mergedName\":\"Comments\",\"fromId\":\"unknown\"},{\"originalName\":\"[query - crossWorkspaceQuery].Labels\",\"mergedName\":\"Labels\",\"fromId\":\"unknown\"},{\"originalName\":\"[query - crossWorkspaceQuery].IncidentUrl\",\"mergedName\":\"IncidentUrl\",\"fromId\":\"unknown\"},{\"originalName\":\"[query - crossWorkspaceQuery].AdditionalData\",\"mergedName\":\"AdditionalData\",\"fromId\":\"unknown\"},{\"originalName\":\"[query - crossWorkspaceQuery].ModifiedBy\",\"mergedName\":\"ModifiedBy\",\"fromId\":\"unknown\"},{\"originalName\":\"[query - crossWorkspaceQuery].ProviderName_CF\",\"mergedName\":\"ProviderName_CF\",\"fromId\":\"unknown\"}]}",
              "size": 0,
              "title": "Cross workspace Query results, rows: {$rowCount}, QueryTime: {$queryTime}.  ",
              "showExportToExcel": true,
              "queryType": 7,
              "gridSettings": {
                "formatters": [
                  {
                    "columnMatch": "id",
                    "formatter": 7,
                    "formatOptions": {
                      "linkTarget": "Resource",
                      "linkLabel": "Open Workspace",
                      "linkIsContextBlade": true
                    }
                  },
                  {
                    "columnMatch": "SubscriptionId",
                    "formatter": 15,
                    "formatOptions": {
                      "showIcon": true
                    }
                  },
                  {
                    "columnMatch": "Resource",
                    "formatter": 13,
                    "formatOptions": {
                      "showIcon": true
                    }
                  },
                  {
                    "columnMatch": "Type",
                    "formatter": 16,
                    "formatOptions": {
                      "showIcon": true
                    }
                  }
                ],
                "filter": true,
                "hierarchySettings": {
                  "treeType": 1,
                  "groupBy": [
                    "id"
                  ],
                  "expandTopLevel": true,
                  "finalBy": "name1"
                }
              }
            },
            "name": "query - 3"
          }
        ]
      },
      "conditionalVisibility": {
        "parameterName": "selectedTab",
        "comparison": "isEqualTo",
        "value": "hunting"
      },
      "name": "group - hunting"
    },
    {
      "type": 12,
      "content": {
        "version": "NotebookGroup/1.0",
        "groupType": "editable",
        "title": "Query Pack: Use a Query Pack from any Resource Group, then pick a query to run from within the Query Pack",
        "items": [
          {
            "type": 9,
            "content": {
              "version": "KqlParameterItem/1.0",
              "parameters": [
                {
                  "id": "9a0c8c17-ac07-4b9a-b3d9-44060087935f",
                  "version": "KqlParameterItem/1.0",
                  "name": "Subscription",
                  "type": 6,
                  "description": "Find Query packs in specific subscriptions ",
                  "isRequired": true,
                  "multiSelect": true,
                  "quote": "'",
                  "delimiter": ",",
                  "value": [
                    "value::all"
                  ],
                  "typeSettings": {
                    "additionalResourceOptions": [
                      "value::all"
                    ],
                    "includeAll": false,
                    "showDefault": false
                  },
                  "timeContext": {
                    "durationMs": 86400000
                  }
                }
              ],
              "style": "above",
              "queryType": 0,
              "resourceType": "microsoft.operationalinsights/workspaces"
            },
            "name": "parameters - 2"
          },
          {
            "type": 3,
            "content": {
              "version": "KqlItem/1.0",
              "query": "resources\r\n| where type == \"microsoft.operationalinsights/querypacks\"\r\n| project-away type, kind",
              "size": 0,
              "exportedParameters": [
                {
                  "fieldName": "name",
                  "parameterName": "exportName",
                  "parameterType": 1
                },
                {
                  "fieldName": "resourceGroup",
                  "parameterName": "resourceGroup",
                  "parameterType": 1
                },
                {
                  "fieldName": "subscriptionId",
                  "parameterName": "subscriptionId",
                  "parameterType": 1
                }
              ],
              "queryType": 1,
              "resourceType": "microsoft.resourcegraph/resources",
              "crossComponentResources": [
                "{Subscription}"
              ],
              "gridSettings": {
                "formatters": [
                  {
                    "columnMatch": "tenantId",
                    "formatter": 16,
                    "formatOptions": {
                      "showIcon": true
                    }
                  },
                  {
                    "columnMatch": "location",
                    "formatter": 17
                  },
                  {
                    "columnMatch": "resourceGroup",
                    "formatter": 16,
                    "formatOptions": {
                      "showIcon": true
                    }
                  },
                  {
                    "columnMatch": "subscriptionId",
                    "formatter": 15,
                    "formatOptions": {
                      "showIcon": true
                    }
                  }
                ]
              }
            },
            "name": "query - 4"
          },
          {
            "type": 3,
            "content": {
              "version": "KqlItem/1.0",
              "query": "{\"version\":\"ARMEndpoint/1.0\",\"data\":null,\"headers\":[],\"method\":\"GET\",\"path\":\"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/microsoft.operationalInsights/querypacks/{exportName}/Queries\",\"urlParams\":[{\"key\":\"api-version\",\"value\":\"2019-09-01-preview\"}],\"batchDisabled\":false,\"transformers\":[{\"type\":\"jsonpath\",\"settings\":{\"tablePath\":\"$.value\",\"columns\":[{\"path\":\"properties.displayName\",\"columnid\":\"name\"},{\"path\":\"properties.body\",\"columnid\":\"body\"},{\"path\":\"properties.description\",\"columnid\":\"description\"},{\"path\":\"properties.tags\",\"columnid\":\"tags\"},{\"path\":\"systemData.lastModifiedAt\",\"columnid\":\"lastModifiedAt\"},{\"path\":\"systemData.lastModifiedBy\",\"columnid\":\"lastModifiedBy\"},{\"path\":\"systemData.createdBy\",\"columnid\":\"createdBy\"},{\"path\":\"systemData.createdBy\",\"columnid\":\"createdByType\"},{\"path\":\"systemData.createdAt\",\"columnid\":\"createdAt\"}]}}]}",
              "size": 1,
              "title": "Select a Query to run from the list: {$rowCount} Queries in Query Pack: {exportName}",
              "exportedParameters": [
                {
                  "fieldName": "body",
                  "parameterName": "exportQuery"
                },
                {
                  "fieldName": "name",
                  "parameterName": "exportName",
                  "parameterType": 1
                }
              ],
              "showExportToExcel": true,
              "queryType": 12,
              "gridSettings": {
                "formatters": [
                  {
                    "columnMatch": "body",
                    "formatter": 7,
                    "formatOptions": {
                      "linkTarget": "CellDetails",
                      "linkIsContextBlade": true
                    }
                  }
                ],
                "filter": true,
                "sortBy": [
                  {
                    "itemKey": "createdByType",
                    "sortOrder": 2
                  }
                ],
                "labelSettings": [
                  {
                    "columnId": "body",
                    "label": "Query"
                  }
                ]
              },
              "sortBy": [
                {
                  "itemKey": "createdByType",
                  "sortOrder": 2
                }
              ]
            },
            "conditionalVisibility": {
              "parameterName": "exportName",
              "comparison": "isNotEqualTo"
            },
            "name": "query -Qp queries"
          },
          {
            "type": 3,
            "content": {
              "version": "KqlItem/1.0",
              "query": "{exportQuery}",
              "size": 0,
              "title": "Results of the selected Query: {exportName}",
              "timeContext": {
                "durationMs": 86400000
              },
              "queryType": 0,
              "resourceType": "microsoft.operationalinsights/workspaces",
              "crossComponentResources": [
                "{Workspace}"
              ]
            },
            "conditionalVisibility": {
              "parameterName": "exportQuery",
              "comparison": "isNotEqualTo"
            },
            "name": "query - 3"
          }
        ]
      },
      "conditionalVisibility": {
        "parameterName": "selectedTab",
        "comparison": "isEqualTo",
        "value": "querypack"
      },
      "name": "group - qp"
    },
    {
      "type": 12,
      "content": {
        "version": "NotebookGroup/1.0",
        "groupType": "editable",
        "title": "KQL Saved Searches: Select a Workspace to check Saved Searches",
        "items": [
          {
            "type": 9,
            "content": {
              "version": "KqlParameterItem/1.0",
              "crossComponentResources": [
                "{Subscription}"
              ],
              "parameters": [
                {
                  "id": "54ab7c42-3983-46fd-bb6b-9a1d206eec3a",
                  "version": "KqlParameterItem/1.0",
                  "name": "Workspace",
                  "type": 5,
                  "description": "Lookup saved queries in any Azure Sentinel workspace",
                  "isRequired": true,
                  "query": "resources\r\n| where type =~ 'microsoft.operationalinsights/workspaces'\r\n| extend customerID = trim(' ', tostring(properties.customerId))\r\n| project id, customerID, name=tolower(name)\r\n|join \r\n(\r\n\tresources\r\n\t// Just show Workspaces that have Sentinel enabled\r\n\t| where type =~ \"microsoft.operationsmanagement/solutions\"\r\n\t| where name has \"SecurityInsights\"\r\n\t| parse name with * '(' s_workspace ')'*\r\n\t| project name=tolower(s_workspace)\r\n) on name\r\n| project tolower(id), customerID, name",
                  "crossComponentResources": [
                    "{Subscription}"
                  ],
                  "typeSettings": {
                    "showDefault": false
                  },
                  "timeContext": {
                    "durationMs": 86400000
                  },
                  "queryType": 1,
                  "resourceType": "microsoft.resourcegraph/resources"
                }
              ],
              "style": "above",
              "queryType": 1,
              "resourceType": "microsoft.resourcegraph/resources"
            },
            "name": "parameters - 3"
          },
          {
            "type": 3,
            "content": {
              "version": "KqlItem/1.0",
              "query": "{\"version\":\"ARMEndpoint/1.0\",\"data\":null,\"headers\":[],\"method\":\"GET\",\"path\":\"{Workspace}/SavedSearches\",\"urlParams\":[{\"key\":\"api-version\",\"value\":\"2021-06-01\"}],\"batchDisabled\":false,\"transformers\":[{\"type\":\"jsonpath\",\"settings\":{\"tablePath\":\"$.value\",\"columns\":[{\"path\":\"properties.displayName\",\"columnid\":\"displayName\"},{\"path\":\"properties.category\",\"columnid\":\"category\"},{\"path\":\"properties.query\",\"columnid\":\"query\"},{\"path\":\"properties.version\",\"columnid\":\"version\"},{\"path\":\"name\",\"columnid\":\"name\"}]}}]}",
              "size": 1,
              "title": "Select a Query to run, or Search in all columns, Category, Name & Query",
              "noDataMessage": "no saved queries found in {Workspace:name}",
              "exportedParameters": [
                {
                  "fieldName": "query",
                  "parameterName": "query",
                  "parameterType": 1,
                  "defaultValue": " "
                },
                {
                  "fieldName": "displayName",
                  "parameterName": "name",
                  "parameterType": 1
                }
              ],
              "showExportToExcel": true,
              "queryType": 12,
              "gridSettings": {
                "rowLimit": 1000,
                "filter": true
              }
            },
            "conditionalVisibilities": [
              {
                "parameterName": "Subscription",
                "comparison": "isNotEqualTo"
              },
              {
                "parameterName": "Workspace",
                "comparison": "isNotEqualTo"
              }
            ],
            "name": "saved query grid - Copy"
          },
          {
            "type": 12,
            "content": {
              "version": "NotebookGroup/1.0",
              "groupType": "editable",
              "title": "Saved Query - {name}",
              "items": [
                {
                  "type": 9,
                  "content": {
                    "version": "KqlParameterItem/1.0",
                    "parameters": [
                      {
                        "id": "f3f7beb8-b287-45fb-8af2-c528ef55b704",
                        "version": "KqlParameterItem/1.0",
                        "name": "queryText",
                        "type": 1,
                        "typeSettings": {
                          "multiLineText": true,
                          "editorLanguage": "kql"
                        },
                        "criteriaData": [
                          {
                            "condition": "else result = '{query}'",
                            "criteriaContext": {
                              "operator": "Default",
                              "rightValType": "param",
                              "resultValType": "static",
                              "resultVal": "{query}"
                            }
                          }
                        ],
                        "label": "Saved Query Text"
                      }
                    ],
                    "style": "above",
                    "queryType": 0,
                    "resourceType": "microsoft.operationalinsights/workspaces"
                  },
                  "name": "query text param"
                },
                {
                  "type": 3,
                  "content": {
                    "version": "KqlItem/1.0",
                    "query": "{query}",
                    "size": 2,
                    "title": "Query Results",
                    "timeContext": {
                      "durationMs": 1209600000
                    },
                    "timeContextFromParameter": "TimeRange",
                    "queryType": 0,
                    "resourceType": "microsoft.operationalinsights/workspaces",
                    "crossComponentResources": [
                      "{Workspace}"
                    ]
                  },
                  "name": "query - 3"
                }
              ]
            },
            "conditionalVisibilities": [
              {
                "parameterName": "query",
                "comparison": "isNotEqualTo"
              },
              {
                "parameterName": "Workspace",
                "comparison": "isNotEqualTo"
              }
            ],
            "name": "visible if query selected group"
          }
        ]
      },
      "conditionalVisibility": {
        "parameterName": "selectedTab",
        "comparison": "isEqualTo",
        "value": "saved"
      },
      "name": "group - kql"
    },
    {
      "type": 12,
      "content": {
        "version": "NotebookGroup/1.0",
        "groupType": "editable",
        "title": "Workspace and Table Retention: Select a Workspace to check Workspace and Table Retention",
        "items": [
          {
            "type": 9,
            "content": {
              "version": "KqlParameterItem/1.0",
              "parameters": [
                {
                  "id": "54ab7c42-3983-46fd-bb6b-9a1d206eec3a",
                  "version": "KqlParameterItem/1.0",
                  "name": "Workspace",
                  "type": 5,
                  "description": "Lookup Workspace and Table Retention",
                  "isRequired": true,
                  "query": "resources\r\n| where type =~ 'microsoft.operationalinsights/workspaces'\r\n| extend customerID = trim(' ', tostring(properties.customerId))\r\n| project id, customerID, name=tolower(name)\r\n|join \r\n(\r\n\tresources\r\n\t// Just show Workspaces that have Sentinel enabled\r\n\t| where type =~ \"microsoft.operationsmanagement/solutions\"\r\n\t| where name has \"SecurityInsights\"\r\n\t| parse name with * '(' s_workspace ')'*\r\n\t| project name=tolower(s_workspace)\r\n) on name\r\n| project tolower(id), customerID, name",
                  "crossComponentResources": [
                    "{Subscription}"
                  ],
                  "typeSettings": {
                    "showDefault": false
                  },
                  "timeContext": {
                    "durationMs": 86400000
                  },
                  "queryType": 1,
                  "resourceType": "microsoft.resourcegraph/resources",
                  "value": ""
                }
              ],
              "style": "above",
              "queryType": 12
            },
            "name": "parameters - 3"
          },
          {
            "type": 3,
            "content": {
              "version": "KqlItem/1.0",
              "query": "{\"version\":\"ARMEndpoint/1.0\",\"data\":null,\"headers\":[],\"method\":\"GET\",\"path\":\"/subscriptions/{Workspace:subscription}/resourceGroups/{Workspace:resourcegroup}/providers/Microsoft.OperationalInsights/workspaces/{Workspace:name}?api-version=2022-10-01\",\"urlParams\":[],\"batchDisabled\":false,\"transformers\":[{\"type\":\"jsonpath\",\"settings\":{\"columns\":[{\"path\":\"id\",\"columnid\":\"Workspace\"},{\"path\":\"properties.retentionInDays\",\"columnid\":\"RetentionInDays\"},{\"path\":\"location\",\"columnid\":\"Location\"},{\"path\":\"properties.workspaceCapping.dailyQuotaGb\",\"columnid\":\"DailyQuotaGb\"},{\"path\":\"properties.sku.name\",\"columnid\":\"SkuName\"}]}}]}",
              "size": 4,
              "showExportToExcel": true,
              "queryType": 12,
              "gridSettings": {
                "rowLimit": 10000,
                "filter": true
              }
            },
            "name": "query - 12"
          },
          {
            "type": 9,
            "content": {
              "version": "KqlParameterItem/1.0",
              "parameters": [
                {
                  "id": "ff66d7b3-6ecd-4d76-9677-7c9496681c58",
                  "version": "KqlParameterItem/1.0",
                  "name": "tablePlanFilter",
                  "label": "Filter by Table Plan and Archive Tier",
                  "type": 10,
                  "isRequired": true,
                  "isGlobal": true,
                  "typeSettings": {
                    "showDefault": false
                  },
                  "jsonData": "[\r\n    { \"value\":\"(@.properties.plan=='Basic') || (@.properties.plan=='Analytics')\", \"label\":\"All\", \"selected\":true},\r\n    { \"value\":\"(@.properties.plan=='Basic')\", \"label\":\"Basic Logs\"},\r\n    { \"value\":\"(@.properties.plan=='Analytics')\", \"label\":\"Analytic Logs\"},\r\n    { \"value\":\"(@.properties.archiveRetentionInDays > 0)\", \"label\":\"Archived Tables\"},\r\n    { \"value\":\"(@.properties.archiveRetentionInDays == 0)\", \"label\":\"Default Retention Tables\"}\r\n]",
                  "timeContext": {
                    "durationMs": 86400000
                  }
                }
              ],
              "style": "formVertical",
              "queryType": 0,
              "resourceType": "microsoft.operationalinsights/workspaces"
            },
            "name": "parameters - 3"
          },
          {
            "type": 9,
            "content": {
              "version": "KqlParameterItem/1.0",
              "parameters": [
                {
                  "id": "6431576b-55b8-4ab1-8c44-59f052268f36",
                  "version": "KqlParameterItem/1.0",
                  "name": "tableFilter",
                  "type": 1,
                  "isRequired": true,
                  "isGlobal": true,
                  "isHiddenWhenLocked": true,
                  "criteriaData": [
                    {
                      "criteriaContext": {
                        "operator": "Default",
                        "resultValType": "param",
                        "resultVal": "tablePlanFilter"
                      }
                    }
                  ],
                  "timeContext": {
                    "durationMs": 86400000
                  }
                }
              ],
              "style": "pills",
              "queryType": 0,
              "resourceType": "microsoft.operationalinsights/workspaces"
            },
            "conditionalVisibility": {
              "parameterName": "Tab",
              "comparison": "isEqualTo",
              "value": "Cost"
            },
            "name": "parameters - 10"
          },
          {
            "type": 3,
            "content": {
              "version": "KqlItem/1.0",
              "query": "{\"version\":\"ARMEndpoint/1.0\",\"data\":null,\"headers\":[],\"method\":\"GET\",\"path\":\"/subscriptions/{Workspace:subscription}/resourceGroups/{Workspace:resourcegroup}/providers/Microsoft.OperationalInsights/workspaces/{Workspace:name}/Tables?api-version=2021-12-01-preview\",\"urlParams\":[],\"batchDisabled\":false,\"transformers\":[{\"type\":\"jsonpath\",\"settings\":{\"tablePath\":\"$.value[?({tableFilter})]\",\"columns\":[{\"path\":\"name\",\"columnid\":\"TableName\"},{\"path\":\"properties.retentionInDays\",\"columnid\":\"RetentionInDays\"},{\"path\":\"properties.plan\",\"columnid\":\"plan\"},{\"path\":\"properties.archiveRetentionInDays\",\"columnid\":\"archiveRetentionInDays\"}]}}]}",
              "size": 4,
              "title": "Table Count: {$rowCount}",
              "showExportToExcel": true,
              "queryType": 12,
              "visualization": "table",
              "gridSettings": {
                "rowLimit": 10000,
                "filter": true
              }
            },
            "conditionalVisibility": {
              "parameterName": "hide",
              "comparison": "isEqualTo",
              "value": "hide"
            },
            "name": "TableRetentionQuery"
          },
          {
            "type": 3,
            "content": {
              "version": "KqlItem/1.0",
              "query": "Usage\r\n| summarize arg_max(TimeGenerated, *), size = sum(Quantity)  by DataType\r\n| project\r\n    ['Table'] = DataType,\r\n    ['Table Size'] = size,\r\n    IsBillable\r\n| order by Table asc",
              "size": 0,
              "title": "Tables Found in the {WorkspaceName} workspace",
              "exportFieldName": "DataType",
              "exportParameterName": "DataType",
              "queryType": 0,
              "resourceType": "microsoft.operationalinsights/workspaces",
              "crossComponentResources": [
                "{Workspace}"
              ],
              "gridSettings": {
                "formatters": [
                  {
                    "columnMatch": "Table Size",
                    "formatter": 0,
                    "numberFormat": {
                      "unit": 38,
                      "options": {
                        "style": "decimal"
                      }
                    }
                  },
                  {
                    "columnMatch": "Estimated Ingestion Cost",
                    "formatter": 0,
                    "numberFormat": {
                      "unit": 0,
                      "options": {
                        "currency": "USD",
                        "style": "currency"
                      }
                    }
                  },
                  {
                    "columnMatch": "Esitmated Workspace Retention Cost",
                    "formatter": 0,
                    "numberFormat": {
                      "unit": 0,
                      "options": {
                        "currency": "USD",
                        "style": "currency"
                      }
                    }
                  },
                  {
                    "columnMatch": "Estimated Data Archive Cost",
                    "formatter": 0,
                    "numberFormat": {
                      "unit": 0,
                      "options": {
                        "currency": "USD",
                        "style": "currency"
                      }
                    }
                  }
                ],
                "sortBy": [
                  {
                    "itemKey": "$gen_number_Table Size_1",
                    "sortOrder": 2
                  }
                ]
              },
              "sortBy": [
                {
                  "itemKey": "$gen_number_Table Size_1",
                  "sortOrder": 2
                }
              ]
            },
            "conditionalVisibility": {
              "parameterName": "ShowHiddenObjects",
              "comparison": "isEqualTo",
              "value": "Yes"
            },
            "name": "LAWTableQuery"
          },
          {
            "type": 3,
            "content": {
              "version": "KqlItem/1.0",
              "query": "{\"version\":\"Merge/1.0\",\"merges\":[{\"id\":\"e3a3f78c-f05b-458f-85ec-2bc8e5821101\",\"mergeType\":\"inner\",\"leftTable\":\"TableRetentionQuery\",\"rightTable\":\"LAWTableQuery\",\"leftColumn\":\"TableName\",\"rightColumn\":\"Table\"}],\"projectRename\":[{\"originalName\":\"[TableRetentionQuery].TableName\",\"mergedName\":\"TableName\",\"fromId\":\"e3a3f78c-f05b-458f-85ec-2bc8e5821101\"},{\"originalName\":\"[TableRetentionQuery].TableType\",\"mergedName\":\"TableType\",\"fromId\":\"e3a3f78c-f05b-458f-85ec-2bc8e5821101\"},{\"originalName\":\"[TableRetentionQuery].TablePlan\",\"mergedName\":\"TablePlan\",\"fromId\":\"e3a3f78c-f05b-458f-85ec-2bc8e5821101\"},{\"originalName\":\"[TableRetentionQuery].TableInteractivePeriod\",\"mergedName\":\"InteractiveRetention\",\"fromId\":\"e3a3f78c-f05b-458f-85ec-2bc8e5821101\"},{\"originalName\":\"[TableRetentionQuery].TableArchivePeriod\",\"mergedName\":\"ArchiveRetention\",\"fromId\":\"e3a3f78c-f05b-458f-85ec-2bc8e5821101\"},{\"originalName\":\"[TableRetentionQuery].TotalRetentionPeriod\",\"mergedName\":\"TotalRetention\",\"fromId\":\"e3a3f78c-f05b-458f-85ec-2bc8e5821101\"},{\"originalName\":\"[LAWTableQuery].Table Size\",\"mergedName\":\"LAW Table Size\",\"fromId\":\"e3a3f78c-f05b-458f-85ec-2bc8e5821101\"},{\"originalName\":\"[TableRetentionQuery].lastPlanModifiedDate\",\"mergedName\":\"lastPlanModifiedDate\",\"fromId\":\"e3a3f78c-f05b-458f-85ec-2bc8e5821101\"},{\"originalName\":\"[Added column]\",\"mergedName\":\"Is Archived\",\"fromId\":null,\"isNewItem\":true,\"newItemData\":[{\"criteriaContext\":{\"leftOperand\":\"archiveRetentionInDays\",\"operator\":\">\",\"rightValType\":\"static\",\"rightVal\":\"0\",\"resultValType\":\"static\",\"resultVal\":\"Yes\"}},{\"criteriaContext\":{\"operator\":\"Default\",\"rightValType\":\"column\",\"resultValType\":\"static\",\"resultVal\":\"No\"}}]},{\"originalName\":\"[LAWTableQuery].IsBillable\",\"mergedName\":\"IsBillable\",\"fromId\":\"unknown\"},{\"originalName\":\"[TableRetentionQuery].RetentionInDays\",\"mergedName\":\"RetentionInDays\",\"fromId\":\"unknown\"},{\"originalName\":\"[TableRetentionQuery].plan\",\"mergedName\":\"plan\",\"fromId\":\"unknown\"},{\"originalName\":\"[TableRetentionQuery].archiveRetentionInDays\",\"mergedName\":\"archiveRetentionInDays\",\"fromId\":\"unknown\"},{\"originalName\":\"[LAWTableQuery].DataType\"},{\"originalName\":\"[LAWTableQuery].Table\"},{\"originalName\":\"[LAWTableQuery].size\"},{\"originalName\":\"[LAWTableQuery].Estimated Data Archive Cost\"},{\"originalName\":\"[LAWTableQuery].Estimated Ingestion Cost\"},{\"originalName\":\"[LAWTableQuery].Esitmated Workspace Retention Cost\"}]}",
              "size": 1,
              "title": "{tableFilter}, Count: {$rowCount}",
              "noDataMessage": "It appears your workspace doesn't currently have any tables that support Basic Plans or there are not any archived tables.",
              "showRefreshButton": true,
              "exportedParameters": [
                {
                  "fieldName": "TableName",
                  "parameterName": "TableName",
                  "parameterType": 1
                },
                {
                  "fieldName": "TablePlan",
                  "parameterName": "TablePlan",
                  "parameterType": 1
                },
                {
                  "fieldName": "InteractiveRetention",
                  "parameterName": "InteractiveRetention",
                  "parameterType": 1
                },
                {
                  "fieldName": "ArchiveRetention",
                  "parameterName": "ArchiveRetention",
                  "parameterType": 1
                },
                {
                  "fieldName": "TotalRetention",
                  "parameterName": "TotalRetention",
                  "parameterType": 1
                },
                {
                  "parameterType": 1
                }
              ],
              "showExportToExcel": true,
              "queryType": 7,
              "gridSettings": {
                "formatters": [
                  {
                    "columnMatch": "TableName",
                    "formatter": 0,
                    "formatOptions": {
                      "customColumnWidthSetting": "35.2857ch"
                    }
                  },
                  {
                    "columnMatch": "LAW Table Size",
                    "formatter": 0,
                    "formatOptions": {
                      "customColumnWidthSetting": "20ch"
                    },
                    "numberFormat": {
                      "unit": 39,
                      "options": {
                        "style": "decimal"
                      }
                    }
                  },
                  {
                    "columnMatch": "IsBillable",
                    "formatter": 18,
                    "formatOptions": {
                      "thresholdsOptions": "icons",
                      "thresholdsGrid": [
                        {
                          "operator": "==",
                          "thresholdValue": "false",
                          "representation": "Blank",
                          "text": " No"
                        },
                        {
                          "operator": "Default",
                          "representation": "success",
                          "text": "Yes"
                        }
                      ],
                      "customColumnWidthSetting": "16ch"
                    }
                  },
                  {
                    "columnMatch": "Is Archived",
                    "formatter": 18,
                    "formatOptions": {
                      "thresholdsOptions": "icons",
                      "thresholdsGrid": [
                        {
                          "operator": "==",
                          "thresholdValue": "Yes",
                          "representation": "CloudUpload",
                          "text": "{0}{1}"
                        },
                        {
                          "operator": "Default",
                          "representation": "Blank",
                          "text": "{0}{1}"
                        }
                      ]
                    }
                  },
                  {
                    "columnMatch": "TableType",
                    "formatter": 0,
                    "formatOptions": {
                      "customColumnWidthSetting": "15.8571ch"
                    }
                  },
                  {
                    "columnMatch": "TablePlan",
                    "formatter": 0,
                    "formatOptions": {
                      "customColumnWidthSetting": "15ch"
                    }
                  },
                  {
                    "columnMatch": "InteractiveRetention",
                    "formatter": 0,
                    "formatOptions": {
                      "customColumnWidthSetting": "22.8571ch"
                    },
                    "numberFormat": {
                      "unit": 27,
                      "options": {
                        "style": "decimal"
                      }
                    }
                  },
                  {
                    "columnMatch": "ArchiveRetention",
                    "formatter": 4,
                    "formatOptions": {
                      "min": 0,
                      "max": 2555,
                      "palette": "blue",
                      "customColumnWidthSetting": "20.8571ch"
                    },
                    "numberFormat": {
                      "unit": 27,
                      "options": {
                        "style": "decimal"
                      }
                    }
                  },
                  {
                    "columnMatch": "TotalRetention",
                    "formatter": 4,
                    "formatOptions": {
                      "min": 90,
                      "max": 2555,
                      "palette": "turquoise",
                      "compositeBarSettings": {
                        "labelText": "",
                        "columnSettings": [
                          {
                            "columnName": "Is Archived",
                            "color": "blue"
                          }
                        ]
                      },
                      "customColumnWidthSetting": "18.2857ch"
                    },
                    "numberFormat": {
                      "unit": 27,
                      "options": {
                        "style": "decimal"
                      }
                    }
                  },
                  {
                    "columnMatch": "lastPlanModifiedDate",
                    "formatter": 6,
                    "formatOptions": {
                      "customColumnWidthSetting": "33.1429ch"
                    }
                  },
                  {
                    "columnMatch": "TableInteractivePeriod",
                    "formatter": 0,
                    "formatOptions": {
                      "customColumnWidthSetting": "26.5714ch"
                    },
                    "numberFormat": {
                      "unit": 27,
                      "options": {
                        "style": "decimal"
                      }
                    }
                  },
                  {
                    "columnMatch": "TableArchivePeriod",
                    "formatter": 0,
                    "formatOptions": {
                      "customColumnWidthSetting": "24ch"
                    },
                    "numberFormat": {
                      "unit": 27,
                      "options": {
                        "style": "decimal"
                      }
                    }
                  },
                  {
                    "columnMatch": "TotalRetentionPeriod",
                    "formatter": 18,
                    "formatOptions": {
                      "thresholdsOptions": "colors",
                      "thresholdsGrid": [
                        {
                          "operator": ">",
                          "thresholdValue": "{workspaceRetention}",
                          "representation": "yellow",
                          "text": "{0}{1}"
                        },
                        {
                          "operator": "Default",
                          "text": "{0}{1}"
                        }
                      ],
                      "customColumnWidthSetting": "23.4286ch"
                    },
                    "numberFormat": {
                      "unit": 27,
                      "options": {
                        "style": "decimal"
                      }
                    }
                  },
                  {
                    "columnMatch": "Table Size",
                    "formatter": 0,
                    "formatOptions": {
                      "customColumnWidthSetting": "20ch"
                    },
                    "numberFormat": {
                      "unit": 39,
                      "options": {
                        "style": "decimal"
                      }
                    }
                  },
                  {
                    "columnMatch": "Estimated Ingestion Cost",
                    "formatter": 0,
                    "numberFormat": {
                      "unit": 0,
                      "options": {
                        "currency": "USD",
                        "style": "currency"
                      }
                    }
                  },
                  {
                    "columnMatch": "Esitmated Workspace Retention Cost",
                    "formatter": 0,
                    "numberFormat": {
                      "unit": 0,
                      "options": {
                        "currency": "USD",
                        "style": "currency"
                      }
                    }
                  },
                  {
                    "columnMatch": "Estimated Data Archive Cost",
                    "formatter": 0,
                    "numberFormat": {
                      "unit": 0,
                      "options": {
                        "currency": "USD",
                        "style": "currency"
                      }
                    }
                  },
                  {
                    "columnMatch": "TableSize",
                    "formatter": 0,
                    "numberFormat": {
                      "unit": 0,
                      "options": {
                        "style": "decimal"
                      }
                    }
                  },
                  {
                    "columnMatch": "SizeUnit",
                    "formatter": 0,
                    "formatOptions": {
                      "customColumnWidthSetting": "14ch"
                    }
                  },
                  {
                    "columnMatch": "Last Updated Time",
                    "formatter": 0,
                    "formatOptions": {
                      "customColumnWidthSetting": "26ch"
                    }
                  }
                ],
                "rowLimit": 10000,
                "filter": true,
                "sortBy": [
                  {
                    "itemKey": "archiveRetentionInDays",
                    "sortOrder": 2
                  }
                ]
              },
              "sortBy": [
                {
                  "itemKey": "archiveRetentionInDays",
                  "sortOrder": 2
                }
              ]
            },
            "name": "query - final MERGE"
          }
        ]
      },
      "conditionalVisibility": {
        "parameterName": "selectedTab",
        "comparison": "isEqualTo",
        "value": "retention"
      },
      "name": "group - retention"
    },
    {
      "type": 12,
      "content": {
        "version": "NotebookGroup/1.0",
        "groupType": "editable",
        "title": "Group: Ingestion",
        "items": [
          {
            "type": 3,
            "content": {
              "version": "KqlItem/1.0",
              "query": "resources\r\n| where type == \"microsoft.operationalinsights/workspaces\"\r\n//| where name in (' {Workspace:name} ')\r\n| project name=tolower(name), workspaceRetention=properties.retentionInDays,\r\n     Workspacesku=properties.sku.name,\r\n     WorkspaceskuLevel=properties.sku.capacityReservationLevel,\r\n     WorkspaceskulastUpdate= properties.sku.lastSkuUpdate,\r\n     properties, tenantId\r\n|join \r\n(\r\n\tresources\r\n\t// Just show Workspaces that have Sentinel enabled\r\n\t| where type =~ \"microsoft.operationsmanagement/solutions\"\r\n\t| where name has \"SecurityInsights\"\r\n\t| parse name with * '(' s_workspace ')'*\r\n\t| project name=tolower(s_workspace),\r\n     Sentinelsku=properties.sku.name,\r\n     SentinelskuLevel=properties.sku.capacityReservationLevel,\r\n     SentinelskulastUpdate= properties.sku.lastSkuUpdate\r\n) on name\r\n| project name, Workspacesku, WorkspaceskuLevel, WorkspaceskulastUpdate, a='{Workspace:name}', Sentinelsku, SentinelskuLevel, SentinelskulastUpdate, tenantId\r\n| extend WorkspaceskuLevel = iif(isempty(WorkspaceskuLevel),0,WorkspaceskuLevel),\r\n         SentinelskuLevel = iif(isempty(SentinelskuLevel),0,SentinelskuLevel)\r\n| where a has name \r\n| project-away a\r\n",
              "size": 1,
              "title": "Workspace SKU details, count: {$rowCount}, click row for more insight",
              "exportedParameters": [
                {
                  "fieldName": "WorkspaceskuLevel",
                  "parameterName": "skuLevel",
                  "parameterType": 1
                },
                {
                  "fieldName": "name",
                  "parameterName": "wsName",
                  "parameterType": 1
                }
              ],
              "showExportToExcel": true,
              "queryType": 1,
              "resourceType": "microsoft.resourcegraph/resources",
              "crossComponentResources": [
                "{Workspace}"
              ],
              "gridSettings": {
                "rowLimit": 10000,
                "filter": true
              }
            },
            "name": "query - sku details"
          },
          {
            "type": 3,
            "content": {
              "version": "KqlItem/1.0",
              "query": "Usage\r\n| where IsBillable == True\r\n| parse ResourceUri with * 'workspaces/' workspaceName_s\r\n| where workspaceName_s == '{wsName}'\r\n| summarize dataPerDay = sum(Quantity)/1000  by bin(TimeGenerated,1d), SentinelCT='{skuLevel}'\r\n| extend higherCT = case(\r\n                   dataPerDay < 100, 100,\r\n                   dataPerDay > 100  and dataPerDay < 200, 200,\r\n                   dataPerDay > 200  and dataPerDay < 300, 300,\r\n                   dataPerDay > 300  and dataPerDay < 400, 400,\r\n                   dataPerDay > 400  and dataPerDay < 500, 500,\r\n                   dataPerDay > 500  and dataPerDay < 1000, 1000,\r\n                   dataPerDay > 1000 and dataPerDay < 10000, 10000,\r\n                   dataPerDay > 2000 and dataPerDay < 20000, 20000,\r\n                   dataPerDay > 5000 and dataPerDay < 50000, 50000,\r\n                   // else\r\n                   0\r\n                   )\r\n//| extend lowerCT= (higherCT - 100)\r\n\r\n\r\n\r\n",
              "size": 1,
              "aggregation": 3,
              "showAnnotations": true,
              "title": "Actual Data Volume and Commitment Tier.  Data from: {TimeRange:label}.  ",
              "timeContextFromParameter": "TimeRange",
              "exportFieldName": "y",
              "exportParameterName": "yAxis",
              "queryType": 0,
              "resourceType": "microsoft.operationalinsights/workspaces",
              "crossComponentResources": [
                "{Workspace}"
              ],
              "visualization": "timechart",
              "gridSettings": {
                "formatters": [
                  {
                    "columnMatch": "Column1",
                    "formatter": 5
                  },
                  {
                    "columnMatch": "dataPerDay",
                    "formatter": 0,
                    "numberFormat": {
                      "unit": 0,
                      "options": {
                        "style": "decimal",
                        "maximumSignificantDigits": 2
                      }
                    }
                  }
                ]
              },
              "chartSettings": {
                "yAxis": [
                  "higherCT",
                  "SentinelCT",
                  "dataPerDay"
                ],
                "seriesLabelSettings": [
                  {
                    "seriesName": "higherCT",
                    "label": "Next Commitment Tier"
                  },
                  {
                    "seriesName": "SentinelCT",
                    "label": "Actual Commitment Tier",
                    "color": "purple"
                  },
                  {
                    "seriesName": "dataPerDay",
                    "color": "green"
                  }
                ],
                "ySettings": {
                  "numberFormatSettings": {
                    "unit": 0,
                    "options": {
                      "style": "decimal",
                      "useGrouping": true,
                      "maximumFractionDigits": 2
                    }
                  }
                }
              }
            },
            "conditionalVisibility": {
              "parameterName": "wsName",
              "comparison": "isNotEqualTo"
            },
            "name": "query - chart of CR"
          },
          {
            "type": 3,
            "content": {
              "version": "KqlItem/1.0",
              "query": "Usage\r\n// Get the Workspace Name(s) from a parameter\r\n| extend stringtoSplit = split(\"{WorkspaceIDguid}\",\",\")\r\n| mv-expand stringtoSplit\r\n| where stringtoSplit has TenantId\r\n| extend workSpacename = trim(@\"[^\\w]+\",tostring(split(stringtoSplit,\":\").[1]))\r\n| where IsBillable == true\r\n| summarize GBytes=sum(Quantity)/1000 by workSpacename, bin(TimeGenerated,{TimeRange:grain})",
              "size": 0,
              "title": "Ingestion by Workspace for {TimeRange:label}",
              "timeContextFromParameter": "TimeRange",
              "timeBrushParameterName": "TimeRange",
              "timeBrushExportOnlyWhenBrushed": true,
              "queryType": 0,
              "resourceType": "microsoft.operationalinsights/workspaces",
              "crossComponentResources": [
                "{Workspace}"
              ],
              "visualization": "barchart",
              "chartSettings": {
                "ySettings": {
                  "numberFormatSettings": {
                    "unit": 39,
                    "options": {
                      "style": "decimal",
                      "useGrouping": true
                    }
                  }
                }
              }
            },
            "name": "query - 10"
          },
          {
            "type": 3,
            "content": {
              "version": "KqlItem/1.0",
              "query": "Usage\r\n// Get the Workspace Name(s) from a parameter\r\n| extend stringtoSplit = split(\"{WorkspaceIDguid}\",\",\")\r\n| mv-expand stringtoSplit\r\n| where stringtoSplit has TenantId\r\n| extend workSpacename = trim(@\"[^\\w]+\",tostring(split(stringtoSplit,\":\").[1]))\r\n| where IsBillable == True\r\n| summarize GBytes=sum(Quantity)/1000 by workSpacename//, bin(TimeGenerated,{TimeRange:grain})\r\n| top 10 by GBytes",
              "size": 0,
              "title": "Top 10 Workspaces by ingestion capacity",
              "timeContextFromParameter": "TimeRange",
              "queryType": 0,
              "resourceType": "microsoft.operationalinsights/workspaces",
              "crossComponentResources": [
                "{Workspace}"
              ],
              "visualization": "piechart",
              "chartSettings": {
                "ySettings": {
                  "numberFormatSettings": {
                    "unit": 39,
                    "options": {
                      "style": "decimal",
                      "useGrouping": true,
                      "maximumFractionDigits": 2
                    }
                  }
                }
              }
            },
            "customWidth": "40",
            "name": "query - Top 10 by ingestion"
          },
          {
            "type": 3,
            "content": {
              "version": "KqlItem/1.0",
              "query": "Usage\r\n// Only look at billable Tables\r\n| where IsBillable == True\r\n| summarize TotalBytes =round(sum(Quantity)) by bin(TimeGenerated, 1d)\r\n| summarize GBperday = round(avg(TotalBytes)/1000,2)\r\n",
              "size": 0,
              "title": "GB per Day, {TimeRange:label}",
              "timeContextFromParameter": "TimeRange",
              "queryType": 0,
              "resourceType": "microsoft.operationalinsights/workspaces",
              "crossComponentResources": [
                "{Workspace}"
              ],
              "visualization": "tiles",
              "gridSettings": {
                "formatters": [
                  {
                    "columnMatch": "GBytes",
                    "formatter": 10,
                    "formatOptions": {
                      "palette": "blue"
                    }
                  },
                  {
                    "columnMatch": "Column1",
                    "formatter": 9,
                    "formatOptions": {
                      "palette": "blue"
                    }
                  }
                ]
              },
              "tileSettings": {
                "titleContent": {
                  "formatter": 1
                },
                "leftContent": {
                  "columnMatch": "GBperday",
                  "formatter": 12,
                  "formatOptions": {
                    "palette": "auto"
                  },
                  "numberFormat": {
                    "unit": 39,
                    "options": {
                      "style": "decimal",
                      "maximumFractionDigits": 2,
                      "maximumSignificantDigits": 3
                    }
                  }
                },
                "rightContent": {
                  "columnMatch": "avg_"
                },
                "showBorder": false
              }
            },
            "customWidth": "20",
            "name": "query - 10 - Copy"
          },
          {
            "type": 3,
            "content": {
              "version": "KqlItem/1.0",
              "query": "Usage\r\n// Only look at billable Tables\r\n| where IsBillable == True\r\n| summarize GBytes =round(sum(Quantity))/1000 \r\n",
              "size": 0,
              "title": "GB Total {TimeRange:label}",
              "timeContextFromParameter": "TimeRange",
              "queryType": 0,
              "resourceType": "microsoft.operationalinsights/workspaces",
              "crossComponentResources": [
                "{Workspace}"
              ],
              "visualization": "tiles",
              "gridSettings": {
                "formatters": [
                  {
                    "columnMatch": "GBytes",
                    "formatter": 10,
                    "formatOptions": {
                      "palette": "blue"
                    }
                  },
                  {
                    "columnMatch": "Column1",
                    "formatter": 9,
                    "formatOptions": {
                      "palette": "blue"
                    }
                  }
                ]
              },
              "tileSettings": {
                "titleContent": {
                  "formatter": 1
                },
                "leftContent": {
                  "columnMatch": "GBytes",
                  "formatter": 12,
                  "formatOptions": {
                    "palette": "auto"
                  },
                  "numberFormat": {
                    "unit": 39,
                    "options": {
                      "style": "decimal",
                      "maximumFractionDigits": 2,
                      "maximumSignificantDigits": 3
                    }
                  }
                },
                "rightContent": {
                  "columnMatch": "avg_"
                },
                "showBorder": false
              }
            },
            "customWidth": "20",
            "name": "query - GB total "
          },
          {
            "type": 3,
            "content": {
              "version": "KqlItem/1.0",
              "query": "Usage\r\n// Only look at billable Tables\r\n| where TimeGenerated > endofmonth(ago(90d))\r\n| where IsBillable == True\r\n| summarize GBytes =round(sum(Quantity))/1000 by bin(TimeGenerated,30d)\r\n\r\n",
              "size": 0,
              "title": "Monthly GB Total {TimeRange:label}",
              "timeContextFromParameter": "TimeRange",
              "queryType": 0,
              "resourceType": "microsoft.operationalinsights/workspaces",
              "crossComponentResources": [
                "{Workspace}"
              ],
              "visualization": "barchart",
              "gridSettings": {
                "formatters": [
                  {
                    "columnMatch": "GBytes",
                    "formatter": 10,
                    "formatOptions": {
                      "palette": "blue"
                    }
                  },
                  {
                    "columnMatch": "Column1",
                    "formatter": 9,
                    "formatOptions": {
                      "palette": "blue"
                    }
                  }
                ],
                "sortBy": [
                  {
                    "itemKey": "TimeGenerated",
                    "sortOrder": 1
                  }
                ]
              },
              "sortBy": [
                {
                  "itemKey": "TimeGenerated",
                  "sortOrder": 1
                }
              ],
              "tileSettings": {
                "titleContent": {
                  "formatter": 1
                },
                "leftContent": {
                  "columnMatch": "GBytes",
                  "formatter": 12,
                  "formatOptions": {
                    "palette": "auto"
                  },
                  "numberFormat": {
                    "unit": 39,
                    "options": {
                      "style": "decimal",
                      "maximumFractionDigits": 2,
                      "maximumSignificantDigits": 3
                    }
                  }
                },
                "rightContent": {
                  "columnMatch": "avg_"
                },
                "showBorder": false
              },
              "chartSettings": {
                "ySettings": {
                  "numberFormatSettings": {
                    "unit": 39,
                    "options": {
                      "style": "decimal",
                      "useGrouping": true
                    }
                  }
                }
              }
            },
            "customWidth": "40",
            "name": "query - GB total  - month"
          }
        ]
      },
      "conditionalVisibility": {
        "parameterName": "selectedTab",
        "comparison": "isEqualTo",
        "value": "ingestion"
      },
      "name": "group - ingestion"
    },
    {
      "type": 12,
      "content": {
        "version": "NotebookGroup/1.0",
        "groupType": "editable",
        "title": "Group: Tables",
        "items": [
          {
            "type": 3,
            "content": {
              "version": "KqlItem/1.0",
              "query": "Usage\r\n// Get the Workspace Name(s) from a parameter\r\n| extend stringtoSplit = split(\"{WorkspaceIDguid}\",\",\")\r\n| mv-expand stringtoSplit\r\n| where stringtoSplit has TenantId\r\n| extend workSpacename = trim(@\"[^\\w]+\",tostring(split(stringtoSplit,\":\").[1]))\r\n| summarize CountofTables=dcount(DataType) , TableName=make_set(DataType) by workSpacename\r\n| order by CountofTables desc\r\n",
              "size": 0,
              "title": "Table count by Workspace, count: {$rowCount}, click row for Content Hub details",
              "timeContextFromParameter": "TimeRange",
              "exportFieldName": "workSpacename",
              "exportParameterName": "workSpacename",
              "showExportToExcel": true,
              "queryType": 0,
              "resourceType": "microsoft.operationalinsights/workspaces",
              "crossComponentResources": [
                "{Workspace}"
              ],
              "gridSettings": {
                "formatters": [
                  {
                    "columnMatch": "CountofTables",
                    "formatter": 4,
                    "formatOptions": {
                      "palette": "greenRed",
                      "customColumnWidthSetting": "25ch"
                    }
                  },
                  {
                    "columnMatch": "TableName",
                    "formatter": 0,
                    "formatOptions": {
                      "customColumnWidthSetting": "150ch"
                    }
                  }
                ],
                "filter": true
              }
            },
            "name": "query - tables by ws"
          },
          {
            "type": 9,
            "content": {
              "version": "KqlParameterItem/1.0",
              "crossComponentResources": [
                "{Subscription}"
              ],
              "parameters": [
                {
                  "id": "ff66d7b3-6ecd-4d76-9677-7c9496681c58",
                  "version": "KqlParameterItem/1.0",
                  "name": "Solutions",
                  "label": "Filter Solutions in Content Hub",
                  "type": 10,
                  "isRequired": true,
                  "isGlobal": true,
                  "typeSettings": {
                    "showDefault": false
                  },
                  "jsonData": "[\r\n    { \"value\":\"(@.properties.firstPublishDate.includes('-'))\", \"label\":\"All\"},\r\n    { \"value\":\"(@.properties.installedVersion.includes('.'))\", \"label\":\"Installed\", \"selected\":true}\r\n]",
                  "timeContext": {
                    "durationMs": 86400000
                  }
                },
                {
                  "id": "deb345ad-8829-4871-8171-9482c50ca59f",
                  "version": "KqlParameterItem/1.0",
                  "name": "ws",
                  "type": 5,
                  "isRequired": true,
                  "query": "resources\r\n| where type =~ 'microsoft.operationalinsights/workspaces'\r\n| extend customerID = trim(' ', tostring(properties.customerId))\r\n| project id, customerID, name=tolower(name)\r\n|join \r\n(\r\nresources\r\n\t// Just show Workspaces that have Sentinel enabled\r\n\t| where type =~ \"microsoft.operationsmanagement/solutions\"\r\n\t| where name has \"SecurityInsights\"\r\n\t| parse name with * '(' s_workspace ')'*\r\n\t| project name=tolower(s_workspace), id, subscriptionId, resourceGroup\r\n    | where name == tolower('{workSpacename}')\r\n) on name\r\n| project tolower(id), customerID, name",
                  "crossComponentResources": [
                    "{Subscription}"
                  ],
                  "isHiddenWhenLocked": true,
                  "typeSettings": {
                    "showDefault": false
                  },
                  "queryType": 1,
                  "resourceType": "microsoft.resourcegraph/resources"
                }
              ],
              "style": "above",
              "queryType": 1,
              "resourceType": "microsoft.resourcegraph/resources"
            },
            "conditionalVisibility": {
              "parameterName": "workSpacename",
              "comparison": "isNotEqualTo"
            },
            "name": "parameters - 3"
          },
          {
            "type": 3,
            "content": {
              "version": "KqlItem/1.0",
              "query": "{\"version\":\"ARMEndpoint/1.0\",\"data\":null,\"headers\":[],\"method\":\"GET\",\"path\":\"/subscriptions/{ws:subscriptionid}/resourceGroups/{ws:resourcegroup}/providers/Microsoft.OperationalInsights/workspaces/{ws:name}/providers/Microsoft.SecurityInsights/contentProductPackages\",\"urlParams\":[{\"key\":\"api-version\",\"value\":\"2023-08-01-preview\"}],\"batchDisabled\":false,\"transformers\":[{\"type\":\"jsonpath\",\"settings\":{\"tablePath\":\"$..value[?({Solutions})]\",\"columns\":[{\"path\":\"properties.displayName\",\"columnid\":\"displayName\"},{\"path\":\"properties..kind\",\"columnid\":\"kind\"},{\"path\":\"properties.installedVersion\",\"columnid\":\"installedVersion\"},{\"path\":\"properties.version\",\"columnid\":\"availableVersion\"},{\"path\":\"properties.isNew\",\"columnid\":\"isNew\"},{\"path\":\"properties.isPreview\",\"columnid\":\"isPreview\"},{\"path\":\"properties.isFeatured\",\"columnid\":\"isFeatured\"},{\"path\":\"properties.firstPublishDate\",\"columnid\":\"firstPublishDate\",\"substringRegexMatch\":\"0001-01-01\",\"substringReplace\":\"unknown\"},{\"path\":\"properties.lastPublishDate\",\"columnid\":\"lastPublishDate\",\"substringRegexMatch\":\"0001-01-01\",\"substringReplace\":\"unknown\"},{\"path\":\"properties.descriptionHtml\",\"columnid\":\"descriptionHtml\"},{\"path\":\"properties.threatAnalysisTactics\",\"columnid\":\"threatAnalysisTactics\"},{\"path\":\"properties.threatAnalyticsTechniques\",\"columnid\":\"threatAnalyticsTechniques\"},{\"path\":\"properties\",\"columnid\":\"properties\"},{\"path\":\"id\",\"columnid\":\"id\"},{\"path\":\"systemData\",\"columnid\":\"systemData\"}]}}]}",
              "size": 0,
              "title": "Solution Count: {$rowCount}, click row to read HTML description  {ws} {workSpacename}",
              "exportFieldName": "descriptionHtml",
              "exportParameterName": "descriptionHtml",
              "showExportToExcel": true,
              "queryType": 12,
              "gridSettings": {
                "formatters": [
                  {
                    "columnMatch": "isNew",
                    "formatter": 18,
                    "formatOptions": {
                      "thresholdsOptions": "icons",
                      "thresholdsGrid": [
                        {
                          "operator": "==",
                          "thresholdValue": "true",
                          "representation": "success",
                          "text": ""
                        },
                        {
                          "operator": "==",
                          "thresholdValue": "false",
                          "representation": "Blank",
                          "text": ""
                        },
                        {
                          "operator": "Default",
                          "representation": "Blank",
                          "text": ""
                        }
                      ]
                    }
                  },
                  {
                    "columnMatch": "isPreview",
                    "formatter": 18,
                    "formatOptions": {
                      "thresholdsOptions": "icons",
                      "thresholdsGrid": [
                        {
                          "operator": "==",
                          "thresholdValue": "false",
                          "representation": "Blank",
                          "text": ""
                        },
                        {
                          "operator": "==",
                          "thresholdValue": "true",
                          "representation": "success",
                          "text": ""
                        },
                        {
                          "operator": "Default",
                          "representation": "Blank",
                          "text": ""
                        }
                      ]
                    }
                  },
                  {
                    "columnMatch": "isFeatured",
                    "formatter": 18,
                    "formatOptions": {
                      "thresholdsOptions": "icons",
                      "thresholdsGrid": [
                        {
                          "operator": "==",
                          "thresholdValue": "true",
                          "representation": "success",
                          "text": ""
                        },
                        {
                          "operator": "==",
                          "thresholdValue": "false",
                          "representation": "Blank",
                          "text": ""
                        },
                        {
                          "operator": "Default",
                          "representation": "Blank",
                          "text": "{0}{1}"
                        }
                      ]
                    }
                  },
                  {
                    "columnMatch": "descriptionHtml",
                    "formatter": 7,
                    "formatOptions": {
                      "linkTarget": "CellDetails",
                      "linkIsContextBlade": true
                    }
                  },
                  {
                    "columnMatch": "id",
                    "formatter": 7,
                    "formatOptions": {
                      "linkTarget": "Resource",
                      "linkIsContextBlade": true
                    }
                  }
                ],
                "filter": true,
                "sortBy": [
                  {
                    "itemKey": "displayName",
                    "sortOrder": 1
                  }
                ]
              },
              "sortBy": [
                {
                  "itemKey": "displayName",
                  "sortOrder": 1
                }
              ]
            },
            "conditionalVisibility": {
              "parameterName": "hide",
              "comparison": "isEqualTo",
              "value": "hide"
            },
            "name": "query - content hub "
          },
          {
            "type": 3,
            "content": {
              "version": "KqlItem/1.0",
              "query": "{\"version\":\"Merge/1.0\",\"merges\":[{\"id\":\"47a9f643-b2c8-45f8-91dc-2ee63e40a085\",\"mergeType\":\"table\",\"leftTable\":\"query - content hub \"}],\"projectRename\":[{\"originalName\":\"[query - content hub ].displayName\",\"mergedName\":\"displayName\",\"fromId\":\"47a9f643-b2c8-45f8-91dc-2ee63e40a085\"},{\"originalName\":\"[query - content hub ].kind\",\"mergedName\":\"kind\",\"fromId\":\"47a9f643-b2c8-45f8-91dc-2ee63e40a085\"},{\"originalName\":\"[query - content hub ].installedVersion\",\"mergedName\":\"installedVersion\",\"fromId\":\"47a9f643-b2c8-45f8-91dc-2ee63e40a085\"},{\"originalName\":\"[query - content hub ].availableVersion\",\"mergedName\":\"availableVersion\",\"fromId\":\"unknown\"},{\"originalName\":\"[Added column]\",\"mergedName\":\"isUpgrade\",\"fromId\":null,\"isNewItem\":true,\"newItemData\":[{\"criteriaContext\":{\"leftOperand\":\"availableVersion\",\"operator\":\"!=\",\"rightValType\":\"column\",\"rightVal\":\"installedVersion\",\"resultValType\":\"static\",\"resultVal\":\"true\"}},{\"criteriaContext\":{\"operator\":\"Default\",\"rightValType\":\"column\",\"resultValType\":\"static\",\"resultVal\":\"false\"}}]},{\"originalName\":\"[query - content hub ].version\",\"mergedName\":\"version\",\"fromId\":\"47a9f643-b2c8-45f8-91dc-2ee63e40a085\"},{\"originalName\":\"[query - content hub ].isNew\",\"mergedName\":\"isNew\",\"fromId\":\"47a9f643-b2c8-45f8-91dc-2ee63e40a085\"},{\"originalName\":\"[query - content hub ].isPreview\",\"mergedName\":\"isPreview\",\"fromId\":\"47a9f643-b2c8-45f8-91dc-2ee63e40a085\"},{\"originalName\":\"[query - content hub ].isFeatured\",\"mergedName\":\"isFeatured\",\"fromId\":\"47a9f643-b2c8-45f8-91dc-2ee63e40a085\"},{\"originalName\":\"[query - content hub ].firstPublishDate\",\"mergedName\":\"firstPublishDate\",\"fromId\":\"47a9f643-b2c8-45f8-91dc-2ee63e40a085\"},{\"originalName\":\"[query - content hub ].lastPublishDate\",\"mergedName\":\"lastPublishDate\",\"fromId\":\"47a9f643-b2c8-45f8-91dc-2ee63e40a085\"},{\"originalName\":\"[query - content hub ].descriptionHtml\",\"mergedName\":\"descriptionHtml\",\"fromId\":\"47a9f643-b2c8-45f8-91dc-2ee63e40a085\"},{\"originalName\":\"[query - content hub ].threatAnalysisTactics\",\"mergedName\":\"threatAnalysisTactics\",\"fromId\":\"47a9f643-b2c8-45f8-91dc-2ee63e40a085\"},{\"originalName\":\"[query - content hub ].threatAnalyticsTechniques\",\"mergedName\":\"threatAnalyticsTechniques\",\"fromId\":\"47a9f643-b2c8-45f8-91dc-2ee63e40a085\"},{\"originalName\":\"[query - content hub ].propertiers\",\"mergedName\":\"propertiers\",\"fromId\":\"47a9f643-b2c8-45f8-91dc-2ee63e40a085\"},{\"originalName\":\"[query - content hub ].id\",\"mergedName\":\"id\",\"fromId\":\"47a9f643-b2c8-45f8-91dc-2ee63e40a085\"},{\"originalName\":\"[query - content hub ].systemData\",\"mergedName\":\"systemData\",\"fromId\":\"47a9f643-b2c8-45f8-91dc-2ee63e40a085\"},{\"originalName\":\"[query - content hub ].properties\",\"mergedName\":\"properties\",\"fromId\":\"unknown\"}]}",
              "size": 0,
              "title": "Solution Count: {$rowCount}, click row to read HTML description  ",
              "exportFieldName": "descriptionHtml",
              "exportParameterName": "descriptionHtml",
              "showExportToExcel": true,
              "queryType": 7,
              "gridSettings": {
                "formatters": [
                  {
                    "columnMatch": "isUpgrade",
                    "formatter": 18,
                    "formatOptions": {
                      "thresholdsOptions": "icons",
                      "thresholdsGrid": [
                        {
                          "operator": "==",
                          "thresholdValue": "true",
                          "representation": "success",
                          "text": ""
                        },
                        {
                          "operator": "Default",
                          "representation": "Blank",
                          "text": ""
                        }
                      ]
                    }
                  },
                  {
                    "columnMatch": "isNew",
                    "formatter": 18,
                    "formatOptions": {
                      "thresholdsOptions": "icons",
                      "thresholdsGrid": [
                        {
                          "operator": "==",
                          "thresholdValue": "true",
                          "representation": "Available",
                          "text": "{0}{1}"
                        },
                        {
                          "operator": "Default",
                          "representation": "Blank",
                          "text": ""
                        }
                      ]
                    }
                  },
                  {
                    "columnMatch": "isPreview",
                    "formatter": 18,
                    "formatOptions": {
                      "thresholdsOptions": "icons",
                      "thresholdsGrid": [
                        {
                          "operator": "==",
                          "thresholdValue": "true",
                          "representation": "Available",
                          "text": "{0}{1}"
                        },
                        {
                          "operator": "Default",
                          "representation": "Blank",
                          "text": ""
                        }
                      ]
                    }
                  },
                  {
                    "columnMatch": "isFeatured",
                    "formatter": 18,
                    "formatOptions": {
                      "thresholdsOptions": "icons",
                      "thresholdsGrid": [
                        {
                          "operator": "==",
                          "thresholdValue": "true",
                          "representation": "Available",
                          "text": ""
                        },
                        {
                          "operator": "Default",
                          "representation": "Blank",
                          "text": ""
                        }
                      ]
                    }
                  },
                  {
                    "columnMatch": "firstPublishDate",
                    "formatter": 18,
                    "formatOptions": {
                      "thresholdsOptions": "icons",
                      "thresholdsGrid": [
                        {
                          "operator": "==",
                          "thresholdValue": "unknown",
                          "text": ""
                        },
                        {
                          "operator": "Default",
                          "representation": "Blank",
                          "text": "{0}{1}"
                        }
                      ]
                    }
                  },
                  {
                    "columnMatch": "lastPublishDate",
                    "formatter": 18,
                    "formatOptions": {
                      "thresholdsOptions": "icons",
                      "thresholdsGrid": [
                        {
                          "operator": "==",
                          "thresholdValue": "unknown",
                          "text": ""
                        },
                        {
                          "operator": "Default",
                          "representation": "Blank",
                          "text": "{0}{1}"
                        }
                      ]
                    }
                  },
                  {
                    "columnMatch": "id",
                    "formatter": 7,
                    "formatOptions": {
                      "linkTarget": "Resource",
                      "linkIsContextBlade": true
                    }
                  }
                ],
                "rowLimit": 500,
                "filter": true
              }
            },
            "conditionalVisibility": {
              "parameterName": "workSpacename",
              "comparison": "isNotEqualTo"
            },
            "showPin": false,
            "name": "query - merged view to show Update available"
          },
          {
            "type": 1,
            "content": {
              "json": "{descriptionHtml}"
            },
            "conditionalVisibility": {
              "parameterName": "descriptionHtml",
              "comparison": "isNotEqualTo"
            },
            "name": "text - 4"
          },
          {
            "type": 3,
            "content": {
              "version": "KqlItem/1.0",
              "query": "Usage\r\n// Get the Workspace Name(s) from a parameter\r\n| extend stringtoSplit = split(\"{WorkspaceIDguid}\",\",\")\r\n| mv-expand stringtoSplit\r\n| where stringtoSplit has TenantId\r\n| extend workSpacename = trim(@\"[^\\w]+\",tostring(split(stringtoSplit,\":\").[1]))\r\n| summarize by DataType, workSpacename, IsBillable\r\n| join ( Usage | make-series Trend=count() on TimeGenerated from {TimeRange:start} to {TimeRange:end} step {TimeRange:grain} by DataType ) on DataType\r\n\r\n",
              "size": 0,
              "title": "Table usage trend, count: {$rowCount}",
              "timeContextFromParameter": "TimeRange",
              "showExportToExcel": true,
              "queryType": 0,
              "resourceType": "microsoft.operationalinsights/workspaces",
              "crossComponentResources": [
                "{Workspace}"
              ],
              "gridSettings": {
                "formatters": [
                  {
                    "columnMatch": "Group",
                    "formatter": 1
                  },
                  {
                    "columnMatch": "workSpacename",
                    "formatter": 1
                  },
                  {
                    "columnMatch": "IsBillable",
                    "formatter": 18,
                    "formatOptions": {
                      "thresholdsOptions": "icons",
                      "thresholdsGrid": [
                        {
                          "operator": "==",
                          "thresholdValue": "false",
                          "representation": "4",
                          "text": "No"
                        },
                        {
                          "operator": "Default",
                          "representation": "success",
                          "text": "Yes"
                        }
                      ]
                    }
                  },
                  {
                    "columnMatch": "DataType1",
                    "formatter": 5
                  },
                  {
                    "columnMatch": "Trend",
                    "formatter": 10,
                    "formatOptions": {
                      "palette": "pink"
                    }
                  },
                  {
                    "columnMatch": "TimeGenerated",
                    "formatter": 5
                  },
                  {
                    "columnMatch": "TableName",
                    "formatter": 0,
                    "formatOptions": {
                      "customColumnWidthSetting": "150ch"
                    }
                  }
                ],
                "filter": true,
                "hierarchySettings": {
                  "treeType": 1,
                  "groupBy": [
                    "workSpacename"
                  ],
                  "expandTopLevel": true,
                  "finalBy": "workSpacename"
                },
                "sortBy": [
                  {
                    "itemKey": "$gen_thresholds_IsBillable_3",
                    "sortOrder": 2
                  }
                ],
                "labelSettings": [
                  {
                    "columnId": "DataType",
                    "label": "Table Name"
                  }
                ]
              },
              "sortBy": [
                {
                  "itemKey": "$gen_thresholds_IsBillable_3",
                  "sortOrder": 2
                }
              ]
            },
            "name": "query - bill and trend"
          }
        ]
      },
      "conditionalVisibility": {
        "parameterName": "selectedTab",
        "comparison": "isEqualTo",
        "value": "tables"
      },
      "name": "group - Tables"
    },
    {
      "type": 12,
      "content": {
        "version": "NotebookGroup/1.0",
        "groupType": "editable",
        "title": "Group: Rules",
        "items": [
          {
            "type": 9,
            "content": {
              "version": "KqlParameterItem/1.0",
              "crossComponentResources": [
                "{Workspace}"
              ],
              "parameters": [
                {
                  "id": "2b1d3b81-3847-4840-86ad-da410dda4854",
                  "version": "KqlParameterItem/1.0",
                  "name": "ws",
                  "type": 5,
                  "isRequired": true,
                  "query": "resources\r\n| where type =~ 'microsoft.operationalinsights/workspaces'\r\n| extend customerID = trim(' ', tostring(properties.customerId))\r\n| project id, customerID, name=tolower(name)\r\n|join \r\n(\r\n\tresources\r\n\t// Just show Workspaces that have Sentinel enabled\r\n\t| where type =~ \"microsoft.operationsmanagement/solutions\"\r\n\t| where name has \"SecurityInsights\"\r\n\t| parse name with * '(' s_workspace ')'*\r\n\t| project name=tolower(s_workspace)\r\n) on name\r\n| project tolower(id), tostring(name), a='{Workspace:name}'\r\n| where a has name ",
                  "crossComponentResources": [
                    "{Workspace}"
                  ],
                  "typeSettings": {
                    "showDefault": false
                  },
                  "timeContext": {
                    "durationMs": 86400000
                  },
                  "queryType": 1,
                  "resourceType": "microsoft.resourcegraph/resources",
                  "value": ""
                }
              ],
              "style": "above",
              "queryType": 1,
              "resourceType": "microsoft.resourcegraph/resources"
            },
            "name": "parameters - 1"
          },
          {
            "type": 9,
            "content": {
              "version": "KqlParameterItem/1.0",
              "parameters": [
                {
                  "id": "d2396b84-e61b-4e41-aef3-0881bf5cfbcc",
                  "version": "KqlParameterItem/1.0",
                  "name": "status_",
                  "label": "Select Status",
                  "type": 10,
                  "isRequired": true,
                  "typeSettings": {
                    "showDefault": false
                  },
                  "jsonData": "[\r\n    { \"value\": \"@.properties.enabled==true\", \"label\": \"Enabled\", \"selected\":true  },        \r\n    { \"value\": \"@.properties.enabled==false\", \"label\": \"Disabled\"}\r\n]\r\n\r\n",
                  "timeContext": {
                    "durationMs": 86400000
                  }
                }
              ],
              "style": "above",
              "queryType": 0,
              "resourceType": "microsoft.operationalinsights/workspaces"
            },
            "name": "parameters - 2 - Copy"
          },
          {
            "type": 9,
            "content": {
              "version": "KqlParameterItem/1.0",
              "parameters": [
                {
                  "id": "f6a164ad-c1b8-4765-bafa-4b773bf58a67",
                  "version": "KqlParameterItem/1.0",
                  "name": "ruleKind",
                  "type": 10,
                  "isRequired": true,
                  "typeSettings": {
                    "showDefault": false
                  },
                  "jsonData": "[\r\n    { \"value\": \"@.kind=='MicrosoftSecurityIncidentCreation'\", \"label\": \"Microsoft Incident Creation\" },    \r\n    { \"value\": \"@.kind=='Fusion'\", \"label\": \"Microsoft Fusion\" }, \r\n    { \"value\": \"@.kind=='NRT'\", \"label\": \"NRT\" },\r\n    { \"value\": \"@.kind=='MLBehaviorAnalytics'\", \"label\": \"MLBehaviorAnalytics\" },\r\n    { \"value\": \"@.kind=='ThreatIntelligence'\", \"label\": \"ThreatIntelligence\" },        \r\n    { \"value\": \"@.kind=='Scheduled'\", \"label\": \"Scheduled\", \"selected\":true }\r\n]\r\n\r\n",
                  "timeContext": {
                    "durationMs": 86400000
                  },
                  "label": "Select the Rule Kind"
                }
              ],
              "style": "above",
              "queryType": 0,
              "resourceType": "microsoft.operationalinsights/workspaces"
            },
            "name": "parameters - 2"
          },
          {
            "type": 3,
            "content": {
              "version": "KqlItem/1.0",
              "query": "{\"version\":\"ARMEndpoint/1.0\",\"data\":null,\"headers\":[],\"method\":\"GET\",\"path\":\"/subscriptions/{ws:subscription}/resourceGroups/{ws:resourcegroup}/providers/Microsoft.OperationalInsights/workspaces/{ws:name}/providers/Microsoft.SecurityInsights/alertRules\",\"urlParams\":[{\"key\":\"api-version\",\"value\":\"2023-02-01\"}],\"batchDisabled\":false,\"transformers\":[{\"type\":\"jsonpath\",\"settings\":{\"tablePath\":\"$.value[?( {ruleKind} && {status_}  )]\",\"columns\":[{\"path\":\"$.properties.displayName\",\"columnid\":\"RuleName\"},{\"path\":\"$.properties.description\",\"columnid\":\"Description\"},{\"path\":\"$.name\",\"columnid\":\"AlertRuleID\"},{\"path\":\"$.kind\",\"columnid\":\"Kind\"},{\"path\":\"$.properties.productFilter\",\"columnid\":\"ProductName\"},{\"path\":\"$.properties.enabled\",\"columnid\":\"Status\"},{\"path\":\"$.properties\",\"columnid\":\"prop\"},{\"path\":\"properties.severity\",\"columnid\":\"Severity\"},{\"path\":\"$.properties.lastModifiedUtc\",\"columnid\":\"lastModifiedUtc\"},{\"path\":\"$.properties.tactics\",\"columnid\":\"Tactics\"},{\"path\":\"$.properties.techniques\",\"columnid\":\"Techniques\"},{\"path\":\"properties.queryFrequency\",\"columnid\":\"queryFrequency\"},{\"path\":\"properties.queryPeriod\",\"columnid\":\"queryPeriod\"},{\"path\":\"properties.triggerOperator\",\"columnid\":\"triggerOperator\"},{\"path\":\"properties.triggerThreshold\",\"columnid\":\"triggerThreshold\"},{\"path\":\"properties.eventGroupingSettings.aggregationKind\",\"columnid\":\"eventGroupingSettings\"},{\"path\":\"properties.entityMappings\",\"columnid\":\"entityMappings\"},{\"path\":\"properties.incidentConfiguration\",\"columnid\":\"incidentConfiguration\"},{\"path\":\"properties.alertDetailsOverride\",\"columnid\":\"alertDetailsOverride\"}]}}]}",
              "size": 0,
              "title": "Deployed Rules - Rule count: {$rowCount}, for: {ws:name}",
              "noDataMessage": "No analytic rules are defined ",
              "exportedParameters": [
                {
                  "fieldName": "AlertRuleID",
                  "parameterName": "AlertRuleID",
                  "parameterType": 1
                },
                {
                  "fieldName": "ProductName",
                  "parameterName": "ProductName",
                  "parameterType": 1
                },
                {
                  "fieldName": "Tactics",
                  "parameterName": "Tactics",
                  "parameterType": 1
                },
                {
                  "fieldName": "RuleName",
                  "parameterName": "RuleName",
                  "parameterType": 1
                },
                {
                  "fieldName": "Status",
                  "parameterName": "Status",
                  "parameterType": 1
                },
                {
                  "fieldName": "prop",
                  "parameterName": "prop",
                  "parameterType": 1
                }
              ],
              "showExportToExcel": true,
              "exportToExcelOptions": "all",
              "queryType": 12,
              "gridSettings": {
                "formatters": [
                  {
                    "columnMatch": "Kind",
                    "formatter": 1
                  },
                  {
                    "columnMatch": "ProductName",
                    "formatter": 5
                  },
                  {
                    "columnMatch": "Status",
                    "formatter": 18,
                    "formatOptions": {
                      "thresholdsOptions": "icons",
                      "thresholdsGrid": [
                        {
                          "operator": "==",
                          "thresholdValue": "true",
                          "representation": "success",
                          "text": "Enabled"
                        },
                        {
                          "operator": "==",
                          "thresholdValue": "false",
                          "representation": "disabled",
                          "text": "Disabled"
                        },
                        {
                          "operator": "Default",
                          "representation": "Blank",
                          "text": ""
                        }
                      ]
                    }
                  },
                  {
                    "columnMatch": "prop",
                    "formatter": 5
                  },
                  {
                    "columnMatch": "Severity",
                    "formatter": 18,
                    "formatOptions": {
                      "thresholdsOptions": "icons",
                      "thresholdsGrid": [
                        {
                          "operator": "==",
                          "thresholdValue": "High",
                          "representation": "Sev1",
                          "text": "{0}{1}"
                        },
                        {
                          "operator": "==",
                          "thresholdValue": "Medium",
                          "representation": "Sev2",
                          "text": "{0}{1}"
                        },
                        {
                          "operator": "==",
                          "thresholdValue": "Low",
                          "representation": "Sev3",
                          "text": "{0}{1}"
                        },
                        {
                          "operator": "Default",
                          "representation": "Blank",
                          "text": "{0}{1}"
                        }
                      ]
                    }
                  },
                  {
                    "columnMatch": "entityMappings",
                    "formatter": 7,
                    "formatOptions": {
                      "linkTarget": "CellDetails",
                      "linkIsContextBlade": true
                    }
                  },
                  {
                    "columnMatch": "enabled",
                    "formatter": 1,
                    "formatOptions": {
                      "compositeBarSettings": {
                        "labelText": "",
                        "columnSettings": [
                          {
                            "columnName": "enabled",
                            "color": "green"
                          }
                        ]
                      }
                    }
                  }
                ],
                "rowLimit": 512,
                "filter": true,
                "sortBy": [
                  {
                    "itemKey": "lastModifiedUtc",
                    "sortOrder": 2
                  }
                ],
                "labelSettings": [
                  {
                    "columnId": "RuleName",
                    "label": "Rule name"
                  },
                  {
                    "columnId": "AlertRuleID",
                    "label": "Alert rule ID"
                  },
                  {
                    "columnId": "Kind",
                    "label": "Rule type"
                  },
                  {
                    "columnId": "ProductName",
                    "label": "Product name"
                  }
                ]
              },
              "sortBy": [
                {
                  "itemKey": "lastModifiedUtc",
                  "sortOrder": 2
                }
              ],
              "graphSettings": {
                "type": 0
              },
              "mapSettings": {
                "locInfo": "LatLong"
              }
            },
            "name": "Analytic rules"
          }
        ]
      },
      "conditionalVisibility": {
        "parameterName": "selectedTab",
        "comparison": "isEqualTo",
        "value": "rules"
      },
      "name": "group - rules"
    }
  ],
  "fromTemplateId": "sentinel-SentinelCentral",
  "$schema": "https://github.com/Microsoft/Application-Insights-Workbooks/blob/master/schema/workbook.json"
}
