Input and Output Variables
InsightConnect data passes between steps of a workflow as Input and Output. These must be configured for each step in a workflow in order to correctly pass information.
InsightConnect supports the following data types for step Input and Output:
- String: A series of alphanumeric and special characters E.g. abc123#$%
- Integer: A number E.g. 42
- Boolean: A binary variable, having two possible values, often seen as true or false
- Array: A list of items in double quotes (E.g. [ "item1", "item2", "item3'"])
- Object: A JSON element that InsightConnect cannot break apart, but if the user knows the data within, can call to items within (E.g. { "address": "1.2.3.4", "port": 22 })
Input
Inputs are the data you pass into a step. Inputs are determined by the plugin you choose, and each input may expect a different variety of variables or parameters. Additionally, depending on the plugin, you may have more than one input.
Inputs are not necessarily single variable/parameter inputs. Many can utilize multiple variables or parameters within them. Again, this depends on the plugin or step type you choose.
Aside from the tag-like variable graphic representation, inputs also have the namespace variable format {{["Step Name"].[Value]}}
.They typically display in the UI as "Step Name.Value."
Output
Outputs are the data a step produces. Each step's output type is determined by the plugin or type of step. In some use cases, the output will be related to the input, and can give you an idea of what’s expected in the input if that isn’t clear enough.
Edit Output Schema
You can modify output variable names and data types to fit your needs. The default, pre-set output variables will typically cover most needs and situations, but you can edit your output variables if your organization requires further customization.
Variable changes can impact following steps!
If you edit a step’s output variables, check that any steps ingesting the updated variables as input use the correct name and data type.
To edit output variables for a step:
- In the step configuration panel, click on the Edit button in the “Output” section.
- Edit the variable names and data types as needed.
- Click Save. Your changes will be reflected in the output variables list.
If you modify the output variables for a Python plugin action step, make sure that your output schema variable names exactly match the return statement variables in your Python run
function.
Save, Reset, and Close
Make sure to click Save to keep any changes you make to output variables. If you close the configuration panel with the x button in the upper-right corner, your most recent updates will not be saved.
Reset Output Variables to Defaults
Clicking Reset in the output variables configuration panel will remove ALL customizations made from the default variables originally generated by InsightConnect.
Be careful with the **Reset** button
Do not use the Reset button to remove changes made in a single output session unless you wish to restore InsightConnect default output!
Always use the x button to close out of the output variable configuration panel if you don’t want to save the current session of changes.
General Step Rules
All steps share these requirements.
Step Naming Requirements
Valid Characters
When creating names for any workflow steps, you must meet certain requirements to avoid step errors.
Valid Characters:
- Dashes
-
- Underscores
_
- Question marks
?
- letters A-Z (or a-z)
- numbers 0-9
- spaces, such as whitespace or tabs
To give a more concrete way to evaluate a step name, any string of text which can pass the following regex in javascript, should be considered potentially valid (see below about Unique Names): /^[-_a-zA-Z0-9\s?\/]+$/
Unique Names
Any step name which only contains the above list of valid letters is not considered valid. The name must also be unique amongst other step names in the workflow. Thus, if you had 2 decision steps, you could not name both of them Big Decision
. This is true across all step types.
Additional Resources
If you have further questions relating to InsightConnect, try starting a discussion in the Rapid7 Discuss community forum.
Related Posts