Skip to content
Client onboarding and fact find

The discovery call becomes a typed fact find before compliance.

The PDF goes out, half of it comes back wrong, and the onboarding clock restarts. This asks the same questions as a conversation, refuses to accept a blank, and hands your CRM a complete record. Free to start.

Advisory firms add AI by putting a conversational agent in front of onboarding. It runs the KYC and fact find as a conversation, asks a follow up when an answer is incomplete, and returns a timestamped record your CRM can accept without a human re-typing it.

01 · They talk

Your GnosariAnswering
What are you hoping this money does for you?
Retire at 60 and cover my daughter’s tuition
Two goals then. If markets dropped 20% in a year, what would you do?
Honestly? I would probably move some out. Not all of it

02 · It becomes a record

primary_goal
Retirement at 60
secondary_goal
Education funding
risk_tolerance
Moderate, loss averse
time_horizon
14 years

typed · validated · deduped

03 · Your stack acts

  • Compliance channel notified
  • Zap into your CRM
  • Or the same via Make
  • Signed webhook at your endpoint
The process

The process this page is about

Not "AI for finance". One process: getting a new client from signed engagement to a complete, auditable dossier without four rounds of email.
  • Who starts it

    A prospect who has already said yes, and is now looking at a 14 page PDF.

  • What it costs today

    Chased documents, incomplete returns, and an onboarding clock that restarts every time something comes back not in good order.

  • What it has to produce

    Identity, source of funds, goals, time horizon, risk tolerance and attestations, each timestamped and traceable to what the client actually said.

70%

of financial institutions lost a client in the past year because onboarding was too slow

Fenergo, 2025

The schema

What it asks, and what it never asks

A longer list than most trades, because this one is regulated. The agent holds all of it in one conversation and asks a follow up when an answer is not usable.
FieldTypeRequiredWhy it is there
full_legal_nametextYesIdentity, as it appears on documents
date_of_birthdateYesIdentity verification
emailemailYesWhere the engagement pack goes
phonephoneYesSecond channel for verification
residency_countrytextYesDetermines which regime applies
employment_statustextYesSuitability input
source_of_fundstextYesAML requirement, in the client’s words
investable_assetsnumberYesSegments the engagement
primary_goaltextYesWhat the plan is actually for
time_horizonnumberYesDrives allocation
risk_tolerancetextYesSuitability, captured as a reaction not a slider
existing_providerslistTransfers and consolidation
is_politically_exposedbooleanYesEnhanced due diligence trigger

And what it will not do

  • It never gives advice, a recommendation, or a view on a product. It collects, it does not counsel.
  • It never asks for a password, a card number, or an account credential.
  • It never scores suitability. It records the answer and leaves the judgement to the adviser.
  • It never fills a regulated field with an inference. Unanswered stays unanswered, and the record says so.
The live run

Try the run yourself

Six situations a firm actually handles, each running its own agent with its own fields. Answer one the way a real client would, vaguely and out of order, and watch it ask again rather than store the guess.
Open this one full screen
The fact findConnecting
The live conversation is loading.
Where the records land

What the adviser opens before the first meeting

A dossier, not a transcript. Every regulated field keeps the exact sentence it came from, which is the difference between a record and a summary.

Collected data

141 collected8 this week2 need attention

Export CSV
  • Tomas Lind Client onboardingMeridian Financial Group · 1h ago
  • Anonymous visitor KYCMeridian KYC · 3h ago
  • Aisha Bello Portfolio transferMeridian Transfer · Yesterday
  • Greg Sandoval Tax preparationMeridian Tax · Yesterday
  • Anonymous visitor First enquiryMarlowe and Sons · Mon

Tomas Lind

Captured 1h ago · Meridian Financial Group · joina.chat

Captured data 7 of 8 fields

full_legal_nameTomas Lind
residency_countryUnited Kingdom
source_of_fundsBusiness sale and savings
investable_assets400000
primary_goalRetirement at 60
risk_toleranceModerate, loss averse
is_politically_exposedfalse
existing_providersNot captured

From the conversation

“Sale of a business last year, plus normal savings. About 400. Thousand, yes

Every value keeps the sentence it came from, and a value the visitor never said is never stored. A Gnosari cannot quote itself into your data.

From here a record can go straight on to Slack, a sheet, a Zap or your own API. The inbox is where you read them, not where they get stuck.

Where it goes next

Your CRM gets the dossier, not another login

The moment the file is complete, Gnosari posts it to whatever address you give it. Signed, versioned and retried, with every attempt recorded, which is the part a regulated file actually needs.
POST https://crm.your-firm.com/hooks/gnosari

Signed headers

webhook-id
msg_2f9a41c8
webhook-timestamp
1786518862
webhook-signature
v1,K7Qd…8xPm

Body

