Type to search.

XSOAR connector and action

Serverless

Elastic Cloud Serverless projects are autoscaled environments, fully managed by Elastic and available on Elastic Cloud.

Availability

  • Generally available

    This functionality is generally available and ready for production usage.

Serverless interfaces and procedures might differ from classic Elastic Stack deployments.

Stack 9.1+

The Elastic Stack includes Elastic's core products such as Elasticsearch, Kibana, Logstash, and Beats.

Availability

  • Generally available since 9.1

    This functionality is generally available and ready for production usage.

Unless stated otherwise on the page, this functionality is available when your Elastic Stack is deployed on Elastic Cloud Hosted, Elastic Cloud Enterprise, Elastic Cloud on Kubernetes, and self-managed environments.

This documentation corresponds to the latest patch available for each minor version. If you're not using the latest patch, check the release notes for changes.

The XSOAR connector uses the XSOAR REST API to create Cortex XSOAR incidents from Elastic rules, cases, and Workflows. Use the xsoar.run workflow step when a workflow needs to open an incident in XSOAR and optionally associate it with an XSOAR playbook.

Before creating the connector, prepare the following in XSOAR:

  • An API key that can create or update incidents.
  • For cloud instances, the API key ID, which is the unique serial number for the API key.
  • Optional: an XSOAR playbook to associate with incidents created by Elastic. If you want to select playbooks in Kibana, the API key must also be able to search playbooks.

You can create connectors in Stack Management > Connectors or as needed when you're creating a rule. For example:

XSOAR connector
XSOAR connector

XSOAR connectors have the following configuration properties:

Name
The name of the connector.
URL
The XSOAR instance URL.
API key

The XSOAR API key for authentication.

Note

If you do not have an API key, refer to Create a new API key to make one for your XSOAR instance.

API key ID
The XSOAR API key ID for authentication. This value is mandatory for cloud instance users.

You can test connectors as you’re creating or editing the connector in Kibana. For example:

XSOAR params test
XSOAR params test

The XSOAR connector has the following actions:

Get Playbooks

Retrieve the XSOAR playbooks visible to the connector. In Workflows, use step type xsoar.getPlaybooks.

  • This action does not take parameters.
  • The response contains playbooks, an array of objects with id and name.
Run

Create an incident in XSOAR. In Workflows, use step type xsoar.run.

  • name (required): Incident name.
  • playbookId (optional): ID of the XSOAR playbook to associate with the incident. In the Kibana UI, this is selected from the XSOAR playbooks list.
  • createInvestigation (required): If true, starts the investigation process after the incident is created. The Kibana UI defaults this value to false.
  • severity (required): Numeric incident severity: 0 for Unknown, 0.5 for Informational, 1 for Low, 2 for Medium, 3 for High, or 4 for Critical.
  • isRuleSeverity (optional): If true and the action runs from a rule, the incident uses the rule severity. In workflows, set severity explicitly.
  • body (optional): JSON string with additional XSOAR incident fields to send in the API request. In workflow YAML, use a block scalar (|) to pass formatted JSON. For example, use it to set fields such as details or type.

Dedicated action parameters, such as name, playbookId, createInvestigation, and severity, are added to the same XSOAR incident request as the JSON parsed from body. If the same field appears in both places, the dedicated action parameter takes precedence.

Create an XSOAR incident and associate it with a playbook:

YAML
steps:
  - name: create_xsoar_incident
    type: xsoar.run
    connector-id: <connector-id>
    with:
      name: Suspicious login detected
      playbookId: <xsoar-playbook-id>
      createInvestigation: true
      severity: 2
      body: |
        {
          "details": "Investigate suspicious login activity.",
          "type": "Unclassified"
        }

Use the Action configuration settings to customize connector networking configurations, such as proxies, certificates, or TLS settings. You can set configurations that apply to all your connectors or use xpack.actions.customHostSettings to set per-host configurations.