Skip to main content
Narrow the conversation list to the calls and chats you care about. Filters are applied server-side by GET /core/conversations, mirrored to the URL so you can share a filtered view, and persisted to your browser per organization so they survive a reload. Open the filter dialog from the inbox toolbar, set any combination of fields, and choose Apply. Choose Reset to clear every field back to its default.

UI filters

These fields are available in the filter dialog. Each maps to a query parameter on GET /core/conversations.
The Caller field maps to user_id and uses substring matching, so a partial number or ID returns every conversation that contains it. The agent, direction, status, and channel filters match exactly.

Server-only parameters

GET /core/conversations accepts several filters that the dialog does not surface. Send them directly to the API when you need finer control.
custom_metadata must be a URL-encoded JSON object. Invalid JSON returns 400 Invalid JSON format for custom_metadata, and a non-object value returns 400 custom_metadata must be a JSON object.

Example

The endpoint requires one of the scopes conversations:read, conversations:read_sensitive, or conversations:manage. User personal access tokens (pat_) must also send X-Anyreach-Org: <organization_id>; org API keys (ak_) carry their organization implicitly.

Match semantics

All active filters are combined with AND — a conversation must satisfy every set filter to appear.

Persistence and deep-linking

Filters live in three places, in priority order:
1

URL params take precedence

On load, the page reads filter values from the URL query string. If any filter param is present, those values win and saved filters are ignored for that load.
2

localStorage fallback

When the URL has no filter params, the page restores the last applied filters from localStorage under the key filters:conversations:<orgSlug>. Saved filters are scoped per organization, so each org keeps its own view.
3

Changes are mirrored back

Whenever filters change, the page rewrites the URL with the active params (without adding a history entry) and re-saves them to localStorage. Clearing all filters removes the saved entry.
Link directly to a filtered inbox by adding query params to the conversations URL. These params are honored on load: caller, agent_id, direction, status, campaign, created_after, created_before, duration_above, duration_below, user_turn_count_above, user_turn_count_below.
In the browser URL, the caller filter appears as caller and the campaign filter appears as campaign (it is expanded to custom_metadata.anyreach_campaign when the API is called). Both map to user_id and custom_metadata respectively on the backend.
For example, link to every inbound call from a campaign:

Inbox overview

How the conversation list is laid out and what each column shows.

Exporting conversations

Export the current filtered view to CSV.