Step Library Reference

Every step available in the Action library: its purpose, kind, input parameters, and output. The same information is available in the product on the Help tab of the Configure panel of each step. All steps use DSL version v1.

The parameter names in the tables below are the identifiers used in the workflow JSON document. In the Configure panel, the same parameters appear with friendly labels — for example, os_kind appears as Os Kind, requiredGB appears as Required GB, and execution_strategy appears as Execution Strategy. Every panel also offers the Save node result check box, which stores the step output so that a later Switch step can evaluate it; keep it selected — clearing it has no special use in version 1.0.

Table 1. Step library overview
Category Step Kind Summary
BigFix Action Script Action Runs a provided BigFix ActionScript.
BigFix Relevance Check Evaluates a Relevance expression.
BigFix Script Action Runs a provided Bash, PowerShell, or Batch script.
File System File Copy Action Makes a copy of a file.
File System Directory Action Creates or removes a directory.
File System Dir Exists Check Checks directory existence.
File System Disk Space Check Checks available disk space.
File System File Exists Check Checks file existence.
File System Path Exists Check Checks path existence and type.
Flow Control Stop Flow Stops the execution with an optional exit code.
Flow Control Switch Flow Splits the execution into branches.
Maintenance Disk Cleanup Action Frees disk space by running cleanup operations.
Operating System OS Check Checks if the OS matches a given condition.
Operating System Service Action Manages the service status and startup type.
Operating System Service State Check Gets the current state of a service.
Package Package Exists Check Checks whether matching packages are within the allowed limit.
Package Package Install Action Installs software using an MSI or EXE silent installer.
Package Package Uninstall Action Uninstalls matching Windows packages.
Note:
In version 1.0, all steps run on Windows targets only (see Known limitations); platform information is therefore not listed per step.

BigFix: Action Script (Action)

Runs any BigFix ActionScript code inside the workflow as-is. If the execution of the provided ActionScript fails, the workflow ends with the exit code provided within the ActionScript.

Table 2. Action Script parameters
Parameter Type Mandatory Description
script multiline Yes Script content to be executed.

Output: this step does not return any value.

Figure 1. Configure panel of the Action Script step

Configure panel of the Action Script step showing the Script field

BigFix: Relevance (Check)

Evaluates Relevance and either returns its value (with the return execution strategy) or breaks the workflow when the expression evaluates to false. To use the exit execution strategy, the Relevance must evaluate to a boolean value; if it evaluates to a non-boolean value, the workflow returns the value. For example, product info string of operating system requires return (not boolean), while exists service "acmesrv" works with both return and exit.

Table 3. Relevance parameters
Parameter Type Mandatory Description
relevance relevance Yes Relevance to be evaluated.
execution_strategy enum Yes return returns the evaluated Relevance; exit immediately exits the workflow when the Relevance evaluates to false. Options: return, exit.

Output: boolean — the value of the evaluated Relevance.

Figure 2. Configure panel of the Relevance step

Configure panel of the Relevance step showing the Relevance field and Execution Strategy list

BigFix: Script (Action)

Runs a provided Bash, PowerShell, or Batch script.

Table 4. Script parameters
Parameter Type Mandatory Description
script multiline Yes Script to be executed.
type enum Yes The type of the script. Options: Bash, PowerShell, Batch. Use PowerShell or Batch; Bash is not supported on the Windows targets of version 1.0.
currentuser boolean No Run the script as the currently logged-in user. Default: false — run as root / Local System.
timeout integer No Maximum run time, 15 to 1800 seconds (30 minutes). Default: 300 seconds.
tempScriptPath string No Temporary script file path. Default format: %Temp%\bigfix_script_$random$.ps1
tempScriptPathLog string No Temporary log file path. Default format: %Temp%\bigfix_script_$random$.log

Output: boolean — true if the execution was successful, false otherwise.

Figure 3. Configure panel of the Script step

Configure panel of the Script step showing the Script field, Type list, Currentuser check box, Timeout, and temporary path fields

File System: File Copy (Action)

Copies the given file to the destination, with the option to overwrite. If the operation fails, the workflow is interrupted.

