Skip to main content

Cortex XSOAR Integration Guide

Overview

The Cortex XSOAR integration allows your NINA workflows to connect with Palo Alto Networks Cortex XSOAR (Extended Security Orchestration, Automation, and Response) platform. This integration enables automated incident management, war room collaboration, and investigation workflow orchestration directly from your automation platform.

Status

The integration supports comprehensive Cortex XSOAR incident management operations:

  • Incident Management: Create, retrieve, search, update, and close incidents
  • Bulk Operations: Create, update, and close multiple incidents sequentially in single operations
  • War Room Collaboration: Retrieve war room entries, add notes, mark entries as notes or evidence, and search evidence
  • Evidence Management: Mark war room entries as evidence with descriptions, tags, and timestamps
  • Flexible Search: Filter incidents by date range, status, severity, type, and owner; search evidence by tags and criteria
  • Custom Fields: Support for instance-specific custom fields via free-form JSON

Advanced features:

  • Resource Locators: Dynamic incident selection with searchable dropdowns
  • Severity Levels: Standard severity classification (Informational, Low, Medium, High, Critical)
  • Investigation Creation: Automatically create investigations when incidents are created
  • Multi-Incident Closure: Close multiple incidents with individual closure reasons and notes

Credential Configuration

Cortex XSOAR integration uses API Key authentication.

Authentication Method

API Key

FieldDescriptionExample
Server URLURL of your Cortex XSOAR instancehttps://your-xsoar-instance.com
API KeyAPI key generated from XSOAR SettingsABCD1234...

