Filtering
Filters narrow down the rows that go into each aggregation and group. They are AND-combined; there is no OR-group support. The server enforces a per-field operator allow-list, so the exact subset of operators you can use depends on the field.Filter object structure
- Field filters
- Metadata filters
For standard datasource fields, use
fieldName:Filterable fields
The agent-specific string fields (
agentName, agentFramework, agentServerType) accept the narrow set IN, NOT_IN, STRING_CONTAINS, STRING_STARTS_WITH, STRING_ENDS_WITH. IS_NULL is not supported on these fields; sending it returns 400 Bad Request with Field "agentName" does not support operator "IS_NULL". EQUAL and NOT_EQUAL are only supported on subject fields (userEmail, virtualAccount) and conversationID.Filter operators
String field operators
Numeric field operators
Boolean field operators
Array field operators (used by team)
Custom metadata filtering and grouping
Every datasource supports filtering and grouping by custom request-metadata keys:- Filter:
{ "metadataKey": "environment", "operator": "EQUAL", "value": "prod" } - Group: include
"metadata.environment"in thegroupByarray.
Implicit team unnesting
Whenteam is in groupBy (or used as the column of an aggregation), the server transparently UNNESTs the Teams array CTE before applying RBAC. Callers don’t need to do anything extra. Rows whose Teams array is NULL or empty drop out naturally.