What Fini handles and what it hands to your team
How it works in Fini
A refund flow is the same four-piece shape as the Cancellation flow walkthrough: a User Attribute for context, Actions for the work, an Intent Rule for orchestration, and Reply Rules for overrides. Returns add a branch, which is the multi-intent pattern from the Order status and changes walkthrough.Example behavior tree
The tree below is an example to adapt, not a template that ships with Fini. Rename tags, fields and Actions to match your system, and set the auto-approve limit to your own policy (100 is a placeholder).
- The intent Check is a deterministic backstop on the planner’s routing. If the conversation isn’t tagged
refund_request, the Steps short-circuits, the rule does nothing on this message, and the agent falls through to its default reply from Knowledge. - The customer Check stops the rule cleanly if the customer couldn’t be identified. To ask for the account email instead, wrap the rule in a Fallback whose second child is a Reply, the graceful-recovery pattern in Intent Rules.
- The eligibility Tool runs before anything with side effects. Its outputs sit outside the inner Fallback, so every branch below can use
blocker_reasonandrefund_amount. - The Fallback tries the auto-approve path first. If the refund is eligible but above your limit, the second branch tells the customer a teammate will follow up, which Conversation Status records as Escalated to Human Agent. If the refund isn’t eligible, the last Reply explains why using the reason your API returned.
Topic Equals return_request) that calls a Create Return Action and replies with the return label or drop-off instructions it returns. One rule with a Fallback root handling several related intents is the shape the Order status and changes walkthrough builds step by step.
What you need
Guardrails and escalation
Decide up front which refunds the agent may complete on its own, and encode each boundary in the layer built for it.Reply Rules gate the reply, not the Tools. When an Internal Comment rule matches, the rule still runs and
Submit Refund still fires; only the customer-facing confirmation is held. If a human must approve before money moves, stop the tree before the submit Tool (as the above-limit branch does) and let your team complete the refund in your own system.What to measure
Open Analytics after a week of production traffic and scope it to this use case with the Tags filter (your refund and return tags) or the Intent rule filter.
When a number moves, open the conversations behind it in Inbox and read the AI Steps trace. The first red dot shows where the rule stopped.
Related
Order status and changes
Step-by-step build of a multi-intent order rule with eligibility checks, a cancel Action and blocked-path replies.
Cancellation flow
The canonical intent, identify, act, confirm walkthrough that refund flows share.
Intent Rules
Node types, Fallback patterns and chaining Tools, including a refund chain.
Reply Rules
Internal Comment, No Reply and Direct Reply, and how priority works.
Actions
Typed inputs and outputs, Data Steps and testing with Play.
Disputes and chargebacks
When the customer contests a charge instead of requesting a refund.