Table 5. File Copy parameters
Parameter Type Mandatory Description
source path Yes Full path to the file to be copied, for example C:\source\file.ext.
destination path Yes Full path to the destination file, for example C:\destination\fileNew.extOther.
overwrite boolean No Overwrite the destination if it exists. Default: false.

Output: boolean — true when the copy was successful, false otherwise.

Figure 4. Configure panel of the File Copy step

Configure panel of the File Copy step showing the Source, Destination, and Overwrite fields

File System: Directory (Action)

Creates or removes a directory.

Table 6. Directory parameters
Parameter Type Mandatory Description
path path Yes Full path to the directory to be managed.
state enum Yes Desired state. Options: exists, absent.

Output: boolean — true when the directory is in the desired state, false otherwise.

Figure 5. Configure panel of the Directory step

Configure panel of the Directory step showing the Path field and State list

File System: Dir Exists (Check)

Checks whether the given directory exists or does not exist.

Table 7. Dir Exists parameters
Parameter Type Mandatory Description
path path Yes Full path to the directory.
exists boolean No Whether the directory is expected to exist. Default: true.
execution_strategy enum Yes exit ends the workflow immediately if the path does not match the exists condition; return passes the result to a Switch. Options: return, exit.

Output: boolean — true when the directory matches the expected state, false otherwise.

Figure 6. Configure panel of the Dir Exists step

Configure panel of the Dir Exists step showing the Path field, Exists check box, and Execution Strategy list

File System: Disk Space (Check)

Checks the free disk space on the system drive and reports whether it meets a required threshold.

Table 8. Disk Space parameters
Parameter Type Mandatory Description
drive string No Drive letter to check (for example, C:).
requiredGB integer Yes Minimum required free disk space in GB.
execution_strategy enum No exit ends the workflow immediately if the condition is not met; return passes the result to a Switch. Options: return, exit.

Output: boolean — true when the free disk space is at least requiredGB, false otherwise.

Figure 7. Configure panel of the Disk Space step

Configure panel of the Disk Space step showing the Drive, Required GB, and Execution Strategy fields

File System: File Exists (Check)

Checks whether the given path points to the file and the state matches the exists parameter.

Table 9. File Exists parameters
Parameter Type Mandatory Description
path path Yes Full path to the file.
exists boolean No Whether the file is expected to exist. Default: true.
execution_strategy enum Yes exit ends the workflow immediately if the file does not match the exists condition; return passes the result to a Switch. Options: return, exit.

Output: boolean — true when the file matches the desired state, false otherwise.

Figure 8. Configure panel of the File Exists step

Configure panel of the File Exists step showing the Path field, Exists check box, and Execution Strategy list

File System: Path Exists (Check)

Checks whether the given path exists and returns whether it points to a directory or a file.

Table 10. Path Exists parameters
Parameter Type Mandatory Description
path path Yes Full path to the file or directory.
exists enum No Expected state. Options: NOTEXISTS, DIR, FILE.
execution_strategy enum Yes exit ends the workflow immediately if the path does not match the exists condition; return passes the result to a Switch. Options: return, exit.

Output: enum — NOTEXISTS (the path does not exist), DIR (the path points to a directory), or FILE (the path points to a file).

Figure 9. Configure panel of the Path Exists step

Configure panel of the Path Exists step showing the Path field, Exists list, and Execution Strategy list

Flow Control: Stop (Flow)

Ends the workflow in a Switch branch immediately, keeping the workflow short and clean. You can also provide an explanatory message about the reason.

Table 11. Stop parameters
Parameter Type Mandatory Description
code integer No Exit code to be used. Default: 1.
message string No Additional message to be mapped to the exit code / line number.

Output: ends the workflow execution with the provided exit code.

Figure 10. Configure panel of the Stop step

Configure panel of the Stop step showing the Code and Message fields

Flow Control: Switch (Flow)

Splits the execution into two or more flows depending on result values from previous steps. There is always a default flow. The order of the branches is the order of evaluation, so the flow enters the first matched branch; in each subsequent branch, the conditions of the branches above were not met. A Switch node cannot be the first step of a workflow. Use a check step with execution_strategy set to exit when no alternate flow is expected, or the dedicated Stop step to exit the workflow at any time. For the branch configuration procedure, see Branching with the Switch step.