{
  "type": "data.collected",
  "event_id": "1b6f9c02-4d1a-4f7e-9b3c-2a5e8d0f1c44",
  "created_at": "2026-08-11T09:14:22Z",
  "payload_version": "v1",
  "data_kind": "Client onboarding",
  "record_id": 1234,
  "attributes": {
    "full_legal_name": "Tomas Lind",
    "residency_country": "United Kingdom",
    "source_of_funds": "Business sale and savings",
    "investable_assets": "400000",
    "is_politically_exposed": "false"
  }
}
  • Two events

    data.collected fires on the first record of a kind. data.updated fires when a dossier is corrected, which is the one an audit trail cares about.

  • Signed, so you can trust it

    Standard Webhooks HMAC-SHA256, with webhook-id, webhook-timestamp and webhook-signature on every request. Verify before you write to a client file.

  • Quotes are opt-in

    The provenance block carries the client’s verbatim words per field. Absent unless you turn it on, because sending them somewhere is a decision.

  • Zapier or Make

    Paste a Catch Hook URL into your Gnosari destination, then map the attributes onto your CRM record.

    Free tier, no app to install, and it fires instantly rather than on a poll.

    • Salesforce
    • HubSpot
    • Zoho
    • Calendly
  • Straight to the tool

    Anything that accepts an incoming webhook takes the payload as it is.

    No middleman and no per-task billing. Compliance sees it the moment it lands.

    • Slack
    • Teams
    • Notion
    • Airtable
  • Your own endpoint

    Give us an https address inside your perimeter, verify the signature, reconcile against the log.

    A few lines of code, and nothing leaves through a third party.

    • Postgres
    • Snowflake
    • BigQuery

And every attempt is on the record

WhenEventOutcomeDetail
11:31:04data.collectedDelivered200 OK
11:30:58data.collectedFailedTimeout after 10s, retrying
10:12:41data.updatedDelivered200 OK
Yesterday 16:20data.collectedFailed401, signature rejected

Every attempt is kept, newest first, with the reason when there is one. Failures retry on their own, and the signing secret lives in your dashboard so you can rotate it without calling anybody.

These are examples, not a partner list. Redtail, Wealthbox and Practifi are reachable the same way: through a Zap, or straight to an endpoint inside your own perimeter. For a regulated file, "it probably arrived" is not an answer, which is why the log is part of the product.

Two ways it can look

On the firm site, or a page of its own

Both of these are live right now, both running the same fact find. All that changes is where the client meets it: the corner of your site, or the link in the engagement email where the PDF used to be.
chat

The widget on your site

A button in the corner that opens into a conversation. Your logo, your colours, sitting on the pages you already have.

  • One line of HTML, anywhere on your site
  • Bubble, sidebar, sidebar-push or drawer
  • Opens over the page, closes again
conversation

A page of its own

No chat window and no widget. Your headline leads, the thread sits under it, and it reads like you asked rather than like software collecting.

  • Sent as a link, or scanned from a QR
  • Its own headline, caption and greeting
  • Every link counted separately
  • One responsive page: phone, tablet or desktop

Every screen on this page is a published Gnosari, embedded from the app. Type into any of them.

Put it on your site

One snippet, four ways to wear it

Paste one line of HTML anywhere on your site. How the widget sits on the page is a setting, not a rebuild, and you can change it after you ship.

Bubble

display_mode="bubble"

A floating button in the corner. Opens over your page and closes again. The default, and the one nobody has to be taught.

Four corners to choose from

Sidebar

display_mode="sidebar"

A fixed panel down one side, always open. For pages where the conversation is the point rather than an aside.

Left or right, any width

Sidebar push

display_mode="sidebar-push"

The same panel, but your content moves over to make room instead of being covered. Nothing on the page is ever hidden.

Left or right, any width

Drawer

display_mode="drawer"

Slides in over the page when it is called, then slides away. The middle ground between a bubble and a sidebar.

Left or right

Where else it lives

Not every conversation starts on a website

The same Gnosari, reached three other ways. A link, a code, or a piece of paper. All of them land in the same record.

01 · A link you send

joina.chat/l/your-slug

Put it in an email, a text, a booking confirmation or a signature. Each link carries its own opening line and headline, and counts its own visits, so you can tell which channel actually worked.

  • Its own greeting and headline
  • Optional expiry date
  • Counted separately

02 · A code they scan

The same link, printed

Every link comes with a QR. On a table card, a receipt, a delivery note, a door. Someone points a phone at it and the conversation starts, with no app and no typing.

  • PNG or SVG, print resolution
  • Points at the same slug
  • Old printed codes keep working

03 · A flyer you hand over

posters.gnosari.com

A builder for the printed thing itself. Pick a template, restyle it, edit the words on the page and export a print-ready poster or card with the QR already placed.

  • Posters, cards and flyers
  • Print or PNG export
  • No account needed
Whose brand it wears

Your brand, down to the font

Nobody should be able to tell it is us. Start from a curated look, mix your own colour and pattern, or set every design token yourself: every surface follows, from the widget to the conversation page to the link someone opens on their phone.

