Fini (usefini.com) handles every customer message with the same pipeline, whether it arrives by chat, email, voice or a helpdesk ticket: decide whether to engage, plan, load customer context, run a deterministic Rulebook workflow or answer from approved knowledge, check the reply with Guardrails, then deliver it or escalate to a human with the full trace. Every step is recorded in the AI Steps trace, and the conversations themselves feed a review loop that improves the agent’s knowledge over time. This page walks one conversation through that pipeline and links to the page that owns each step. For the higher-level picture of what Fini is, read What is Fini.

The lifecycle at a glance

The sections below follow the diagram top to bottom. To click through the same journey one stage at a time, use the explorer.

1. The message arrives on a surface

A conversation starts on whichever surface you’ve connected: the Widget, native Email, Voice, a helpdesk such as Zendesk or Intercom, Slack, or your own product over the API. See the Channel overview for the full list. The surface doesn’t change how the agent reasons. The same knowledge, prompts and rules apply everywhere, which is why a cancellation policy question gets the same answer by email in Zendesk as it does in the widget. Two things are surface-aware:
  • Channel Prompts append per-channel instructions (currently Email and Chat) to the agent’s Main Guidelines, for example shorter replies on chat. See Prompts.
  • System fields such as Integration Provider and Channel are available as conditions in Reply Rules and Rulebook Checks.
Every conversation, from every surface, lands in Inbox. Helpdesk conversations are mirrored read-only (your team replies in the helpdesk); widget, UI and native email conversations are editable.

2. Reply Rules decide whether the agent engages

Before anything else, Reply Rules (under Rulebook → Reply Rules) decide what kind of response the agent may give on this conversation: When more than one card matches, the stricter behavior wins: No Reply over Internal Comment over Direct Reply. This is how teams keep the agent off conversations a human already owns, or internal-only on sensitive intents such as chargebacks or account closure.

3. Planning decides what to do with this turn

The agent re-evaluates from the root on every customer turn. The first step is Planning: the LLM reads the message and the conversation so far and decides what to do, for example “this is a how-to question, knowledge search applies” or “this is a request to transfer to a human”. Planning does two consequential things:
  • Routes to an Intent Rule. It compares the message against each assigned rule’s Description and selects the rule whose intent matches. See How rules get selected.
  • Applies your escalation triggers. Escalation topics live in the Knowledge Search – Decision Logic section of the Planning Prompt. Fini ships defaults (legal or regulatory issues, a customer asking for a human repeatedly) and you add the patterns that matter in your business. A matching trigger routes the conversation to a human and skips knowledge search. See Controlling when the agent escalates.
Fini also classifies the incoming message (Input Tag Selection) so the planner knows whether it is a question, an escalation request, a complaint, and so on. Your Tags define the categories.

4. Attributes load the customer’s context

User Attributes fetch customer data from your systems, such as plan, account status, billing date or recent orders. Each attribute’s data collection chain runs and reports Success or Failed in the trace. Attributes are what turn a generic answer into a personal one. They also drive logic: attributes are available as conditions in Reply Rules, an attribute with Use in Rulebooks enabled can be used in Rulebook Checks, and folder-level Attribute filters in Articles gate which knowledge the agent may retrieve for this customer (for example, Enterprise setup articles only when plan = Enterprise).
A failed attribute is the most common cause of “the agent didn’t know something it should have known.” The field is null, and the agent falls back to a generic answer. Check Executed User Attributes in AI Steps first.

5a. A Rulebook workflow runs deterministically

If Planning selected an Intent Rule, the runtime walks that rule’s behavior tree depth-first. The LLM is used only inside individual nodes; the tree walker decides which node runs next, so identical inputs produce identical execution paths. Steps and Fallback nodes arrange the leaves into sequences and alternatives. A failed Check short-circuits a Steps sequence, which is how a workflow stops cleanly when a customer isn’t eligible. A Reply node can also schedule an inactivity follow-up while the conversation is Waiting for customer. This is the part of Fini that “takes actions.” Refunds, cancellations, address changes, card replacements and identity checks run as trees. See the Cancellation flow walkthrough for a full build.

5b. Or the agent answers from approved knowledge

