Query Language
Use structured query syntax in the Inbox search to filter conversations precisely. Enable Query Mode (the # button next to the search field) to use these filters.
Syntax
A query is a series of key:value tokens separated by spaces. Tokens can be combined with logical operators (AND, OR, NOT). Text without a colon is treated as free-text search across messages, emails, and metadata.
status:agent,escalated
-status:resolved priority:high
channel:widget,telegram tag:billing
assigned:me sort:priority
user:alice@example.com status:allLogical Operators
| Operator | Syntax | Description |
|---|---|---|
| AND | space | Default. Multiple tokens separated by spaces — all conditions must match.status:agent priority:high |
| OR | comma in value | Multi-value within a filter — any of the listed values matches.status:agent,escalated · channel:widget,telegram |
| NOT | minus prefix | Exclude matches. Prefix the key with -.-status:resolved — all conversations except resolved. |
Filter Reference
| Filter | Values | Description |
|---|---|---|
| status: | agent · active · escalated · resolved · all | Conversation status. Supports multi-value: status:agent,escalated. Use all to remove the status filter. |
| priority: | low · normal · high · urgent | Priority level. |
| channel: | widget · telegram · whatsapp · slack · discord · email · zendesk · zendesk_messaging · intercom · freshdesk | Source channel type. Supports multi-value: channel:widget,telegram. Filters by provider type — useful when you want all conversations from a category. |
| integration: | integration UUID | Filter by a specific integration instance (e.g., one of two widgets connected to the same agent). Use this when channel: is too broad. Clickable from conversation card → filters by exact widget/telegram/etc. instance. Example: integration:9f3a...c2 |
| tag: | any tag name | Exact tag match (uses Postgres array overlap, not text search). Combine multiple: tag:billing tag:vip. |
| user: | ID, email, name, visitor_id | Find all conversations from a specific user. Matches against user ID, visitor ID, email, name, and external ID. |
| assigned: | me · none · email | Assignment filter. me = your conversations.none = unassigned conversations. |
| sort: | newest · oldest · priority · created | Sort results. newest / oldest by last message,priority by priority level, created by creation date. |
| prop.<key>: | any value | Custom contact property. Keys are defined in Agent Settings → Contact Properties. Example: prop.plan:enterprise |
Examples
status:agent,escalatedAgent OR escalated (multi-value OR)-status:resolvedAll conversations except resolved (NOT)channel:widget,telegram tag:billingWidget or Telegram conversations tagged "billing"assigned:me priority:highYour high-priority conversationsassigned:none status:escalatedUnassigned escalated conversationssort:priority status:agentAgent conversations sorted by priorityuser:alice@example.com status:allAll conversations for a specific user (any status)tag:billing tag:vipConversations tagged with both billing AND vipprop.plan:enterprise -status:resolvedEnterprise customers with active conversations-priority:low channel:widgetWidget conversations excluding low priorityIn the Inbox, click the # button next to the search field to enable Query Mode. In regular mode, the search field does a plain text search across names, emails, and message content.