# IF - Workflow node | Docs - nodulz

Source: https://nodulz.com/docs/nodes/if

Language: en

Routes execution to the true or false branch based on a field comparison.

## Usage and specifics

Use this node to choose a branch based on data, for example prioritizing requests with an amount greater than or equal to 100.

With the manual payload `{ "amount": 120 }`, configure one condition:

- Field: `input.amount`.
- Operator: **Greater than or equal** (`gte`).
- Value: `100`.

Connect **true** to priority processing and **false** to standard processing. With 120, output contains `result: true`; with 40, it contains `result: false`.

`conditions` details every comparison: `value` is the data read, `compareTo` is the comparison value and `result` is its outcome. With **AND**, all conditions must be true; with **OR**, one is enough. Output describes the decision: to read the request in branches, use `input` or the preparation node’s output.

Equality compares textual representations and is case sensitive. The `gt`, `gte`, `lt` and `lte` operators convert values to numbers. Check separately that an amount is present and valid before making a business decision: an empty value must not be treated as a reliable amount.

Technical type : `if`. Runtime : `nodulz`.

## Credentials and prerequisites

This node defines no dedicated external credential. Remote sources or execution targets may still need their own access credentials.

See the [credentials guide](/docs/credentials) if a remote source or execution target requires access.

## Parameters

Names below are technical keys. Defaults are not a ready-to-run configuration: complete fields required by your operation. Paths containing [] describe list items; some fields depend on the selected mode.

| Parameter | Type | Default | Values / limits |
| --- | --- | --- | --- |
| `combinator` | `enum` | `"and"` | `and`, `or` |
| `conditions` | `array` | `[{"field":"","operator":"equals","value":""}]` | - |
| `conditions[].field` | `string` | `""` | - |
| `conditions[].operator` | `enum` | `"equals"` | `equals`, `not_equals`, `contains`, `not_contains`, `gt`, `gte`, `lt`, `lte`, `empty`, `not_empty` |
| `conditions[].value` | `string` | `""` | - |
| `field` | `string` | - | - |
| `operator` | `enum` | - | `equals`, `not_equals`, `contains`, `not_contains`, `gt`, `gte`, `lt`, `lte`, `empty`, `not_empty` |
| `value` | `string` | - | - |

## Examples

- Field: nodes.http1.body.status
- Connect the true/false handles to different downstream nodes.

## Initial configuration

Initial catalog configuration example, to adapt before running. Keep secrets in credentials.

```json
{
  "combinator": "and",
  "conditions": [
    {
      "field": "",
      "operator": "equals",
      "value": ""
    }
  ]
}
```

## Verification

Test amounts of 120, 100 and 40 to check both branches and the boundary value. Also test input without an amount and provide a rejection path. If the result is unexpected, compare `value`, `operator` and `compareTo` in output, then check true/false connections. The [tutorial](/docs/getting-started) shows the complete flow.

See also : [Expressions and data](/docs/expressions), [Executions](/docs/executions), [Node catalog](/docs/nodes).

## Explore further

- [Features - nodulz](https://nodulz.com/product/overview)
- [Node catalog - nodulz](https://nodulz.com/product/catalog)
- [MCP server - nodulz](https://nodulz.com/product/mcp)
- [Pricing - nodulz](https://nodulz.com/pricing)
- [Use cases and workflow automation - nodulz](https://nodulz.com/use-cases)
- [Choose what your workflows can do. - nodulz](https://nodulz.com/compare)
- [Documentation - nodulz](https://nodulz.com/docs)
