JSON Queries
A guide to using JSON queries for filtering and retrieving data in FlowAgent.
When to Use
Use this page when you want to filter, search, or retrieve data using JSON in forms, widgets, action buttons, or automations.
How It Works
- JSON queries are arrays of conditions:
[key, operator, value]
. - Used in action buttons, forms, widgets, power searches, and apps.
- Combine multiple conditions for advanced filtering.
Usage Example
Query for items with a specific custom field and type:
{
"query": [
["cf151.string", "=", "abc"],
["moduleitemtype_id", "=", 10]
]
}
Supported Operators
You can use the following operators in your JSON queries:
=
: Equals (e.g.,["status", "=", "active"]
)!=
: Not equal (e.g.,["type", "!=", "archived"]
)>
: Greater than (e.g.,["age", ">", 18]
)>=
: Greater than or equal (e.g.,["score", ">=", 10]
)<
: Less than (e.g.,["quantity", "<", 5]
)<=
: Less than or equal (e.g.,["price", "<=", 100]
)LIKE
: SQL LIKE for partial string matches (e.g.,["name", "LIKE", "%john%"]
)NOT LIKE
: SQL NOT LIKE (e.g.,["email", "NOT LIKE", "%@test.com"]
)IN
: Value is in a list (comma-separated or array) (e.g.,["color", "IN", "red,green,blue"]
)NOT IN
: Value is not in a list (e.g.,["status", "NOT IN", "cancelled,draft"]
)FIND_IN_SET
: Value is found in a comma-separated set (e.g.,["tags", "FIND_IN_SET", "[user]"]
)FIND_IN_GROUP
: Field value is found in a comma-separated string (e.g.,["user_id", "FIND_IN_GROUP", "1,2,3"]
)
Grouping:
- Use
(
and)
as the key to group conditions (e.g.,["("]
,["status", "=", "active"]
,["type", "=", "admin"]
,["), OR"]
) - The fourth parameter in a condition can be
AND
orOR
to control logic between conditions.
Tips
- Replace keys and values with your actual field/module IDs.
- String comparisons are case-insensitive by default.
- Use arrays or comma-separated strings for
IN
andNOT IN
. - Use grouping for complex queries.