Confidential · © 2026 Space-O Technologies Inc. · Prepared exclusively for DMA. Please do not copy, save or share.

Section 1 · Website AI Salesperson

1.2Natural conversation, not a form

Built in the POC
No.
1.2
DMA's reference
Decision Book p.10
Phase
Phase 1
Autonomy
L4 · Autonomous
DMA's decision
Yes

What DMA asked for · Decision Book p.10

Instead of a static form, the AI asks one useful question at a time and adapts to each answer.

Why it matters to DMA: Conversations convert better than forms. DMA calls this the core mechanic of the whole website agent.

In our words, from DMA's Product Decision Book v3, page 10.

How we do it

  • Each visitor message first passes quick checks: abuse, legal or payment trouble, a request for a person, a pricing question, or a request to book. Those are handled by fixed rules, so the important cases never depend on the AI's judgement.
  • Everything else goes to the AI strategist. Before each reply it gets a short brief from the system: what we already know, what is still missing (the business, the main problem, the website, the timing) and whether it is time to stop asking and offer a call.
  • The strategist asks one natural question at a time. When the visitor mentions a website, the free site review starts straight away and the findings appear in the chat as a card.
  • After every exchange, a smaller AI model updates the running notes: industry, number of locations, the problem, role, timing and which services fit. Code, not the AI, turns those notes into the 0–100 score and the A/B/C tier.
  • When the visitor books or leaves an email, the lead goes to Nutshell through the write gate with the summary, the score and the site review attached.

The flow

It plays on its own while it's on screen; hover or use the controls to pause or step through.

web addressbriefon bookingon bookingVisitor messagefree text, any orderSafety checksabuse · legal · paymentQuick routesbook · person · pricingAI strategistone question at a timeReplychecked sentence bysentenceSite reviewstarts when a web addressappearsWhat we knowbusiness, problem, timingNote-takerreads each exchangeScore 0–100calculated by codeNutshell leadthrough the write gate
Step 1 of 7

The visitor writes

"I own a dental practice with 3 locations. New patient calls are down this year." No form fields, in their own words.

  • Person
  • Rule in code
  • Routing
  • AI
  • Screen
  • Stored data
  • Nutshell

Where the data goes

The same six stages on every page. Nothing reaches Nutshell except through the write gate.

  1. 1Website chat

    Source

    The visitor's messages, and the website they share.

  2. 2Sync

    Copies Nutshell changes into the bridge database

    Mirrors the new lead back from Nutshell once it is written.

  3. 3Bridge database

    A copy of the CRM data, plus what the AI works out

    Stores every message (encrypted), the site review, the booked meeting.

  4. 4AI

    Claude models, only through DMA's own gateway

    The strategist writes replies; a smaller model keeps the notes.

  5. 5Write gate

    The only way back into Nutshell: checked, approved when needed, sent once

    Creates the lead with the summary, score and review attached.

  6. 6Nutshell

    The system of record

    A new lead with a note the salesperson can read in 30 seconds.

The tables behind it

Drawn from the POC's database catalogue: structure only, no data.

conv.conversationsPKiduuidchanneltextstatustextstagetextIDagent_version_iduuidhuman_takeover_attimestamp+ 16 more columnsconv.participantsPKiduuidFKconversation_iduuidroletextIDagent_iduuid+ 4 more columnsconv.messagesPKiduuidFKconversation_iduuidseqintegerIDparticipant_iduuidsender_kindtextis_untrustedbooleansent_attimestampIDdecision_iduuidIDagent_version_iduuid+ 12 more columnsai.site_reviewsPKiduuidIDconversation_iduuidurltextstatustextfindingsjsonbsuspicious_contentbooleanIDprompt_iduuid+ 11 more columnsctrl.meetingsPKiduuidIDconversation_iduuidstart_attimestamphost_labeltextstatustext+ 11 more columnsctrl.outboxPKiduuididempotency_keytextentity_typetextoperationtextFKapproval_iduuidstatetext+ 22 more columns

PK primary keyFK reference the database enforces (solid line)ID reference kept by id (dashed line)

