Conversation search
What you can search
Eight filter dimensions:
- Full-text content. Match words across customer messages, bot replies, internal notes, and resolution notes.
- Tags. Match conversations with one or more tags applied.
- Channel. Widget, WhatsApp, Slack, email, SMS, voice, etc.
- Date range. Created within, updated within, resolved within.
- Status. Open, claimed, snoozed, resolved, archived.
- Priority. Urgent, high, normal, low.
- Agent. Assigned to a specific team member or unclaimed.
- Customer. Email, name, or customer ID.
Combine filters with AND logic. A single search like "channel=WhatsApp AND tag=refund AND date=last 7 days" returns the intersection.
How to search
Three paths.
Quick search. Press / from any inbox view to open the search box. Type a query. Results update as you type (debounced at 300 ms).
Advanced filters. Click the filter icon next to the search box. A side panel lists every filterable dimension. Pick values; results update.
API search.
curl "https://api.askvault.co/v1/conversations/search?q=refund&channel=whatsapp&since=2026-05-01" \ -H "Authorization: Bearer ak_xxx"Returns conversation summaries with cursor-based pagination.
Full-text search ranking
Results rank by:
- Match strength. Exact phrase > all terms > most terms.
- Recency. Newer conversations rank higher within match-strength tier.
- Active status. Open and claimed conversations rank above resolved/archived (toggle off to see all).
Highlights show where the match occurred in the conversation.
Common search patterns
Find a specific customer's history. Search by email: customer:alice@example.co. Returns every conversation involving that email across all channels.
Find all conversations about an outage. Search outage plus filter to last 24 hours. Use this to assess scale during incidents.
Find conversations breaching SLA. Filter status=open plus priority>=high plus created_before=4 hours ago. Conversations that should have first-responded by now.
Find unhandled escalations. Tag escalated plus status open plus assignee = unclaimed.
Find resolved-by-bot patterns. Filter status=resolved plus resolved_by=bot plus tag pattern. Useful for QA: review bot-resolved conversations for quality.
Saving common searches
Searches you run frequently can save as Inbox Views:
- Run the search with the filters you want.
- Click "Save as Inbox View".
- Name the view (e.g., "SLA risk this week").
- Optionally share with the team.
Saved views appear in the left sidebar of the inbox. See saved inbox views for full details.
Search vs filter precedence
Some users get confused about the difference:
- Search is text matching (in message content).
- Filter is structured (channel, date, tag, status).
You can combine both. Search "refund" plus filter "channel=email plus tag=urgent" returns email conversations tagged urgent that mention "refund".
Searching internal notes
Internal notes are searchable too. Toggle "Include Notes" in the search options:
Filter: status=open Search: "escalated to engineering" Include notes: yes
Returns conversations where an agent's internal note mentions "escalated to engineering".
Notes are agent-only; customers never see them. See internal notes.
Search across resolved and archived
By default, search covers open, claimed, snoozed, and resolved conversations from the last 30 days. To include archived or older:
- Click "Include archived" in the filter panel.
- Set custom date range if older than 30 days.
Archive retention: 365 days standard, 6 years on Enterprise. Conversations older than retention aren't searchable.
Performance notes
Search returns in under 2 seconds for workspaces under 100,000 conversations. For larger workspaces:
- First query slow. Cold cache; second similar query is faster.
- Use filters to narrow first. Then add full-text. Filtering first cuts the search space dramatically.
- Date range helps. Bounding to last 7 or 30 days is much faster than "all time".
API access for search
For automation or scripted reporting:
curl "https://api.askvault.co/v1/conversations/search?\q=outage&\channel=widget,whatsapp&\priority=urgent,high&\since=2026-05-01T00:00:00Z&\until=2026-05-15T00:00:00Z&\limit=50" \ -H "Authorization: Bearer ak_xxx"Returns paginated results with cursor for next page.
Audit and compliance
Searches don't log per-query (privacy). What does log:
- Conversation accesses. When an agent opens a conversation from search, that access logs.
- Bulk exports from search results. The export operation logs.
- API queries count against your standard API rate limit.
See audit log.
Planned features (on the roadmap)
Documented for accuracy:
- Semantic search. Today, full-text matching. Planned: vector-based semantic search ("conversations about billing frustration" matches conversations using different words).
- Saved search alerts. Today, run searches manually. Planned: alert when a saved search returns new results.
- Query language. Today, structured filters via UI. Planned: a query DSL (e.g.,
channel:wa tag:refund priority:>=high age:<7d).
Limits
- Search results per page. 50 default; up to 200.
- Full-text search response time. Under 2 seconds for workspaces under 100,000 conversations.
- Saved searches per user. 30.
- Saved searches per workspace. 50.
Common pitfalls
Search returns no results despite known matches. Filters too restrictive. Reset filters and search again.
Slow search on large workspace. No date filter applied. Add a date range to narrow.
Resolved conversation not findable. Outside the default 30-day window. Add date range or check "Include archived".
Customer search doesn't find the right person. Customer record uses a different email than what you searched. Try by name or customer ID.
FAQ
Can I search inside file attachments?
Today, no. File contents are searchable in the knowledge base but not within conversation attachments. Planned.
Does search work in real-time?
Yes. New messages and tags appear in search results within 30 seconds of being applied.
Can I export search results?
Yes. Click "Export" after running a search to download as CSV. Includes conversation IDs, customers, channels, status, and matched snippets.
Is search case-sensitive?
No. All searches are case-insensitive.
Can the bot search past conversations to find similar issues?
Not in the customer-facing bot today. Planned: bot context drawing from past resolved conversations of the same customer.