Skip to content
Free AI chatbot for websites

Most chatbots just chat.
This one collects data.

Everything you used a form or a survey for, asked in a conversation instead. What comes back is a clean, typed record your stack can act on, not a transcript. Free to start, live in five minutes.

01 · They talk

Your chatbotAnswering
What are you looking for?
A 2-bed near the park
Under $2,400 a month

02 · It becomes a record

Bedrooms
2
Budget
$2,400 / mo
Move-in
March

typed · validated · deduped

03 · Your stack acts

  • Sales channel pinged
  • Any Zap you can imagine
  • Or any Make scenario
  • Row appended to your sheet
  • Webhook fired at your API
Five jobs, one chatbot

Start from what you need done

Same machine, same line. Picking a job only changes what it is trying to find out, and therefore what comes out the other end.

In · the conversation

Lead QualifierOnline
We need help rolling this out across three sites.
Three sites, got it. What sort of budget are you working to?
Somewhere between five and ten thousand, this quarter.

Out · Qualified lead

Name
Sarah Whitfield
Budget
$5,000-10,000
Timeline
This quarter
Verdict
Meets your criteria

Qualifies visitors in conversation instead of a form, against your own criteria - need, budget, timeline, fit - and hands you the ones worth your time.

No screenshots. This is it

Talk to one right now

Five live Gnosaris, built with the same wizard you would use. Two are the chat widget, three are full conversation pages. Say anything and watch how they steer.

Open this one full screen
Two ways it can look

On your site, or a page of its own

Both of these are live right now. Same Gnosari underneath, same questions, same record at the end. All that changes is where someone meets it.
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

You define the shape

Name the fields. It does the asking.

You never write a question. You write down what you need to know, and the chatbot works out how to get it in conversation.

01 · What you write down

FieldTypeReq
Full nametextyes
Emailemailyes
Phonephone
Budgetnumber
Move-in datedate
Has petsboolean
Must-haveslist

Seven types. Every value that comes back is validated against the one you picked, so a date is a date and a number is a number.

02 · How it should ask

ai_hint on “Budget”

“A range is fine. Never push if they decline.”

It asks

“Roughly what were you hoping to spend? A ballpark is completely fine.”

One line of plain English per field, and only where you want one. It is the difference between an interrogation and a conversation.

03 · What lands

Full name
Sarah Whitfield
Budget
$2,400 / mo
Move-in date
14 March
Has pets
Yes

Typed, validated, and carrying the exact words it came from. Nothing the visitor did not say is ever stored.

Where the records land

One inbox, not four hundred transcripts

Every conversation that produced something useful arrives here as a row you can read in two seconds. Filter by chatbot, mark it handled, or take the whole thing as a CSV.

Collected data

316 collected12 this week3 need attention

Export CSV
  • Priya Raman Qualified leadBrightwave Studio · 2h ago
  • Tomas Lind Qualified leadBrightwave Studio · 5h ago
  • Anonymous visitor FeedbackThe Alder House · Yesterday
  • Dan Whitfield Patient intakeOakline Dental · Yesterday
  • Anonymous visitor Moving enquiryNorthpoint Moving · Mon

Priya Raman

Captured 2h ago · Brightwave Studio · joina.chat

Captured data 6 of 7 fields

full_namePriya Raman
emailpriya@fieldnotes.co
companyFieldnotes Studio
roleNot captured
budget$8,000 - $12,000
timelineBefore end of Q3
project_typeRebrand and new site

From the conversation

“We are a studio called Fieldnotes, and I have about eight to twelve thousand set aside for a rebrand.”

Every value keeps the sentence it came from, and a value the visitor never said is never stored. The chatbot 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 stack gets the record, not another login

