> For the complete documentation index, see [llms.txt](https://docs.work-relay.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.work-relay.com/forms/basics/working-with-conditions.md).

# Working with conditions

Conditions allow to apply [styles](/forms/basics/conditional-styles.md), [actions](/forms/form-building/form-action.md), [events](/forms/form-building/events.md) and etc. conditionally. They are used in a various places on forms.

## Adding conditions

To add a new Condition click "Add" button and configure conditions.

![](/files/c257eb5295766cb7b06305396fa25e2f54ab9d58)

{% stepper %}
{% step %}

### Select o**bject**

Conditions work with different type of context objects:

* **Parameters** - context parameters passed to the action/event/...
* **Form** - form components
* **Variables** - form variables
* **Form Object** - source object field values (Note! changes done on form not reflected here)
* **FormParameters** - parameters, passed to the form
* **User** - current User info
* **System** - the system global information like current date/time, organization name, etc.

Types can differ depend on context where conditions are used.

See more details on each context cbject type at [Context objects article](/forms/form-building/context-objects.md).
{% endstep %}

{% step %}

### Select f**ield/parameter**

Field/Parameter values will differ depend on selected context object. There can be field name, variable name, parameter name (need to be typed manually), etc.
{% endstep %}

{% step %}

### Select operator

Can be different depending on selected field type. Numeric and date/time fields contain equation operators (less, greater, etc.), string fields contain text operators (Contains, Starts with, Includes, etc).
{% endstep %}

{% step %}

### Select v**alue type**

* **Parameters** - context parameters passed to the action/event/...
* **Form** - form components
* **Variables** - form variables
* **Static -** allows to enter static value or merge field(s)
  {% endstep %}

{% step %}

### Provide value

Value depends on selected Value Type. There can be a picker for picklist-like fields, inputs for numbers, dates and strings, checkboxes for boolean.
{% endstep %}
{% endstepper %}

You can enter as many conditions as required. By default all conditions will be combined with AND logic (so, no need to add it at all):

![](/files/c5a32009696b29edc5d19b2ee87da7ced9eb242c)

You can set custom combining using logical operators, brackets and condition indexes like `{1}`:

![](/files/7a8093097f5fd13c25a58ec2dd9990f291f20a64)
