How to handle cancellation requests in Crisp
How to handle cancellation requests in Crisp chat or email: segments and routing, shortcut replies, one fair offer, and a clear written confirmation.
Crisp sits in the corner of your product, and that is exactly where a customer types “how do I cancel?”. The chat is fast and personal, which makes it a good place to understand why someone is leaving, and a bad place to make them jump through hoops. The aim is a short, consistent exchange: ask once, offer once if it fits, then cancel and confirm.
This guide shows how to set that up with Crisp’s own features: segments, routing, message shortcuts and the Stripe integration. It relies on Crisp’s help center articles on message shortcuts, routing conversations to operators, automatic triage, classifying topics with Hugo AI, the Stripe integration and chat transcripts (all accessed November 2026).
Start with the rule
A customer who asks to cancel in chat has asked to cancel. You may ask why, and you may offer one alternative that fits their reason. If they say no, you cancel, in the same conversation, without sending them somewhere else. Cancelling should not be harder than signing up, which is the principle behind the rules summarized in click-to-cancel rules for SaaS.
Spotting cancellation conversations
Segments
In Crisp, segments are labels on conversations or contacts. They can drive routing rules, filters and automations. You can add them by hand, from your site with the chatbox SDK, or automatically. Create a cancel-request segment and use it on every cancellation conversation.
Automatic tagging
Crisp offers two automatic ways to add a segment when a conversation arrives:
- Automatic triage categorizes incoming conversations and can add a segment. Crisp notes that triage runs before routing rules.
- Hugo topic detection: you name a topic and describe the situation in plain words (“the customer wants to cancel, close their account or stop being billed”), and Hugo checks conversations it handles against that description. A conversation can match several topics, and a detected topic can add a segment automatically. Topic counts appear in Hugo’s analytics.
Both are approximations. Review the cancel-request segment regularly for conversations that were tagged wrongly, or missed.
Routing
Under Operator Routing in the inbox settings, routing rules can use conversation segments as a condition, along with country, language, custom data, channel and email. Route cancel-request conversations to the people allowed to cancel and grant offers. Crisp documents that rules are evaluated from top to bottom and only run when routing rules are enabled, so place this rule above broad fallbacks.
Looking up the account
Before answering, look at the customer’s billing. If you use Stripe, Crisp’s Stripe integration shows subscription status, billing history and payments in the conversation sidebar. Access is read-only: to change or cancel the subscription, you open the customer in Stripe (or use your own admin).
Three things to check:
- When the current period ends, so you can tell the customer when access stops.
- Whether the last payment failed. A “cancel” message right after a decline is sometimes frustration with a card problem; a card update link may be what they actually need. See how to recover failed payments on Stripe.
- Monthly or annual. Annual customers often want to stop the next renewal, not lose access today.
Shortcut replies
Crisp’s message shortcuts are saved replies with a short trigger called a “bang” (for example !cancel). You create them in the inbox settings under Message Shortcuts, give each one a tag to keep them organized, and insert them by typing ! in the composer. Shortcuts support placeholders such as the contact’s first name, with a fallback if the field is empty. You can also import and export shortcuts as a CSV with bang, text and tag columns, which makes it easy to keep them in sync across workspaces.
A small set covers almost every case:
!cancel (first reply)
Hi, I can cancel your subscription for you right now. Before I do, could you tell me what’s not working for you? If you’d rather skip that, just reply “cancel” and I’ll do it.
!cancelpause (only for temporary reasons)
Got it. If it’s a quiet period, I can pause your subscription instead: no charges until [date], and everything stays as it is. If you’d still rather cancel, say so and I’ll do it now.
!canceldowngrade (only when price is the reason and a cheaper plan fits)
Understood. The [plan] plan at [price] covers what you’re using today. I can switch you from your next billing date. Or, if you prefer, I’ll cancel now. Your call.
!canceldone (confirmation)
Done. Your subscription is cancelled. You keep access until [date], and you won’t be charged again. Thanks for having been with us.
Choosing between the offers is covered in pause vs discount vs downgrade.
Recording the reason and outcome
Add two more segments when the conversation ends: one for the reason (reason-price, reason-not-using, reason-missing-feature, reason-switching, reason-other) and one for the outcome (cancelled, paused, downgraded). With both in place, you can filter conversations by segment and count, each month, which reasons lead to which outcomes. For a reasons list that is easy to act on, see churn survey questions.
Keep the confirmation where the customer can find it
A chat message scrolls away. Make sure the customer also has the confirmation in their inbox:
- If Crisp’s “Email users transcripts of conversations” setting is on, Crisp emails the customer a transcript after the conversation goes inactive, according to the transcripts article.
- You can also send a transcript manually from the conversation’s action menu.
- Your billing system’s own cancellation email, if you send one, is a second record.
That written confirmation protects both sides. If the customer later says they cancelled and were still charged, or the reverse, the dated conversation settles it.
Mistakes to avoid
- Making the chat the only way to cancel. Offer a cancel button in the product as well; chat should be one option, not a gate.
- Waiting for an operator. If cancellation requests sit in a queue overnight, the customer may be charged at renewal in the meantime. Route them to someone who can act the same day.
- Promising what you cannot do. Operators cannot cancel from the Crisp sidebar; make sure whoever handles these conversations can cancel in Stripe or your admin.
- Several offers in a row. One offer, then cancel.
Doing this with NoChurn
NoChurn’s Crisp connector is read-only, so segments, routing and shortcut replies stay in Crisp. NoChurn adds a cancel flow you can link to from a shortcut: reasons, one matching offer (discount, pause or plan change) and a one-click cancel that is always visible, hosted or headless through the API. Customers who leave can receive win-back emails at day 30, 60 and 90 based on their reason. NoChurn also reads Crisp conversations, matched to customers by email (doubtful matches are suggested, never merged automatically), for the churn score and as dated evidence if a cancelled customer later disputes a charge. See NoChurn + Crisp.