# Conditional Tasks

Any task can be made conditional, that means the task will only be executed if some parameter value matches a condition.

```xml
<task class="..." if="${foo}" equals="true">
    ...
<task>
```

The current set of operators supported are:

* `if="..." equals="..."`
* `if="..." notequals="..."`
* `if="..." isempty="true"`
* `if="..." hasmultiple="true"`
* `if="..." gt="..."`
* `if="..." ge="..."`
* `if="..." lt="..."`
* `if="..." le="..."`

Note the syntax of the `if` condition: Either side can use parameter placeholder.

If the parameter has a value like `foo||bar` i.e. created as a result of a request such as `?param=foo&param=bar`, then the equals=".." will check if any of the values match, and notequals=".." will check that none of the values match the value.

For the `gt`, `ge`, `lt`, `le` operators the comparison values will be treated as numbers (decimal). If either side are empty or not parseable as a number, the comparison is false.

The right hand side of `isempty` and `hasmultiple` can be `true` or `false`.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://onestopconcept.gitbook.io/open-endpoints/configuration/tasks/conditional-tasks.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
