Fini handles the support side of KYC and onboarding: it reads the customer’s verification status and outstanding requirements from your onboarding or verification system through a User Attribute, explains what’s missing and how to provide it using your Knowledge articles, and makes account changes (address, contact details, plan) through Actions that call your APIs. Identity document review, verification decisions and risk decisions stay with your verification provider and your compliance team; Fini reports the status those systems return and never decides it. Most onboarding contacts are some version of “why isn’t my account verified yet?” or “what do you still need from me?”. Those are answerable precisely when the agent can read the real status, which is what this pattern is built on.

What Fini handles and what it hands to your team

To confirm (internal, remove before publish): usefini.com/industries/finance describes “KYC-grade identity verification and MFA resets” and llms-full.txt lists “KYC checks” and “caller authentication” as Agentic Actions, but docs-local documents no native identity-verification or document-review capability, only the customer-built OTP pattern in the card replacement walkthrough. What exactly does Fini provide here (for example, is caller authentication on voice a native feature)? Until confirmed, this page describes Fini as reading status from, and calling, your own systems.

How it works in Fini

Example behavior tree

This tree is an example to adapt. The status values, fields and Actions depend on your onboarding system.
How it runs:
  1. Status questions never write anything. The branch reads the status the attribute fetched for this message and explains it. Because attributes fetch on every message, a customer who comes back after uploading a document gets the current status, not a cached one.
  2. If kyc_status is null (the lookup failed or the customer isn’t found), the status branch fails and the root Fallback moves on. The address branch’s intent Check fails too, so the last Reply asks what the customer needs. To handle “we can’t find your application” explicitly, add a branch for it (a Check on kyc_status Is Null and a Reply that explains the next step or hands off).
  3. The address branch gates on an active account, collects the new address in a validated Form, and calls your API. Your API, not Fini, decides whether the change triggers re-verification, and the Reply reports it.
  4. If Update Address fails, the address branch fails and the Fallback moves on to the last Reply; nothing confirms a change that didn’t happen. To hand off instead, wrap the Tool and its Reply in a Fallback whose second child is a Reply telling the customer a teammate will follow up.
Reply Rules evaluate before any Intent Rule. High-risk accounts are held by No Reply (no tree runs) or Internal Comment. Under Internal Comment the tree, including its Tools, still runs and the reply becomes an internal note, so gate the Tool itself with a Check for changes that must not happen automatically (see below).

What you need

Keep document submission in your verification flow. Point customers to the upload step in your app or your verification provider’s flow rather than asking them to send identity documents in chat. That keeps document handling inside the system that reviews it and out of support transcripts.

Guardrails and escalation

Contact-detail changes are a common account-takeover path, so treat them as high-risk operations.

What to measure

Scope Analytics with the Tags filter (your verification and account-change tags) or the Intent rule filter.

Card replacement

Fintech walkthrough with chained attributes, a validated Form, a risk gate and the identity verification note for unauthenticated channels.

Order status and changes

Step-by-step build of a Fallback-rooted rule with a status branch and a Form-based change branch.

Attributes

Sources, chained Data Collection Steps, and the Use in Rulebooks and Visible to AI switches.

Guardrails

Confidential attributes, URL allowlist and custom reply checks.

Widget

Identify logged-in users with a signed JWT.

Escalation and handoff

Where escalated onboarding conversations land and what your team sees.