Maintenance: Disk Cleanup (Action)

Performs modern disk cleanup on Windows using PowerShell: handles the Recycle Bin, system and user Temp folders, Storage Sense, and DISM Component Store cleanup. When no option is selected, the step still executes and only ensures that the Temp folder exists.

Table 12. Disk Cleanup parameters
Parameter Type Mandatory Description
emptyRecycleBin boolean No Empty the Recycle Bin for all drives.
cleanSystemTemp boolean No Clean system-wide Temp and Prefetch folders.
cleanUserTemp boolean No Clean Temp folders for all user accounts.
runStorageSense boolean No Trigger the Storage Sense scheduled task.
runDeepCleanup boolean No Deep system cleanup (Windows Component Store via DISM).

Output: boolean — true when the selected operations were successful, false otherwise.

Figure 11. Configure panel of the Disk Cleanup step

Configure panel of the Disk Cleanup step showing Empty Recycle Bin, Clean System Temp, Clean User Temp, Run Storage Sense, and Run Deep Cleanup check boxes

Operating System: OS (Check)

Evaluates whether the current operating system matches the provided criteria and returns a boolean result. The step always checks os_kind, and optionally refines the match with min_version, arch, and os_edition. When all provided conditions match, the output is true; otherwise it is false. With execution_strategy set to exit, the workflow stops immediately when the condition is false. Example: os_kind = Windows, min_version = 10.0, execution_strategy = return checks for Windows 10 or later and continues with the boolean result.

Table 13. OS parameters
Parameter Type Mandatory Description
os_kind enum Yes Kind of operating system. Options: Windows, macOS, Linux, Solaris, AIX.
os_edition string No Edition as reported by product info string of operating system. Leave empty to match any edition. Examples: Enterprise, Professional, Datacenter.
min_version string No Minimum version as reported by the BigFix Relevance version of operating system.
arch string No Architecture as reported by the BigFix inspector arch of operating system. Examples: x86_64, i386, i686, amd64, ARM64, armv7l, ppc, ppc64, ppc64le.
execution_strategy enum Yes return returns the boolean match result and continues; exit immediately stops the workflow when the condition is false. Options: return, exit.

Output: boolean — true if the device OS matches the criteria, false otherwise.

Figure 12. Configure panel of the OS step

Configure panel of the OS step showing Os Kind, Os Edition, Min Version, Arch, and Execution Strategy fields

Operating System: Service (Action)

Manages the service state and startup type: start (start the service; if disabled, first set its startup type to manual), stop (stop without changing the startup type), restart (restart; if disabled, first set the startup type to manual), disable (stop the service and set the startup type to disabled), auto (set the startup type to automatic and start), auto_delayed (automatic delayed start, then start), and manual (set the startup type to manual without changing the running state). The step returns false instead of exiting when validation fails, the service does not exist, the requested state is unsupported, or a service command fails.

Table 14. Service parameters
Parameter Type Mandatory Description
service string Yes Name of the service as managed by the operating system.
state enum Yes The desired service action. Options: start, stop, restart, disable, auto, auto_delayed, manual.

Output: boolean — true when all commands for the requested action complete successfully; false when validation or command execution fails.

Figure 13. Configure panel of the Service step

Configure panel of the Service step showing the Service field and State list

Operating System: Service State (Check)

Determines whether the monitored service is operating correctly. This check step intentionally does not provide the execution_strategy capability.

Table 15. Service State parameters
Parameter Type Mandatory Description
service string Yes Name of the service to inspect.

Output: enum — the current service status: RUNNING, STOPPED, NOTFOUND, DISABLED, STOPPING, UNKNOWN, STARTING, PAUSED, PAUSING, CONTINUING.

Figure 14. Configure panel of the Service State step

Configure panel of the Service State step showing the Service field

Package: Package Exists (Check)

