Session Filtering

The Sessions tab in the app (https://app.voicerun.com/agents/{agentId}/sessions) has a Filter Sessions query field that accepts a SQL-like filter syntax:

status IN (completed, in_progress) AND environment = prod

Each condition is field operator value, and multiple conditions are combined with AND.


Fields#

FieldDescriptionOperatorsExamples
statusSession status: connecting, in_progress, completed, failed=, INstatus = completed
environmentEnvironment name or ID=, INenvironment = prod
directionCall direction=, INdirection = inbound
originWhere the session came from (e.g. phone, debugger)=, INorigin = phone
sessionSession ID=, INsession = 456
callTelephony call ID=, INcall = 456
timestampSession creation time=, >, <, >=, <=timestamp >= 2026-01-01
tagsSession tags (see Tags)=, INtags = region:us-east

Operators#

  • = — exact match: status = completed
  • IN (a, b, c) — matches any of the listed values: status IN (completed, failed)
  • >, <, >=, <= — comparisons, useful for timestamp
  • AND — combines conditions. OR is not supported; to match multiple values of one field, use IN.

Quotes around values are optional — environment = prod and environment = 'prod' are equivalent. Use quotes when a value contains spaces.

Date ranges#

Apply two timestamp conditions to filter a range:

timestamp >= 2026-08-01 AND timestamp <= 2026-08-31

Values are parsed as dates in your browser's timezone and converted to UTC before querying.

Filtering by tags#

Tags match on the exact, full tag string in key:value format — there is no partial or prefix matching:

tags = campaign:summer-promo
tags IN (region:us-east, region:us-west)

Notes:

  • tags IN (...) matches sessions that have any of the listed tags. Requiring multiple tags on the same session is not supported.
  • The value must match exactly, including any leading or special characters. Tag pills in the session list format values for display (hyphens shown as spaces, long values truncated) — hover a pill to see the exact tag string in the tooltip, and use that in the filter.

Combining filters#

status = completed AND environment = prod AND tags = department:sales AND timestamp >= 2026-08-01

Conditions on different fields are ANDed together. Repeating the same field with = or IN replaces the earlier condition rather than adding to it (only comparison operators like >=/<= combine on one field).

API equivalent#

The query field maps directly to the filters[...] query parameters on the List Sessions endpoint:

UI queryAPI request
status = completedfilters[status][$eq]=completed
status IN (completed, failed)filters[status][$in]=completed,failed
tags = region:us-eastfilters[tags][$eq]=region:us-east
timestamp >= 2026-08-01filters[createdAt][$gte]=2026-08-01T00:00:00.000Z

Note the UI labels environment, session, call, and timestamp correspond to the API filter names agentEnvironmentId, publicId, telephonyCallId, and createdAt.


sessionsfilteringsearchobservability