Customize Indicator layouts for each indicator type in Cortex XSOAR.
Each out-of-the-box indicator comes with its own layout. You can customize almost every aspect of the layout, including which tabs appear, in which order they appear, who has permissions to view the tabs, what information appears and how it is displayed.
You can see which indicator type uses the indicator layout in the Types tab ( → → ). The indicator layout name appears in the Layout column. Although you can edit the layout in either the Types or Layouts tab, it is recommended to edit in the Layouts tab, if the layout is an out-of-the-box content pack layout, as you cannot edit from the Types tab.
Content Pack Indicator Layouts
Out-of-the-box content pack indicator layouts display a locked icon, which means to edit the layout, you need to do one of the following:
Duplicate an indicator layout. You need to edit the indicator type to add the new layout.
Detach the layout. While an indicator layout is detached, it does not receive content pack updates. If you detach an indicator type layout, make edits, and later want to receive content pack updates for that layout, we recommend you duplicate the indicator layout before reattaching the original, to protect your changes from content pack updates.
Indicator Layout Builder
You can customize the display information including fields for existing indicators, by modifying the sections and fields for the following views:
Indicator Summary
You can customize almost every aspect of the layout, including which tabs appear, the order they appear, who has permissions, hide tabs, etc. In each field or tab you can add filters by clicking on the eye icon, which enables you to add conditions that show specific fields or tabs relevant for the indicator.
You can add a script in the indicator layout, such as a mapping script, which determines where an IP address originates and displays it on a map.
Quick View
Add, edit, delete sections, fields, and filters in the Quick view section in the incident.
Go to
→ → → .(Content Pack Indicator Type Layout) Detach the indicator layout.
Select the checkbox for the indicator layout you want to detach.
Click Detach.
When the layout is detached, you can also edit the layout in the Indicator Type tab.
Edit the indicator type layout.
Select the indicator type layout and click Edit.
You are presented with the current layout, which is populated with demo data so you can see how the fields fit.
In the Indicator Summary tab, customize the tabs.
Drag and drop the tab to reorder the tabs.
Configure the tabs by clicking the settings cog wheel icon in the tab and then select one of the following options.
Rename
Duplicate
Delete
Show Empty Fields
The setting that you configure in the layout becomes the default value seen in the indicator for the specific tab, which can then be overridden. You can also set a global default value using the
UI.summary.page.hide.empty.fields
server configuration, which can also be overridden for a specific tab.Hide tab
Format for exporting
Build your layout based on A4 proportions to match the format used for exporting. Selecting this option hides the tab by default, but the tab will remain available for export.
Viewing Permissions
When clicking Viewing permissions, select which roles can view the tabs.
Display Filter
Enables you to add or view a filter applied to the tab. If the filters apply, the specific fields or tabs are shown in the layout. If the mandatory field is not shown in the layout, the user is not obliged to complete it.
Add sections to the layout.
From the Sections tab in the Library, drag and drop the required sections as follows:
Section
Description
New Section
After creating a new section, click the <Indicator Type> Fields tab and drag and drop the fields as required.
Cortex XSOAR out-of-the-box sections
Out-of-the-box sections such as Expiration Status, Verdict, etc.
General Purpose Dynamic Section
Enables you to Add a Script in the Indicator Layout. For example, assign a script that determines and displays the Geo location of an IP address on a map. You can Set up Google Maps in Cortex XSOAR to use map automations.
Define the section properties, by clicking and then Edit section settings.
You can determine how a section in the layout appears in the layout. For example, does the section include the section header. You can also configure the fields to appear in rows or as cards. For example, if you know that some of the field values will be very long, you are better off using rows. If you know that the field values are short, you might want to use cards so you can fit more fields in a section.
To remove or duplicate a section, select the section, click and then select Duplicate, or Remove.
Drag and drop fields, and add any filters as required.
Add any custom buttons.
To add a custom button, create an automation and then add the New Button to the indicator layout and choose the automation, as described in the example below. These buttons can simplify and assist an analyst in carrying out various tasks. For example, you can create a button to run an enrichment script on an identified indicator.
For fields (script arguments) that are optional, you can define whether to show them to analysts when they click on buttons. To expose an optional field, select the Ask User checkbox next to the script argument/s in the button settings page.
Note
When creating a script for use in an indicator layout, the
indicator-action-button
tag must be assigned for the script to be available for custom buttons.In the following example we want to create a button which adds the indicator to a
Hunt
incident type, so the Threat Intel team can review it.Save the following script as a Python file on your computer. On the Automations page, click the upload automation icon and upload the file.
commonfields: id: d3716514-4c2b-453c-8072-4fd4807bca0a version: 30 vcShouldKeepItemLegacyProdMachine: false name: newIncidentFromIndicator script: |+ from pprint import pformat args = demisto.args() fields = {} fields['type'] = args['type'] fields['details'] = args['indicator']['value'] fields['name'] = args['type'] + " for " + args['indicator']['value'] res = demisto.executeCommand('createNewIncident', fields) newID = res[0]['EntryContext']['CreatedIncidentID'] demisto.executeCommand("associateIndicatorsToIncident", {"indicatorsValues": args['indicator']['value'], "incidentId":int(newID)}) type: python tags: - indicator-action-button enabled: true args: - name: type required: true description: Incident Type scripttarget: 0 subtype: python3 pswd: "" runonce: false dockerimage: demisto/python3:3.8.5.11789 runas: DBotWeakRole
Go to
→ → → and click on the relevant indicator type layout.Drag the +New Button from the Fields and Buttons tab and drop into the relevant section.
Click to configure.
Enter a descriptive name for the button. For this example, we call it
Pass to Threat Hunt Team
. Select a color. Select the script we added above -newIncidentFromIndicator
.In the type field, add Hunt.
Click Save.
In the Summary tab, you can see the new button:
When you view an indicator and click this button, an incident is created with the Hunt incident type.
To test, go to the Threat Intel (Indicators) page, create a new indicator, and assign it to the relevant indicator type. View the indicator, click the Pass to Threat Hunt Team button, and verify that a new incident is created.
Add required sections and fields in the Quick View tab.
Add the layout to the indicator.
Go to
→ → → .Select the indicator type and click Edit.
In the Layout field, from the dropdown list, add the customized layout.
(Optional) For a customized layout, you can contribute it to the Marketplace.
In the Layouts page, select the new layout and then click Contribute.
In the dialog box select either Save and submit your contribution or Save and download your contribution for later use, which you can view in the Contributions tab in the Marketplace.
If you select Save and submit your contribution your layout is validated and then you prompted to submit to review. You can also view your contribution in the Marketplace.