If no rule matches, or a rule ran but staged no Reply, the agent falls through to default behavior: answering from knowledge, asking a clarifying question, or staying silent, depending on your Reply Rules. Fini answers from Articles, not from raw Sources. Content enters through Sources and Magic Articles, passes through Review, and only approved, published Articles are what the agent treats as authoritative. Articles are scoped per agent with the top-right selector in Articles, so a support agent and a sales agent can draw on different folders of the same knowledge graph. Retrieval is RAGless: the agent reads whole approved articles rather than chunks pulled from an embeddings index, so an answer is grounded in a complete, reviewed article instead of fragments that may have lost their conditions. For background, see What is RAGless.
To confirm (internal, remove before publish): The Sources page says uploaded files “become one or more documents (long files are chunked)”. Please confirm the wording for docs: is retrieval at answer time always over whole Articles (no chunking or embeddings), with file chunking happening only at ingestion?
When the agent used knowledge, the titles of the retrieved articles appear pinned under the reply in Inbox, and the conversation’s Used Folders appear in its metadata.

6. The reply is composed

Reply composition brings together the Reply node instructions (if a rule ran), the retrieved knowledge, the customer’s attributes, and your Prompts: Main Guidelines for tone, formatting and Predefined Replies that must be used verbatim, plus the matching Channel Prompt. In AI Steps, Generate Answer shows the agent’s Interaction Reasoning, Prompt Reasoning and Final Answering Strategy for every LLM-generated reply.

7. Guardrails check the reply before delivery

Guardrails check generated replies before delivery, using the policies you configure per agent. Built-in checks cover Internal reasoning leak, Banned terms, Confidential attributes, URL allowlist and AI disclosure, and you can add up to 10 Custom rule checks per agent. Each check can be scoped to specific channels.
Guardrails are not a fail-closed security boundary. Review individual verdicts in AI Steps as well as the overall outcome, and use Reply Rules and Planning escalation triggers for topics the agent must never answer.

8. Escalation hands off with the trace

A conversation reaches your human team through any of these paths:
  • A Planning escalation trigger matched.
  • A Rulebook branch ended in an escalation, for example because an eligibility Check failed or an Action errored.
  • A Guardrail couldn’t produce a safe reply.
  • The customer asked for a person.
On a helpdesk, the human picks the ticket up in the tool they already use, with Fini’s internal notes and trace context available. On the widget, Business Rules run on the On Escalation trigger to create the ticket in your destination helpdesk (Zendesk, Front, Salesforce, HubSpot or Gorgias), pass the transcript and attributes, and post a final message to the customer. See Escalation and handoff. The same exchange, shown between the people and systems involved. This example follows a conversation where a Rulebook workflow calls one of your Actions. Every escalated conversation is tagged with a reason from a fixed taxonomy (for example Missing Knowledge, API or System Failure, Customer requested human – after attempt, Guardrail or Safety Trigger), which is what the Escalations section of Analytics reports on.

9. Tags record the outcome

After each exchange, Output Tag Selection applies your tag groups to the conversation, with a Reasoning paragraph explaining the choice. The mandatory Conversation Status group records whether the conversation is resolved, escalated or waiting for the customer; the Inbox status badge, Reply Rules, Fini Touched filters and resolution analytics all read from it. In Analytics, every conversation ends in one of three statuses: Resolved by AI, Escalated to Human Team or Waiting for Customer. AI resolution rate counts only conversations Resolved by AI. Deflection rate is 100% minus Human escalation rate, so it also counts conversations still waiting on the customer. Fini treats resolution rate as the number that matters; see Resolution vs deflection.

10. The AI Steps trace shows every step

Open any Fini reply in Inbox and click the light bulb icon to see AI Steps, the per-message trace. Sections appear in execution order, and a missing section means that step didn’t run: Use the trace to answer “why did the agent say that?” for any reply, and to show reviewers and auditors exactly what happened on a conversation.

11. The conversation improves the agent

Production conversations are the raw material for improvement. Four loops run off Inbox:
1

Feedback and Refine with AI

Leave feedback on a reply, or use Refine with AI to describe what went wrong. Fini analyzes the trace, drafts a prompt, knowledge or rule change, and replays the conversation to show the before and after. Nothing is applied automatically.
2

Generate Knowledge and Magic Articles

Turn a conversation into knowledge with Generate Knowledge (create a new article, update an existing one, or detect duplicates), or paste raw content into Magic Articles. Status After Generation decides whether the draft goes to Review or straight to Published.
3

Background gap and conflict detection

Fini continuously scans your knowledge graph and live conversations for gaps and conflicts and drafts proposed resolutions. These always land in the In Review tab of Review, never directly in Published.
4

Lock it in with Test Suite

Add the conversation to a Test Suite set so an LLM judge checks that behavior on every future run. A drop in pass rate shows a regression before customers see it.
Approved changes flow into Articles, Prompts or the Rulebook, and the next conversation runs through the same pipeline with the improvement in place.

What is Fini

What Fini is, who it is for, and where it runs.

Intent Rules

The full behavior tree execution model and node reference.

Inbox

Read conversations and the AI Steps trace.

Knowledge overview

How content becomes approved Articles.