TableWhat it holdsColumns
conv.conversationsOne row per chat, with its stage: opened, engaged, reviewed, booked.22
conv.participantsWho is in the chat: the visitor, the AI and any team member who joins.8
conv.messagesEvery line, encrypted; the visitor's lines are marked as untrusted input.21
ai.site_reviewsThe live website review: the three findings, with the evidence for each.18
ctrl.meetingsCalls booked from the chat, with the consent record for the visitor's email.16
ctrl.outboxThe write gate: every change bound for Nutshell waits here and is sent once.28
How the tables connect (11)
ColumnPoints toKept by
conv.conversations.agent_version_idagent.agent_versionsThe application (by id)
conv.participants.conversation_idconv.conversationsThe database (foreign key)
conv.participants.agent_idagent.agentsThe application (by id)
conv.messages.conversation_idconv.conversationsThe database (foreign key)
conv.messages.participant_idconv.participantsThe application (by id)
conv.messages.decision_idctrl.decision_logThe application (by id)
conv.messages.agent_version_idagent.agent_versionsThe application (by id)
ai.site_reviews.conversation_idconv.conversationsThe application (by id)
ai.site_reviews.prompt_idagent.promptsThe application (by id)
ctrl.meetings.conversation_idconv.conversationsThe application (by id)
ctrl.outbox.approval_idctrl.approvalsThe database (foreign key)

Worked example

Synthetic demo data: every name, business and number is made up.

One real conversation on the BrightSmile demo site, step by step

1 / 6

What you see

1.The chat opens with the disclosure

Before anything else, the visitor is told they're talking to DMA's AI assistant and that a person can join any time.

The chat's first line: the visitor is talking to DMA's AI assistant, and a person can join any time.
Callout 2

What happens in the system

  • Rule engineALLOWchat.disclosure

    Disclosure recorded before the first reply: the AI-assistant disclosure was shown first.

  • Bridge databaseconv.conversations

    A new conversation row: channel web chat, the starting page, stage "opened".

  • Rule engineopener picker

    The first line is chosen by rules from the page and campaign tags. No AI call, so no cost.

Right-hand values come from a real run of the POC on September 25, 2026 (trace tr_muh5sw194tot7e797019, tr_muh5sw3y109o05zmqjmp6…). Rows marked “sample” are illustrative.

A synthetic visitor, the owner of a three-location dental practice, chats on the BrightSmile demo page.

The conversation

#WhoMessage
1AIYou're chatting with DMA's AI assistant. A person from DMA can join any time: tap "Talk to a person".
2AIHi, I'm DMA's AI assistant. What does your business do, and what would you like more of: calls, leads or sales? Or paste your website and I'll show you three things I'd fix.
3VisitorI own a dental practice with 3 locations. New patient calls are down this year.
4AIThat's a frustrating trend, especially across three offices. Is it all three, or is one location doing worse than the others?
5VisitorMostly Lakeside and Northgate. Our site is brightsmile-demo.test
6AI(The review card shows three findings.) Two of your offices have no map on their pages, which lines up with fewer calls there. When were you hoping to have this sorted?
7VisitorIdeally in the next month or two.
8AIThat's a realistic window. A 45-minute call with a strategist would walk through a plan for each office. Want to pick a time?

What the note-taker recorded

Business
Dental practice, 3 locations
Main problem
New-patient calls are downStated clearly by the visitor.
Role
Owner (decision maker)
Timing
Soon: in the next month or two
Services that fit
SEO, Local search
Still missing
Budget (the AI never asks for money)

The score, worked out by code

FactorWhat we knowWeightPoints
Size3 locations1512
SpendNot discussed, so a neutral value156
PainA specific problem, stated2020
AuthorityOwner1515
TimingIn the next month or two2014
FitTwo core services (SEO, local)1515
TotalTier A (70 and above). Next step: call today, hot inbound lead10082

In the running POC

The chat's first line: the visitor is talking to DMA's AI assistant, and a person can join any time.

1 / 5The chat's first line: the visitor is talking to DMA's AI assistant, and a person can join any time.

  1. 1The header label and the "Talk to a person" button, on screen for the whole chat.
  2. 2The disclosure in the first message.

Website chat · the AI disclosure (label, first message, Talk to a person). Captured from the running POC on September 25, 2026; synthetic data.

See it live

Opens the exact screen in the running POC, in a new tab.

OpenWhereWhat to try
BrightSmile Dental demo siteDemo prospect websiteOpen the chat, describe a problem, then paste brightsmile-demo.test.
Live chatsDMA AI dashboardSee the conversation, its tier and last line while it happens.
Leads in the CRM simulatorCRM simulator (stands in for Nutshell)After a booking, the new lead appears here with the chat summary.

Status

Built in the POC

Built in the POC. This capability runs in the POC today, on synthetic data, end to end.

1.2 Natural conversation, not a form · DMA AI proof