The moment a conversation produces something useful, Gnosari posts it to whatever address you give it. Signed, versioned and retried. From there it is a webhook, which means it reaches almost anything you already run.
POST https://hooks.zapier.com/hooks/catch/1234567/abcdef

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": "Qualified lead",
  "record_id": 1234,
  "attributes": {
    "full_name": "Priya Raman",
    "email": "priya@fieldnotes.co",
    "budget": "$8,000 - $12,000",
    "timeline": "Before end of Q3"
  }
}
  • Two events

    data.collected fires the first time a Gnosari collects a new kind of data. data.updated fires when a record changes, 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 anything to your own database.

  • Retried, and logged either way

    A failed delivery retries on its own and the dashboard keeps every attempt with the reason it failed. Quotes from the conversation ride along only if you turn them on.

  • Zapier or Make

    Paste a Catch Hook URL into your Gnosari destination. That is the whole setup.

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

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

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

    No middleman and no per-task billing. You map the fields once.

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

    Give us an https address, verify the signature, write it wherever you like.

    A few lines of code, and the delivery log tells you when something did not land.

    • Postgres
    • Supabase
    • BigQuery
    • Snowflake
    • Retool
    • Twilio

And you can see every attempt

WhenEventOutcomeDetail
09:14:22data.collectedDelivered200 OK
09:14:20data.collectedFailed503, retrying in 30s
Yesterday 17:02data.updatedDelivered200 OK
Yesterday 11:48data.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. A webhook reaches anything that accepts one, and Zapier and Make cover several thousand more between them. If your system takes an HTTP request, it takes a Gnosari record.

What actually happened

Every conversation, already read

You are not going to read six hundred transcripts, so each one arrives summarised: what they wanted, what it was about, how it went, and what somebody needs to do next.

Conversations

Brightwave Studio22 msgs · 2h ago

Studio rebrand plus a new site, budget stated, wants to start before Q3 closes.

quoterebrandbudgettimeline

The Alder House9 msgs · 5h ago

Room was fine, check-in queue was not. Asked for a late checkout and did not get one.

feedbackcheck-instaffing

Oakline Dental14 msgs · Yesterday

New patient, existing crown, nervous about the drill. Flagged for a longer first slot.

intakenew patientanxiety

Northpoint Moving11 msgs · Mon

Two-bed flat, third floor, no lift. Asked twice about insurance and left without booking.

enquiryaccessinsurance

The summary is written from the conversation, not from the fields, so a visitor who asked three questions and never left a detail still tells you something. Those are the ones that never reach a form.

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.

Where its answers come from

It answers from your content, and admits when it cannot

Give it your website and it reads it. Everything it tells a visitor comes from something you published, and when the answer is not in there it says so and hands the question to you.

01 · What you give it

  • websiteYour websitePaste the address. It looks for a sitemap, and if there is not one it finds the pages itself.Auto-resolves to sitemap or discovery
  • sitemapA sitemap you namePoint it at the exact sitemap when you want to control precisely which pages it reads.You choose the crawl
  • discoveryA single pageOne URL, read on its own. For a pricing page or a policy that changes on its own schedule.No crawl at all

02 · What it does with it

Your chatbotAnswering
Do you open Sundays?
Yes, 10 to 4 on Sundays. Kitchen closes at 3.

Answered from your opening-hours page

Can you do a gluten-free tasting menu?
I do not want to guess on that one. I will pass it to the team and someone will come back to you.

Not in your content, so it goes to a human instead

Same thread, same chatbot. The second answer is not a failure, it is the rule working: it will not invent one.

The rule is enforced in code, not in a prompt: a value is only ever stored when it can be traced to something the visitor actually said. The chatbot's own words can never become your data.

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
How hard it asks

How hard it asks is a setting.

One dial on your chatbot, four positions: from never asking a question to asking until every field is filled. Same visitor, same fields, four speeds.
Visitor says

“We are a family of four, hoping to move somewhere quieter.”

01Passive

“That sounds like a big change. What is drawing you away from where you are now?”

The same 4 fields

  • household_sizeextracted
  • location_prefextracted
  • timelineif offered
  • budgetif offered

You write nothing

02Opportunistic

“A quieter spot with room for four, got it. Roughly when are you hoping to move?”

The same 4 fields

  • household_sizeextracted
  • location_prefextracted
  • timelineasking now
  • budgetif it comes up

You write nothing

03Active

“Lovely. So I can send the right places, what is your monthly budget?”

The same 4 fields

  • household_sizeextracted
  • location_prefextracted
  • timelineup next
  • budgetasking now

You write nothing

04Guided

“Thanks. First question of six: which areas are you considering?”

Your script, in your order

  • areasasking now
  • household_sizeq2
  • timelineq3
  • budgetq4

You write the script

Guided is the only position that takes a script of your own. The other three write their own questions from the fields you named, and every position writes the same record.

