You can add a custom or system widget to a custom issue layout by uploading an auto script and using it in a **General Purpose Dynamic Section** in your layout.
The following example shows how to add an Indicator Widget Bar. This custom widget script shows the severity of indicators in an issue, as a bar chart.
1. Add the Indicator Widget Bar script to Cortex XSIAM.
1. Go to **Investigation & Response** → **Automation** → **Scripts** and upload the following script:
```
commonfields:
id: ee3b9604-324b-4ab5-8164-15ddf6e428ab
version: 49
name: IndicatorWidgetBar
script: |-
# Constants
HIGH = 3
SUSPICIOUS = 2
LOW = 1
NONE = 0
indicators = []
scores = {HIGH: 0, SUSPICIOUS: 0, LOW: 0, NONE: 0}
incident_id = demisto.incidents()[0].get('id')
foundIndicators = demisto.executeCommand("findIndicators", {"query":'investigationIDs:{}'.format(incident_id), 'size':999999})[0]['Contents']
for indicator in foundIndicators:
scores[indicator['score']] += 1
data = {
"Type": 17,
"ContentsFormat": "bar",
"Contents": {
"stats": [
{
"data": [
scores[HIGH]
],
"groups": None,
"name": "high",
"label": "incident.severity.high",
"color": "rgb(255, 23, 68)"
},
{
"data": [
scores[SUSPICIOUS]
],
"groups": None,
"name": "medium",
"label": "incident.severity.medium",
"color": "rgb(255, 144, 0)"
},
{
"data": [
scores[LOW]
],
"groups": None,
"name": "low",
"label": "incident.severity.low",
"color": "rgb(0, 205, 51)"
},
{
"data": [
scores[NONE]
],
"groups": None,
"name": "unknown",
"label": "incident.severity.unknown",
"color": "rgb(197, 197, 197)"
}
],
"params": {
"layout": "horizontal"
}
}
}
demisto.results(data)
type: python
tags:
- dynamic-section
enabled: true
scripttarget: 0
subtype: python3
runonce: false
dockerimage: demisto/python3:3.7.3.286
runas: DBotWeakRole
```
1. Click Save
2. Go to Settings → Configurations → Object Setup → Issues → Layout Rules → **New Rule**.
3. Enter a rule name, select the layout to use if the rule is met, and provide a description.
4. Search for issues that match the criteria you want to use for the layout rule. For example, you can search for issues from a specific issue source.
5. Click **Create**.
6. Repeat as needed to create multiple rules.
7. Click **Save**.