01 · Start from a preset

Twelve curated looks, each a colour and a background pattern chosen to go together. Pick one and you are done.

  • plainsky · noneCorporate or formal, or let the content lead
  • clean-dotssky · fine-dotsSaaS, B2B, dashboards
  • ocean-wavesocean · wavesWellness, travel, spa
  • forest-topoforest · topographyOutdoors, sustainability, eco
  • blueprintblue · blueprintEngineering, dev tools, architecture
  • graph-paperindigo · graph-paperEducation, finance, analytical
  • circuitteal · circuitTech, hardware, AI, electronics
  • soft-bubblesrose · bubblesFriendly, lifestyle, community, care
  • sunset-glowsunset · blobsCreative, marketing, bold consumer
  • emerald-gridemerald · gridHealth, growth, productivity
  • confettifuchsia · confettiEvents, kids, playful brands
  • mono-noiseviolet · noiseMedia, publishing, premium and minimal

02 · Or mix your own

22 colour themes and 44 background patterns, each drawn in code at four intensities. That is 3,872 combinations before you touch a single token.

22 colour themes

  • purple
  • blue
  • green
  • orange
  • pink
  • indigo
  • cyan
  • rose
  • amber
  • teal
  • fuchsia
  • sky
  • emerald
  • violet
  • sunset
  • ocean
  • forest
  • neon
  • gold
  • coral
  • lavender
  • mint

44 background patterns

  • dots
  • grid
  • diagonal-lines
  • zigzag
  • hexagons
  • triangles
  • diamonds
  • squares-rotated
  • cross-dots
  • plus-signs
  • waves
  • bubbles
  • clouds
  • topography
  • organic-blobs
  • flowing-curves
  • subtle-grid
  • circuit
  • blueprint
  • isometric
  • graph-paper
  • fine-dots
  • confetti
  • stars
  • hearts
  • sparkles
  • paper-texture
  • noise
  • chat-bubbles
  • speech-marks
  • conversation
  • messages
  • emoji-smileys
  • emoji-hearts
  • emoji-stars
  • emoji-thumbsup
  • social-likes
  • social-reactions
  • paint-splatter
  • brush-strokes
  • doodles
  • squiggles
  • party
  • flowers

Every pattern, four intensities

  • subtle
  • light
  • medium
  • strong

03 · Or set every design token

Exact hex values, fourteen fonts, bubble shape per side, corner radius, density, header and input. Explicit tokens always win over the preset. Two chats can share every line of markup and still wear two different brands: only the tokens differ.

A boutique hotel

fontFamily
Playfair Display
colorPrimary
#A16207
colorSurface
#FAF7F2
bubbles.user.radius
xl
radius
lg
Maison AurelOnline
Is late checkout possible on Sundays?
Until 2pm, and there will be coffee waiting downstairs.

A developer tool

fontFamily
JetBrains Mono
colorPrimary
#34D399
colorSurfaceDark
#0D1117
bubbles.user.radius
sm
radius
sm
relaydbOnline
Does the API rate limit per key?
600 requests a minute per key, with bursts to 1,000 for 30 seconds.

fontFamily accepts fourteen faces

  • Inter
  • system-ui
  • Roboto
  • Open Sans
  • Lato
  • Montserrat
  • Poppins
  • Source Sans 3
  • Nunito
  • DM Sans
  • Lora
  • Playfair Display
  • JetBrains Mono
  • Space Grotesk
  • radius: none · sm · md · lg · xl
  • density: compact · comfortable · spacious
  • intensity: subtle · light · medium · strong

Set with one call, or one click in the designer. Changing it later takes the same one call, and every published surface updates at once.

The alternative

Instead of what you do now

The comparison that matters is not against another chatbot. It is against the PDF fact find.
What changesPDF fact findForm builderGnosari
CompletionChased over daysAbandoned mid formOne question at a time
Not in good orderReturned for correctionSubmitted incompleteIt asks again before submitting
Ambiguous answersInterpreted by staffStored as typedClarified in the conversation
Into the CRMRe-keyed by handCSV or a paid connectorSigned webhook on completion
Audit trailThe scanned formA timestampThe verbatim sentence per field, opt in
CorrectionsA second formA second submissiondata.updated, delivered
Common Questions

Frequently Asked Questions

Everything you need to know about getting started. Can't find the answer you're looking for? Reach out to our team.

Still have questions?

Our team is here to help you get started.

Gnosari runs the fact find a financial adviser would otherwise chase through a PDF and three follow-up emails: identity, financial profile, goals, risk tolerance answers, beneficiaries and the documents still outstanding. It asks one question at a time through a link or on your onboarding page, then posts a timestamped record to your CRM. The adviser opens the discovery call with the pack already complete.

One fact find from now you could be in good order.

Build the agent, put it in the engagement email, and see the first dossier arrive complete. Free to start, no card.