Module: Playbooks
The ThreatConnect TcEx App Framework provides common helper methods to write a Playbooks App. The Playbooks
module provides all required methods to communicate with upstream and downstream Apps.
Understanding Playbooks
A Playbook App is a single component of a Playbook. These Apps are intended to be reusable, standalone components with minimum functionality to solve a single purpose. Multiple Playbook Apps will make up a Playbook that solves a use case. For more information on Playbook methodology and functionality, refer to the Playbooks documentation at: https://docs.threatconnect.com/en/latest/rest_api/playbooks/playbooks.html.
Playbook Flow
As a Playbook starts execution, each App will have input and output variables. The input variables can be user-provided data or output from an upstream App. The App’s input and output variables are defined in the App-Deployment Configuration file of the App. A downstream App has access to all output variables from any upstream Apps.
Note
An upstream App is an App that has completed execution prior to the current App’s execution.
Input Variables
Inputs to an App can be static user data or dynamic output variables from a trigger or upstream App. The Playbooks
module provides the read
method for pulling dynamic data from an upstream App. The read
method will automatically determine the variable type for the App developer. If user data was passed instead of the output variable, the read
will return the unaltered string.
Tip
The read
method will also handle mixed-type data by automatically calling the read_embedded
method when a mixed-type variable is identified.
Output Variables
Playbook Apps write output variables for downstream Apps. The Playbooks
module provides the create
method for writing output variables. However, output variables should only be written when requested by a downstream App. The requested variables are passed in the args.tc_playbook_out_variables
argument as a CSV string. The Playbooks
module provides the create_output
method that will validate that a downstream App requested the output variable before writing.
Hint
In most cases, the create_output
method is the best way to write output variables.
Variable Types
When output variables are passed to the input of an App, the variable type is defined. In some cases it is useful to know the type of variable passed. The Playbooks
module provides the variable_type
method that will return the variable type.
Binary
BinaryArray
KeyValue
KeyValueArray
String
StringArray
TCEntity
TCEntityArray
Note
For more information on Playbook variable types or updated types, see the Playbooks documentation.