Compound condition (AND / OR / NOT)
The Compound Condition robot evaluates several conditions with AND, OR and NOT grouping in Bitrix24 (Alaio) business processes and robots. It accepts up to four value pairs with comparison operators (eq, neq, gt, lt, contains, is_empty and more) or a JSON tree of arbitrary nesting, and returns a single Y/N flag for conditional branching.
The robot combines several checks into a single condition, replacing chains of nested Condition blocks in the workflow designer. Flat mode takes up to four value A — operator — value B pairs and AND or OR combining logic; JSON mode supports arbitrary nesting of and, or and not groups. Operators: eq, neq, gt, lt, gte, lte, contains, not_contains, starts_with, ends_with, is_empty, not_empty, matches; string comparison is case-insensitive by default. Typical use cases: before a deal stage change, verify the amount exceeds a threshold and the contact phone is filled; route a lead down the right branch when the source is advertising or the website. It returns a Y/N flag — compare it in the condition of the next step of the business process.
What input parameters does the robot accept?
| Parameter | Type | Required? | Default |
|---|---|---|---|
| Conditions as JSON (takes priority over flat mode). Format: {"and":[{"a":"X","op":"==","b":"Y"},{"or":[...]}]} | string | — | |
| Combining logic: AND (all must be true) / OR (at least one) | string | — | |
| Condition 1 — value A | string | — | |
| Condition 1 — operator (==, !=, <, >, contains, is_empty …) | string | — | |
| Condition 1 — value B | string | — | |
| Condition 2 — value A | string | — | |
| Condition 2 — operator | string | — | |
| Condition 2 — value B | string | — | |
| Condition 3 — value A | string | — | |
| Condition 3 — operator | string | — | |
| Condition 3 — value B | string | — | |
| Condition 4 — value A | string | — | |
| Condition 4 — operator | string | — | |
| Condition 4 — value B | string | — |
What does the robot return?
| Parameter | Type |
|---|---|
| Result (Y/N) | string |
What errors can the robot return?
The robot writes these messages to the business process log when it cannot complete a step. The text tells you what to fix in the settings or the data.
- Error: invalid JSON in conditions_json
- Error: no conditions defined
Scenario: deal check before a stage change
- A deal enters the Approval stage
- The robot checks that the amount is over 100000 AND the source equals Website
- On Y the process moves the deal forward, on N it returns the deal to the manager
Related robots
Related articles
- Previous deal stage in Bitrix24: why an automation rule cannot see it
- Bitrix24 automation rule did not run: how to find out why
- Changing the responsible person in Bitrix24: manually, in bulk, by robot, and how to lock it
- Vacation management in Bitrix24: status, absence chart, and approval workflow
- Approval workflows in Bitrix24: routes, approval sheet and deadlines
- Automation rules in Bitrix24: setup guide and what to do when the stock ones fall short
- Smart Process Automation (SPA) in Bitrix24: when and how to use it
- Bitrix24 workflows: how to build a business process without drowning in the designer
- Duplicate deals in Bitrix24: how to find and prevent duplicates
- Robots not working in Bitrix24: step-by-step diagnostics and the log
- Sales funnel report in Bitrix24: why it lies and how to fix it
- PHP in Bitrix24 business processes: where it works and what replaces it
- Contract approval in Bitrix24: a step-by-step business process
- Document approval in Bitrix24: routes, approval sheet, and deadlines
- Invoice approval in Bitrix24: the feed, a smart process, or a business process
- Lists in Bitrix24: registries, business processes, and the limits of their use
- Triggers in Bitrix24: what they are, how they differ from robots, and why they don't fire
- The "if — then" condition in Bitrix24 robots: complex checks without code
- Pipelines in Bitrix24: configuring stages, tunnels, and automation on every stage
- Dependent fields, hidden fields and card sections in Bitrix24: no developer needed