What Fini handles and what it hands to your team
How it works in Fini
Example behavior tree
The walkthrough’s tree cancels as soon as the intent matches. The variant below adds an explicit confirmation step, the first defensive pattern the walkthrough recommends. It’s an example to adapt: tag names and fields are placeholders.user_confirmed yet, so the Fallback reaches the last Reply and asks the customer to confirm. Each customer message re-runs the rule from the root, so when the customer replies “yes, cancel it”, the confirmation tag is applied during tagging (before the rule runs) and the first branch cancels. If the customer goes quiet after the confirmation question, a Follow up after inactivity setting on that Reply can send one reminder while the conversation is Waiting for customer.
If you prefer an explicit button, use a Form with a single confirmation field before the Tool instead, as the walkthrough describes. Pair either approach with an idempotency key in the Action body built from values you have before the call (for example ${customer_id}-cancel; effective_date is a Tool output, so it isn’t available yet) so a duplicate message can’t cancel twice.
Pauses, downgrades and retention offers
Common adaptations, each a sibling branch under a Fallback root (the multi-intent shape from the Order status and changes walkthrough):- Pause instead of cancel. A
pause_requestbranch callingPause Subscriptionand replying with the resume date it returns. - Downgrade. A
plan_changebranch with a Check onplan, then aChange PlanTool. - Retention offer. If your billing system exposes an offer endpoint, a Tool that fetches the offer for this customer runs before the confirmation question, and the
user_deniedbranch applies it. Keep offer logic in your system, so the agent only presents what your API returned. - Different review rules. Replace
is_vip Equals Truewithplan Equals enterprise, or switch the Reply Rules card to No Reply to leave those customers entirely to your team.
What you need
Guardrails and escalation
What to measure
Scope Analytics to cancellations with the Tags filter or the Intent rule filter.
If you collect reasons with a Form, the structured values give you consistent reasons to report on.
Related
Cancellation flow walkthrough
The step-by-step build: attribute, Action, Intent Rule, Reply Rules gate, testing and troubleshooting.
Order status and changes
A Fallback-rooted rule handling several related intents, the shape for pause and downgrade branches.
Tags
Intent tags, confirmation groups and writing “when not to apply” rules.
Intent Rules
Node types, inactivity follow-ups and the Form pattern.
Refunds and returns
When the customer wants money back rather than to stop the subscription.
Escalation and handoff
Where escalated cancellations land and what your team sees.

