Skip to main content
Resolving a conversation closes it out — removes it from the open list, stops the SLA timer, and optionally triggers a CSAT survey.

Resolve a single conversation

Press e or click Resolve in the conversation header. You can add an optional resolution type:
  • Resolved — the normal case
  • No action needed — spam, mis-directed, nothing to do
  • Duplicate — same as another conversation
  • Spam — filter and never show again

Bulk resolve

Select conversations in the list, then Resolve in the bulk bar. Useful after triage.

Reopen

A resolved conversation reopens automatically when the contact sends a new message. You can also reopen manually:
  • Open the conversation (use the Resolved filter or search) and press r.
  • Or click Reopen in the header.

CSAT (customer satisfaction)

If CSAT is enabled on a flow’s Resolve node, a one-tap survey is sent after resolution — 👍 / 😐 / 👎 — and the result appears on the conversation and in analytics. Enable CSAT per flow, or globally by asking support to turn it on for every resolved conversation.
Don’t CSAT everything. Send it on human-resolved conversations, skip it for “no action needed” and spam.

Resolution time

The clock starts when the first inbound message lands and stops when you resolve. Shown in Analytics → Response times, and broken down by channel, tag, and assignee.

When to resolve

  • Customer confirmed the issue is sorted (“thanks, that worked!”).
  • You’ve given a final answer and there’s no expected follow-up.
  • The conversation is spam or misrouted.

When not to resolve

  • You’re waiting on the customer. Use the tag waiting-on-customer instead, and keep it open.
  • The AI promised a follow-up that hasn’t happened. Let the flow auto-follow-up, then resolve.