Skip to content
Try Free →

Resolve a conversation

Last updated: · 3 min read

When to resolve

Three patterns:

  1. Customer confirms resolution. "Thanks, that fixed it!" → resolve.
  2. No reply after a follow-up. Wait 48 hours, send a check-in, no response after another 48 → resolve.
  3. Bot answered and customer engaged with the answer (page visit, click-through). Auto-resolve via rule.

Resolved doesn't mean closed forever. If the customer replies later, the conversation reopens automatically.

How to resolve

Three paths.

From the conversation header.

  1. Click "Resolve". Top-right button.
  2. Optionally enter a resolution note. Captures what was done.
  3. Confirm.

Keyboard shortcut. R resolves the focused conversation.

Bulk. Select multiple conversations; Bulk Actions > Resolve.

Via API.

Terminal window
curl -X POST https://api.askvault.co/v1/conversations/conv_xxx/resolve \
-H "Authorization: Bearer ak_xxx" \
-H "Content-Type: application/json" \
-d '{"note": "Refund issued, customer confirmed"}'

Resolution notes

Optional but recommended. They:

  • Capture what was done for audit trail.
  • Help future agents if the customer returns with a related issue.
  • Surface in analytics as common resolution patterns.

Format: free-text, Markdown-supported, up to 2,000 characters. Visible to agents only (customers don't see resolution notes).

Different from internal notes which can be added anytime during the conversation; resolution notes are tied to the resolve action.

What happens on resolve

Within 30 seconds:

  1. Status changes to resolved.
  2. Conversation leaves active inbox views (still visible under "Resolved" or via search).
  3. Resolution timestamp records.
  4. Resolved-by field set to the agent or bot or rule.
  5. conversation.resolved webhook fires if subscribed.
  6. CSAT survey sends (if enabled) via the channel.
  7. CRM status syncs to "Solved" if integration is on.
  8. SLA clock stops.

The customer may not notice unless CSAT survey fires.

Auto-resolve patterns

Three common automation rules:

Auto-resolve after 7 days idle.

  • Trigger: scheduled (daily).
  • Conditions: status = claimed, last message > 7 days ago.
  • Actions: resolve with note "Auto-resolved after 7 days of inactivity".

Auto-resolve "thanks" replies.

  • Trigger: message added.
  • Conditions: message contains "thanks", "thank you", "great", "awesome" plus no follow-up question.
  • Actions: wait 5 minutes, then resolve.

Bot-only conversations.

  • Trigger: conversation ended (no human involvement).
  • Conditions: all replies from bot, customer engaged with answer.
  • Actions: resolve with note "Bot-resolved".

Configure under automation rules.

CSAT (customer satisfaction) survey

When enabled:

  1. On resolve, AskVault sends a CSAT message via the conversation's channel.
  2. Customer rates 1 to 5 stars or thumbs up/down.
  3. Optionally adds free-text feedback.
  4. Rating saves to the conversation.

Aggregated CSAT visible under Analytics. Useful for tracking bot vs human quality, by-channel performance.

Enable under Workspace Settings > CSAT. About 25 to 40% of customers respond.

Reopening a resolved conversation

Two ways:

Customer replies. Their next message auto-reopens. Status goes to open. The original assignee gets notified.

Manual reopen. Open the conversation, click "Reopen". Useful when you realize the resolution was premature.

Resolve and reopen events both log in the audit trail.

Resolve vs archive

Different actions:

  • Resolve. Issue handled; conversation moves out of active queue but can reopen.
  • Archive. Conversation no longer relevant; explicitly archived for cleanup. Doesn't auto-reopen on customer reply.

Most conversations resolve. Archive is for permanent removal (spam, duplicate, irrelevant).

Resolution analytics

Per workspace:

  • Resolution rate. % of conversations resolved (vs still open).
  • Average time to resolve. From creation to resolution.
  • Bot vs human resolution split. Who closed how many.
  • Top resolution categories (from tags applied at resolve).

Useful for understanding workload and identifying patterns. Visible under Analytics.

Conversation lifecycle context

Resolve is one of six lifecycle actions:

  1. Open. Just created.
  2. Claimed. Agent assigned.
  3. Snoozed. Waiting for customer or external action.
  4. Escalated. Routed to senior agent or specialist team.
  5. Resolved. Issue handled.
  6. Archived. Permanently filed.

See conversation lifecycle for the full state machine.

Bot-driven resolution

When the escalate_to_human skill doesn't fire and the customer engages positively with the bot's answer, the bot can auto-resolve:

  • Customer asks a question.
  • Bot answers with citation.
  • Customer clicks the cited link or sends a positive acknowledgment.
  • Bot waits 2 minutes; if no further question, marks as bot-resolved.

About 30 to 60% of conversations bot-resolve when knowledge coverage is strong. Confirm via analytics.

Resolution webhooks

Subscribe to conversation.resolved:

{
"event": "conversation.resolved",
"conversation_id": "conv_xxx",
"resolved_at": "2026-05-15T10:30:00Z",
"resolved_by": "agent_id or 'bot'",
"resolution_note": "Refund issued, customer confirmed",
"channel": "widget",
"duration_seconds": 720,
"customer_email": "alice@example.co"
}

Useful for syncing to CRM, triggering follow-up campaigns, or piping into analytics warehouses.

API access

For programmatic resolve:

Terminal window
curl -X POST https://api.askvault.co/v1/conversations/conv_xxx/resolve \
-H "Authorization: Bearer ak_xxx" \
-H "Content-Type: application/json" \
-d '{"note": "Auto-resolved via API"}'

Returns the updated conversation status.

Planned features (on the roadmap)

Documented for accuracy:

  • Resolution categorization. Today, free-text notes. Planned: structured resolution categories ("Refunded", "Information provided", "Escalated to engineering") for analytics.
  • Customer-confirmed resolution. Today, agent or rule resolves. Planned: bot asks "Did this solve your issue?" before auto-resolve.
  • Resolution templates. Today, ad-hoc notes. Planned: pre-written resolution templates for common patterns.

Limits

  • Resolution note length. 2,000 characters.
  • Reopen window. 7 days (after that, customer reply creates a new conversation linked to the old).
  • Bulk resolve cap. 200 per action.
  • Audit retention. 365 days standard.

Common pitfalls

Conversation resolved but customer keeps writing. Customer reply auto-reopens; no work needed.

CSAT not sent. CSAT not enabled or channel doesn't support outbound (e.g., voice). Check Workspace Settings > CSAT.

Wrong resolution note. Once submitted, notes are append-only for audit. Add a follow-up note correcting if needed.

Resolved-by attribution wrong. If bot resolved but you want to take credit, manually reopen and re-resolve. Don't fudge attribution.

FAQ

Can I undo a resolve?

Yes within 7 days. Click "Reopen" on the resolved conversation. After 7 days, customer reply creates a new linked conversation.

Does the customer know the conversation is resolved?

Only if CSAT is enabled and sends a survey. Otherwise, the customer sees no notification.

Can a rule auto-resolve?

Yes via automation rules. Common: auto-resolve after 7 days idle.

Will resolved conversations affect SLA metrics?

Resolution time counts toward SLA. After resolve, the conversation no longer counts toward open queue but does count toward "Resolved on time" or "Breached".

Can I export resolution data for offline analysis?

Yes via API or CSV export. Includes resolution timestamp, note, by-whom, duration.

Was this page helpful?