Back to Help Center
Inbox & follow-ups·Setup4 min read

Auto-reopen returning customers

When a past customer messages again, Yesoma auto-reopens their last case instead of creating a duplicate. Includes the 90-day window, the Business-plan AI classifier, and how to turn it off if it's wrong for your business.

When a past customer messages you again, Yesoma auto-reopens their last case instead of creating a brand-new one. This guide explains why it happens, when it kicks in, what you'll see in the inbox, and how to turn it off if it's wrong for your business.

1. What auto-reopen does

A customer who messaged you 4 months ago about box braids messages you again today asking about a wedding hair trial. Without auto-reopen, you'd get a fresh inquiry with no context — second customer, third customer, fourth customer, all the same person. Won cases pile up + repeat customer loyalty is invisible.

With auto-reopen on, Yesoma:

  1. Matches the inbound email/WhatsApp to a known customer (by email or phone)
  2. Looks for their most recent closed inquiry within the last 90 days
  3. If found, reopens that inquiry + appends the new message as part of the same thread
  4. The case status flips from Won/Lost/Closed back to Open and shows up in Needs Reply
  5. The inbox shows a small "reopened" badge on the case card so you know it's not brand-new

If the customer's last case is older than 90 days or doesn't exist, a brand-new inquiry is created as normal.

2. Why a 90-day window?

90 days is long enough to capture the "I'm coming back for another appointment" pattern, short enough that an unrelated new request from someone you served a year ago doesn't get incorrectly merged into ancient context. The window is fixed in v1; we may make it configurable if owners ask.

3. The AI continuation classifier (Business+)

On Business plan + above, an additional check runs: an AI classifier reads the new inbound message + the last case's subject + last few messages, and decides whether the new message is a continuation of that case or a new topic.

  • If continuation: auto-reopen the old case, append the new message
  • If new topic: create a brand-new inquiry, link to the customer

This catches cases like "Hey, my next appointment got cancelled" (continuation, reopen) vs "Hey, do you also do braids?" (new topic, new inquiry) when both come from the same email address.

Starter doesn't get the classifier — auto-reopen on Starter is purely email/phone match within the 90-day window, no semantic check.

4. What you'll see in the inbox

  • Reopened badge on the case card — small "reopened" pill next to the case status so you don't think it's a brand-new lead
  • Status changed to Open automatically (case flips from Won/Lost/Closed → Open)
  • status_changed_at bumped — the case rises to the top of the inbox sort by recency
  • New customer reply styling on the message bubble so the new message stands out from the old thread

The original Won status is preserved in the case status history (you can see "Won → Open (auto-reopen)" in the timeline) so your win count + insights stay accurate.

5. Turning it off

Settings → AutomationAuto-reopen returning customers → toggle.

When off, every inbound message from a past customer creates a fresh inquiry. Use this if:

  • You operate in clearly-bounded engagements (e.g. a wedding photographer where each booking is its own world and shouldn't be threaded with anything past)
  • You serve high-volume small-ticket customers and the reopened context just adds noise
  • You want every inbound to start clean for triage reasons

You can also disable just the AI classifier and keep the basic 90-day match — splits the dial.

6. Edge cases worth knowing

  • Two emails for the same customer: If a customer used jane@gmail.com last time and jane@work.com this time, auto-reopen doesn't trigger (no match). The new message becomes a fresh inquiry tied to a new customer row. You can merge from the inbox if you spot it.
  • Customer changed phone number: Same problem. Match is on email OR phone, exact string. Phone normalization tries to handle formatting differences but country-code changes will break the match.
  • Inquiry was hard-closed > 90 days ago: Falls outside the window. New inquiry created. The customer is still linked to the same customers row, so their full history is one click away.

Common questions

Does auto-reopen change my win-rate stats? No — the original Won status is preserved in the case status history. The current status flips to Open until you close it again; if you close as Won, the case re-counts. If you close it as Lost, your win-rate stays accurate.

Can I see which cases were auto-reopened? Filter the inbox to status:Open + look for the "reopened" badge. Or query case_status_history for entries where source='auto' + reason='customer_replied_to_closed_case'.

Does this trigger any auto-reply? No — auto-reopen is silent server-side. The customer doesn't know their old case was reopened (it's an internal organization thing). You handle the reply manually.

What if I want to merge two unrelated cases manually? Open the newer case in the inbox → Merge into this button on candidate matches in the right rail. Different feature, different flow — covered in the inbox docs.

More in Inbox & follow-ups

Was this article helpful?

If something was unclear or missing, tell us and we'll fix it.

Still stuck?

We'll help you get this working. Send us a message, or ask about Managed Setup.