Introduction
Conditions let you control whether an individual action actually executes during an automation run. Use them to skip an action on certain device types, target specific OS versions, check a custom field value, or branch based on what a previous action did.
How Action Conditions Work
Conditions are configured per action, not per automation. Each action in your pipeline can have its own independent condition set.
When an automation run reaches an action, Level evaluates that action's conditions against the current device. If every condition is satisfied, the action runs. If any condition isn't met, the action is skipped for that device.
Multiple conditions use AND logic — every condition must be satisfied for the action to run. There's no OR option within a single action. If you need OR-style behavior, duplicate the action and apply different conditions to each copy.
ℹ️ NOTE: Action conditions are evaluated at runtime, against the specific device being processed. They're not evaluated at trigger time — a device can pass trigger conditions and still have individual actions skipped based on action conditions.
Configuring Conditions
Conditions are set inside the action configuration panel when adding or editing an action.
ℹ️ NOTE: Actions are only editable in edit mode. From the pipeline view, click Edit in the top-right corner to enter edit mode. Clicking an action outside of edit mode opens a read-only panel showing run history.
Open the action configuration panel by clicking an existing action or adding a new one.
Expand the Conditions section.
Click the Condition dropdown and select a condition type.
Set the association (if applicable), operator, and value.
To add another condition, click + Add new condition.
To remove a condition, click Remove next to it.
Click Save to apply.
Condition Reference
ℹ️ NOTE: OS values are populated dynamically from the OS versions present in your device inventory. If your environment only has Windows devices, only Windows versions will appear. Empty dropdowns mean Level hasn't detected any devices with that attribute yet.
Platform
Filter by the device's operating system family.
Operator | Description |
Equal to | Device OS matches one of the selected platforms |
Not equal to | Device OS does not match any of the selected platforms |
Values: Windows, macOS, Linux. Multiple values can be selected.
Tag
Filter by tags applied to the device.
Operator | Description |
Equal to | Device has all of the selected tags |
Not equal to | Device does not have any of the selected tags |
Select one or more tags from your organization's tag list.
Group
Filter by the device group the device belongs to.
Operator | Description |
Equal to | Device is a member of one of the selected groups |
Not equal to | Device is not a member of any of the selected groups |
Select one or more groups from your group hierarchy.
Status
Filter by whether the device is currently online or offline.
Operator | Description |
Equal to | Device status matches the selected value |
Not equal to | Device status does not match the selected value |
Values: Online, Offline.
Last seen (in days)
Filter by how many days have passed since the device last checked in with Level.
Operator | Description |
Greater than | Device was last seen more than N days ago |
Greater than or equal to | Device was last seen N or more days ago |
Less than | Device was last seen fewer than N days ago |
Less than or equal to | Device was last seen N days ago or fewer |
Enter a whole number of days as a free-text value.
Architecture
Filter by the device's CPU architecture.
Operator | Description |
Equal to | Device architecture matches the selected value |
Not equal to | Device architecture does not match the selected value |
Values: amd64, arm64.
Hostname
Filter by the device's hostname.
Operator | Description |
Equal to | Hostname exactly matches the entered value |
Not equal to | Hostname does not match the entered value |
Contains | Hostname includes the entered string |
Does not contain | Hostname does not include the entered string |
Enter the hostname value manually. Matching is case-insensitive.
💡 TIP: Use Contains to target naming conventions — for example, filtering to devices whose hostname includes SRV or a client prefix.
Variable
Filter based on a variable defined in this automation. The association dropdown lists every variable created for the current automation — variables from other automations don't appear here.
Operator | Description |
Contains | Variable value includes the entered string |
Does not contain | Variable value does not include the entered string |
Equal to | Variable value exactly matches the entered string |
Not equal to | Variable value does not match the entered string |
Enter the value to compare against as free text.
Custom field
Filter based on a custom field value on the device.
Select the custom field from the association dropdown. The list shows all custom fields configured in your organization.
Operator | Description |
Contains | Field value includes the entered string |
Does not contain | Field value does not include the entered string |
Equal to | Field value exactly matches the entered string |
Not equal to | Field value does not match the entered string |
Enter the value to compare against as free text.
💡 TIP: Custom field conditions are useful for branching automation logic by client or site — for example, running an action only on devices where a specific field is populated, or skipping an action where a field indicates a known incompatibility.
Type
Filter by device type.
Operator | Description |
Equal to | Device type matches the selected value |
Not equal to | Device type does not match the selected value |
Values: Workstation, Server.
OS
Filter by the device's specific OS version.
Operator | Description |
Equal to | OS version matches the selected value |
Not equal to | OS version does not match the selected value |
Values are populated from the OS versions present in your device inventory — examples include Windows 11, Windows Server 2022, macOS Sonoma, Debian. Your list reflects what's actually enrolled.
ℹ️ NOTE: OS values are specific version names, not OS families. To filter broadly by operating system type (Windows, macOS, Linux), use a Platform condition in the trigger instead — or use multiple OS conditions with a separate action copy per platform.
Action status
Filter based on the outcome of a previous action in the same automation run, on the same device. The association dropdown lists all actions that appear before this one in the pipeline.
Operator | Description |
Equal to | Prior action result matches the selected status |
Not equal to | Prior action result does not match the selected status |
Value | Description |
Success | The prior action completed without errors |
Failed | The prior action encountered an error |
Skipped | The prior action was skipped (its own conditions weren't met) |
💡 TIP: Action status conditions are the primary tool for building conditional logic in automation pipelines. For example: run a script, then use an Action status = Failed condition on the next action to send a notification or create an alert only if something went wrong.
FAQ
Do action conditions evaluate every time the automation runs, or just once? Every time. Conditions are evaluated fresh on each run, against each device being processed. A device that was skipped last run will be evaluated again on the next one.
Can I use OR logic between conditions on the same action? No. Multiple conditions on the same action always use AND logic — every condition must be satisfied. To get OR-style behavior, duplicate the action and apply different conditions to each copy.
What happens to subsequent actions if this action is skipped? The automation continues to the next action. Skipping an action doesn't halt the run — only a failed action (depending on your error handling settings) would do that.
Can I branch my automation based on whether a script succeeded or failed? Yes. Add an Action status condition to the actions that should run conditionally, and set the value to Success or Failed based on the prior Shell action's result.
Who can configure action conditions? Technicians with permission to edit automations in the relevant group. See Workspace → Permissions for access control configuration.