How it carries itself

Behaviour you write once, and stop rewriting

A trait is one rule about how the chatbot conducts itself, kept in your library and attached to whichever Gnosaris need it. Change the rule once and every chatbot wearing it changes with it.

Your trait library 4 of 5 on this Gnosari

One Question at a TimeAttached

Asks a single question per message - never dumps a checklist

weight 1.5

Stays On TopicAttached

Politely refuses off-topic requests and steers back to its purpose - won't be used as a general chatbot

weight 1.5

Conversational CloseAttached

Ends an intake conversation cleanly - recaps captured details, confirms, states next step, then stops

weight 1.3

Conversational ReadabilityAttached

Short, scannable chat messages with a clean bolded recap, without turning replies into a formatted document

weight 1.2

Acknowledge and Keep It ShortIn library

Reflects back what the visitor said, then responds in 2-3 sentences

weight 1.3

If you already work in an AI client

Or just ask Claude to build it

Gnosari is an MCP server, so the assistant you already have open can create a chatbot, point it at your site, set how it behaves and publish the link. You describe it once, in a sentence, and never open our app.

01 · You ask

“Build me a chatbot for my dental practice that books first visits. Read oaklinedental.com, collect name, phone, insurance and whether they are nervous, then give me the link.”

02 · It calls the tools

  • Create GnosariName, purpose, the fields to collect
  • Manage KnowledgePoints it at your website
  • Manage TraitsAttaches how it should behave
  • Manage Agent LinksPublishes a link and a QR

03 · It is live

Published

joina.chat/l/first-visit

A real, published Gnosari. It shows up in the app like any other, and the records land in the same inbox.

Add this server

https://mcp.gnosari.com

Paste it into your client's connector settings. Sign in to Gnosari when it asks. There is no key to copy and nothing to install.

Works in

  • Claude
  • ChatGPT
  • Claude Code
  • Cursor
  • Cline
  • Windsurf
Before you ask

The questions everyone asks

Answered here rather than hidden behind a tap, because the one you care about is probably not the first one.
Do I need to write the questions?
No. You write down the fields you want and the chatbot works out how to ask for them in conversation. The only mode that takes a script you wrote is Guided, and it is there for intake that has to happen in a fixed order.
What stops it making things up?
Two things, both enforced in code rather than in a prompt. It answers from the content you gave it and says so when it does not know. And a value is only ever stored when it can be traced back to something the visitor actually said, so the chatbot's own words can never end up in your data.
Where does the data go?
Into your dashboard as typed records the moment the conversation happens. From there it can reach your CRM, a spreadsheet or your own API through a webhook. There is no export step to remember.
Can it send the data into Zapier, Make or my own system?
Yes, through an outbound webhook. When a record is complete Gnosari posts a signed JSON payload to any address you give it, so a Zapier Catch Hook or a Make custom webhook reaches several thousand tools with no app to install on either side. Requests are signed with HMAC-SHA256 and every attempt is retried and logged.
What happens if my endpoint is down when a record arrives?
The delivery retries on its own, and the dashboard keeps every attempt with the outcome and the reason it failed. The record itself is never lost: it is already in your inbox, and the delivery is a separate thing that either lands or tells you why it did not.
Does it look like Gnosari or like us?
Like you. Twelve curated looks, your logo, your colours, your headline, on the widget and on the conversation page. The only Gnosari mark is a small "Powered by" line.
What if someone asks something it should not answer?
It hands the question to you rather than guessing. That is the same mechanism as the "when it does not know" case, and it is why regulated trades can use it: it is built to decline rather than improvise.
How long does setup actually take?
Minutes for the first working version: name the fields, paste your website address, share the link. Refining the questions and the look is something you do afterwards, on a live chatbot, without rebuilding anything.
Do I need a developer?
Only if you want the widget on your own site, and even then it is one line of HTML pasted once. A link or a QR code needs nothing technical at all.
What does it cost?
It is free to start, with no card. The paid plans and their limits are listed below.
What it costs

Free to start, and free to stay small

No card to begin. You only pay when the conversations are worth paying for, which is a decision you get to make after it is already working.

See everything each plan includes

Five minutes from now you could have one collecting data.

Free to start, no card, and it is answering on your site before your coffee goes cold.