How to Get Your Cortex XSOAR API Key

  1. Log in to Cortex XSOAR: Navigate to your XSOAR instance
  2. Go to Settings: Click the Settings icon (⚙️) in the top right
  3. Navigate to API Keys: Select SettingsIntegrationsAPI Keys
  4. Generate New API Key:
    • Click Get Your Key or Generate Your Key
    • Name: e.g., "NINA Integration"
    • Role: Select appropriate role (typically Administrator or Analyst)
    • Expiration: Choose appropriate duration or set to never expire
    • Click Generate
  5. Copy Credentials:
    • Copy the API Key (long string shown once - you won't see it again!)
  6. Test the Connection: Verify the key works by making a test API call

Important: Store the API key securely immediately after generation, as you cannot retrieve it later.

Creating a Cortex XSOAR Credential

  1. Navigate to the Credentials section in NINA
  2. Click Add New Credential
  3. Fill in:
    • Integration Service: "Cortex XSOAR"
    • Auth Type: "API Key"
    • Server URL: Your XSOAR instance URL (without trailing slash)
    • API Key: Your generated API key
  4. Click Save

Supported Resources and Operations

Incident

OperationNameDescription
createCreateCreates a new incident in XSOAR
bulkCreateBulk CreateCreates multiple incidents in XSOAR sequentially
getGetFetch details of a single incident by ID
searchSearchSearch and filter incidents by various criteria
updateUpdateUpdate incident fields and status
bulkUpdateBulk UpdateUpdates multiple incidents in XSOAR sequentially
closeCloseClose one or multiple incidents
bulkCloseBulk CloseCloses multiple incidents in XSOAR sequentially with individual close reasons

War Room

OperationNameDescription
getGet War RoomFetch complete war room details including entries, metadata, and timeline
addEntryAdd EntryAdd a note/entry to incident war room and optionally mark as note or evidence
bulkAddEntryBulk Add EntryAdd multiple entries to incident war rooms sequentially
markAsNoteMark As NoteMark or unmark a war room entry as a note
markAsEvidenceMark As EvidenceMark a war room entry as evidence
searchEvidenceSearch EvidenceSearch and retrieve evidence entries for a specific incident

Examples

Create Incident

{
"integration_service": "cortex-xsoar",
"resource": "incident",
"operation": "create",
"name": "Suspicious Login Attempt Detected",
"details": "Multiple failed login attempts detected from IP 192.168.1.100 targeting admin account",
"type": "Phishing",
"severity": 3,
"owner": "[email protected]",
"createInvestigation": true,
"customFields": {
"sourceip": "192.168.1.100",
"targetuser": "admin",
"attemptcount": 15
}
}

Bulk Create Incidents

{
"integration_service": "cortex-xsoar",
"resource": "incident",
"operation": "bulkCreate",
"incidents": [
{
"name": "Malware Detection - Host A",
"details": "Malicious file detected on workstation",
"type": "Malware",
"severity": 4,
"owner": "[email protected]",
"createInvestigation": true,
"customFields": {
"hostname": "workstation-a",
"malwarehash": "abc123..."
}
},
{
"name": "Data Exfiltration Attempt",
"details": "Large data transfer to unknown external IP",
"type": "Data Leak",
"severity": 4,
"owner": "[email protected]",
"createInvestigation": true
}
]
}

Get Incident

{
"integration_service": "cortex-xsoar",
"resource": "incident",
"operation": "get",
"incidentId": {"mode": "id", "value": "123456"}
}

Search Incidents

{
"integration_service": "cortex-xsoar",
"resource": "incident",
"operation": "search",
"fromDate": "2025-09-03T00:00:00Z",
"toDate": "2025-10-03T00:00:00Z",
"status": "opened",
"severity": 3,
"type": "Phishing",
"owner": "[email protected]",
"limit": 50
}

Update Incident

{
"integration_service": "cortex-xsoar",
"resource": "incident",
"operation": "update",
"incidentId": {"mode": "id", "value": "123456"},
"status": "under_investigation",
"severity": 4,
"owner": "[email protected]",
"details": "Escalated: Additional IOCs discovered",
"customFields": {
"escalationreason": "Additional compromised hosts identified"
}
}

Close Incident(s)

{
"integration_service": "cortex-xsoar",
"resource": "incident",
"operation": "close",
"incidentIds": "123456,123457,123458",
"closeReason": "Resolved - False Positive",
"closeNotes": "After investigation, determined to be benign activity from automated scanning tool"
}

Bulk Update Incidents

{
"integration_service": "cortex-xsoar",
"resource": "incident",
"operation": "bulkUpdate",
"incidents": [
{
"incidentId": "123",
"status": "under_investigation",
"severity": 4
},
{
"incidentId": "124",
"owner": "[email protected]",
"details": "Updated details after further analysis"
}
]
}

Bulk Close Incidents

{
"integration_service": "cortex-xsoar",
"resource": "incident",
"operation": "bulkClose",
"incidents": [
{
"incidentId": "123",
"closeReason": "False Positive",
"closeNotes": "Verified legitimate traffic"
},
{
"incidentId": "124",
"closeReason": "Resolved",
"closeNotes": "Malware removed from endpoint"
}
]
}

Get War Room

{
"integration_service": "cortex-xsoar",
"resource": "warRoom",
"operation": "get",
"incidentId": {"mode": "id", "value": "123456"},
"pageSize": 100,
"categories": ["notes", "commandAndResults"]
}

Add War Room Entry

{
"integration_service": "cortex-xsoar",
"resource": "warRoom",
"operation": "addEntry",
"incidentId": {"mode": "id", "value": "123456"},
"entry": "## Investigation Update\n\nAnalyzed network logs. Confirmed malicious activity from IP 192.168.1.100.\n\n**Next Steps:**\n- Block IP at firewall\n- Reset compromised credentials",
"markAsNote": true
}

Bulk Add War Room Entries

{
"integration_service": "cortex-xsoar",
"resource": "warRoom",
"operation": "bulkAddEntry",
"entries": [
{
"incidentId": "123456",
"entry": "Initial analysis completed",
"markAsNote": true
},
{
"incidentId": "123457",
"entry": "## IOC Found\n\nIP: 192.168.1.100",
"markAsEvidence": true,
"evidenceDescription": "Suspicious IP detected in logs",
"evidenceTags": ["IOC", "network"]
}
]
}

Mark War Room Entry As Note

{
"integration_service": "cortex-xsoar",
"resource": "warRoom",
"operation": "markAsNote",
"incidentId": {"mode": "id", "value": "123456"},
"entryId": "10@123456",
"markAsNote": true
}

Mark War Room Entry As Evidence

{
"integration_service": "cortex-xsoar",
"resource": "warRoom",
"operation": "markAsEvidence",
"incidentId": {"mode": "id", "value": "123456"},
"entryId": "6@123456",
"description": "Critical IOC identified - malicious domain contacted",
"tags": ["IOC", "network", "critical"],
"occurred": "2025-10-20T14:15:30+00:00"
}

Search Evidence

{
"integration_service": "cortex-xsoar",
"resource": "warRoom",
"operation": "searchEvidence",
"incidentId": {"mode": "id", "value": "123456"},
"tags": ["IOC", "malware"],
"limit": 20
}

Severity Levels

Cortex XSOAR uses numeric severity levels:

ValueLabelDescription
0.5InformationalLow-priority informational events
1LowMinor issues with minimal impact
2MediumModerate security concerns requiring attention
3HighSerious security incidents requiring prompt response
4CriticalCritical incidents requiring immediate action

Custom Fields

Cortex XSOAR allows custom fields specific to your instance configuration. Use the customFields parameter with a JSON object containing your custom field definitions:

{
"customFields": {
"sourceip": "192.168.1.100",
"targetuser": "admin",
"alertsource": "SIEM",
"businessunit": "Finance",
"affectedsystems": ["server1", "server2"],
"complianceimpact": true
}
}

Note: Custom field names and requirements vary by XSOAR instance configuration. Consult your XSOAR administrator for available custom fields.

Best Practices

  1. Use Descriptive Incident Names: Create clear, searchable incident names that describe the issue concisely.

  2. Leverage Custom Fields: Utilize custom fields to capture instance-specific metadata for better incident tracking and reporting.

  3. Bulk Operations: Use bulkCreate when creating multiple related incidents to improve efficiency.

  4. War Room Documentation: Regularly add war room entries to document investigation progress and decisions.

  5. Appropriate Severity Levels: Assign accurate severity levels to ensure proper incident prioritization.

  6. Close with Context: Always provide meaningful closure reasons and detailed notes when closing incidents.

  7. Search Optimization: Use date ranges and specific filters in search operations to reduce result sets and improve performance.

  8. Owner Assignment: Assign incidents to specific users or teams for clear ownership and accountability.

  9. Investigation Creation: Enable createInvestigation: true for incidents requiring detailed analysis workflows.

  10. API Key Rotation: Regularly rotate API keys and update credentials in NINA for security.

Troubleshooting

IssueResolution
401 UnauthorizedVerify API Key is correct; check if key has expired
403 ForbiddenEnsure the API key has appropriate permissions/role in XSOAR
404 Not FoundVerify the Server URL is correct and accessible; check incident ID exists
Incident creation failsVerify required fields (name, details, type, severity) are provided; check incident type exists in your XSOAR instance
Custom fields not savingEnsure custom field names match your XSOAR configuration; verify JSON syntax is valid
War room entry failsCheck incident ID is valid and accessible; verify entry content is not empty
Search returns no resultsVerify date format (ISO 8601); check filter parameters match existing incident values
Bulk operation partial failureReview individual item errors in response; ensure all items have required fields
Evidence marking failsEnsure description is provided and timestamp includes timezone (e.g., +00:00 or Z)

Response Structure

Incident Object

Typical incident response includes:

  • id: Unique incident identifier
  • name: Incident name
  • type: Incident type
  • severity: Severity level (0.5-4)
  • status: Current status
  • owner: Assigned user
  • created: Creation timestamp
  • modified: Last modification timestamp
  • details: Incident description
  • customFields: Instance-specific fields

War Room Entry Object

War room entries include:

  • id: Entry ID
  • contents: Entry content
  • created: Creation timestamp
  • user: User who created the entry
  • category: Entry category (e.g., notes, commandAndResults)
  • type: Entry type

Workflow Context

This integration is particularly useful for:

  • Automated Incident Creation: Automatically create XSOAR incidents from threat intelligence feeds, SIEM alerts, or security tool outputs
  • Incident Enrichment: Update incidents with additional context from external sources
  • Multi-Tool Orchestration: Coordinate XSOAR with other security tools in complex workflows
  • Reporting and Metrics: Search and analyze incident data for security reporting
  • Human-in-the-Loop: Add war room entries to document automated investigation steps and request analyst input

Security Considerations

  1. Protect API Keys: Store API keys securely; never commit to version control or expose in logs.
  2. Least Privilege: Create API keys with minimum required permissions for the integration.
  3. Network Security: Ensure XSOAR instance is accessible only from trusted networks.
  4. Audit Logging: Monitor API key usage through XSOAR audit logs.
  5. Key Rotation: Implement regular API key rotation policy (e.g., every 90 days).
  6. Sensitive Data: Be cautious when including sensitive information in incident details or custom fields.