Splunk® SOAR (On-premises)

Develop Apps for Splunk SOAR (On-premises)

The classic playbook editor will be deprecated in early 2025. Convert your classic playbooks to modern mode.
After the future removal of the classic playbook editor, your existing classic playbooks will continue to run, However, you will no longer be able to visualize or modify existing classic playbooks.
For details, see:

Splunk SOAR apps overview

Splunk SOAR apps provide a mechanism to extend by adding connectivity to third party security technologies in order to run actions. Given the broad set of technologies that can be orchestrated during a cyber response exercise, apps provide some relief in allowing users and partners to add their own custom functionality.

Splunk SOAR apps are developed by engineers knowledgeable in Python and modern web technologies.

To develop a Splunk SOAR app, start with the app wizard:

  1. From the main menu, select Apps.
  2. Click App Wizard.

Splunk SOAR app architecture

Splunk SOAR apps are written in Python to create a bridge between and other security device/applications. Think of them as having two strict edges:

  • One of the edges is given an action to be carried out on behalf of .
  • An app on the opposite edge converts the action into specific commands to communicate with its device or service.

The result of these actions are read by the app and passed back to . This simple design helps facilitate automated actions that are carried out by on behalf of the user.

This screen image shows three boxes. These boxes are Splunk SOAR, App, and Device/Service. The action arrows connect Splunk SOAR to App, and App to Device/Service. The result arrows connect Device/Service to App, and App to Splunk SOAR.

The first edge is implemented by a rich set of Python APIs that the platform exposes to the app developer through a base class.

Apps distributed by Splunk SOAR or third parties are transmitted as .gzip archives that you can import into Splunk SOAR.

Splunk SOAR app components

A Splunk SOAR app consists of a number of components.

Component Description
__init__.py Required to initialize and define a Python package. You can use an empty file.
sampleapp.json JSON metadata that describes the app and functionality that the app provides
sampleapp_connector.py The App Main Connector Module (Python script) that implements the actions that are provided by the app. This module is a class that is derived from the BaseConnector class.
sampleapp_view.py Optional widget view. This is a view, in the context of standard MVC framework. Splunk SOAR is built on Django, an open source Python-based MVC framework. Splunk SOAR will load views that you have specified within your JSON meta-data file dynamically. Full documentation on views and templates is available on the Django documentation website.
sampleapp_view.html Optional widget template. The template defines how the information within the view is to be rendered and displayed. The full complement of Django tags are available within a template.

This image shows how the various components interact with each other.

This scene image shows the relationship among the Splunk SOAR app components. The components are described in the table immediately preceding this image.

Last modified on 25 May, 2023
  Optional: Set up a development environment for

This documentation applies to the following versions of Splunk® SOAR (On-premises): 5.1.0, 5.2.1, 5.3.1, 5.3.2, 5.3.3, 5.3.4, 5.3.5, 5.3.6, 5.4.0, 5.5.0, 6.0.0, 6.0.1, 6.0.2, 6.1.0, 6.1.1, 6.2.0, 6.2.1, 6.2.2, 6.3.0, 6.3.1


Was this topic useful?







You must be logged into splunk.com in order to post comments. Log in now.

Please try to keep this discussion focused on the content covered in this documentation topic. If you have a more general question about Splunk functionality or are experiencing a difficulty with Splunk, consider posting a question to Splunkbase Answers.

0 out of 1000 Characters