Checks for installed packages by name and optional version. If Winget is available, the step reads winget list and compares the supplied name and version with each result using case-insensitive exact, wildcard, or regular-expression matching. If Winget is unavailable, the step uses Get-Package, passing the name to -Name and a supplied version to -RequiredVersion. An empty version or * disables version filtering. The output is true when the number of matches is between 1 and expected_instances, inclusive; false when there are no matches or the count exceeds expected_instances. A Winget query failure, an unavailable PackageManagement module on the fallback path, or an unexpected PowerShell exit code fails the step instead of returning false. Examples: name: PuTTY release 0.85 (64-bit); with version: 0.85.0.0; fallback wildcard PuTTY*; Winget regular expression ^(Notepad\+\+.*|7-Zip.*)$.

Table 16. Package Exists parameters
Parameter Type Mandatory Description
name string Yes Package name pattern (exact, wildcard, or regular expression on the Winget path; passed to Get-Package -Name on the fallback path).
version string No Optional version pattern. Empty or * disables version filtering.
expected_instances integer No Maximum number of matches allowed for a true result. Valid values: 1–5. Default: 1.
execution_strategy enum Yes return returns false to the workflow; exit ends the workflow when the result is false. Options: return, exit.

Output: boolean — true when 1 through expected_instances packages match; false when no packages match or the count exceeds expected_instances.

Figure 15. Configure panel of the Package Exists step

Configure panel of the Package Exists step showing Name, Version, Expected Instances, and Execution Strategy fields

Package: Package Install (Action)

Uses the BigFix Platform to fetch the installation media from the provided URL, push it to the device, and run the supplied installation command. You must manually supply the size and checksums; the package is validated against the checksum every time the URL is used, and a wrong SHA checksum fails the workflow on the BigFix Platform side. A cached version based on the checksum is used when already cached. Supported media are MSI and executable: for an MSI the step executes msiexec.exe /i <filename> <parameters>; for an executable it runs <filename> <parameters>. There is no single standard for EXE wrappers — refer to the product documentation for silent-install switches, prefer MSI (/quiet /norestart), and always test the installation procedure in a lab first.

Table 17. Package Install parameters
Parameter Type Mandatory Description
url url Yes URL of the package.
parameters string No Silent install parameters.
timeout integer No Maximum installation time, 15 to 1800 seconds (30 minutes). Default: 600 seconds.
filename string Yes Installer file name to save under __Download. Must have the .msi or .exe extension.
sha1 string Yes Expected SHA1 checksum.
sha256 string Yes Expected SHA256 checksum.
size string Yes Expected package size in bytes.

Output: boolean — true when the installation was successful, false otherwise.

Figure 16. Configure panel of the Package Install step

Configure panel of the Package Install step showing the Url, Parameters, Timeout, Filename, Sha1, Sha256, and Size fields

Package: Package Uninstall (Action)

Finds and uninstalls matching Windows packages. If Winget is available, the step reads winget list, matches by name and optional version (case-insensitive exact, wildcard, or regular expression), and uninstalls each match by its exact Winget package ID with silent and non-interactive options. If Winget is unavailable, the step uses Get-Package and passes each result to Uninstall-Package -Force. An empty version or * disables version filtering. The step stops before uninstalling when there are no matches or the match count exceeds expected_instances. After all uninstall commands report success, the step re-checks the list up to 10 times, waiting two seconds between attempts, and reports success only when no matches remain.

Table 18. Package Uninstall parameters
Parameter Type Mandatory Description
name string Yes Package name pattern (exact, wildcard, or regular expression on the Winget path; passed to Get-Package -Name on the fallback path).
version string No Optional version pattern. Empty or * disables version filtering.
expected_instances integer No Maximum number of matching packages that may be uninstalled. Valid values: 1–5. The step fails before uninstalling when no packages match or the count exceeds this value. Default: 1.
timeout integer No Maximum execution time in seconds, 15–1800. The PowerShell process is terminated at timeout. Default: 300.

Output: boolean — true only when all uninstall commands report success and the verification query finds no remaining matches; otherwise false.

Figure 17. Configure panel of the Package Uninstall step

Configure panel of the Package Uninstall step showing Name, Version, Expected Instances, and Timeout fields