Dotsy

Support: bug reports, AI chat, learning loop, customer add-on

Customers report a bug with a marked-up screenshot, or ask the AI assistant, which answers from the help centre. Everything real lands in Slack, where Hermes investigates and Zare or Luka fix and reply. Replies reach the customer in the widget, or by email.

Spec 1.4 M1–M4, in approval order. Read APPROVAL.md for what each screen unblocks and the one question on it. Prices show as [price TBD] on purpose.

M1 — Report a bug in the dashboard and editor; email replies

S1newHelp menu: Ask · Report a bug · Your reports

m1-help-menu.html?state=menu

Question: A: a "?" menu in the top bar (pick; no button over the editor canvas) or B: the floating launcher widget.html?state=1?

S2as isBug form: description, screenshot, more images, details list

widget.html?state=2

S3as isMark it up: box, pen, arrow, blur

widget.html?state=3

Question: Spec § 9.2 lists Box, Pen, Blur. Drop Arrow (pick) or keep it?

S4newReport from the editor: editor + page in one screenshot

m1-help-menu.html?state=editor

S5newGuest report: email field first

widget.html?state=9

S6newAPI key screen: key hidden in the screenshot

m1-masked.html?state=keys

S7newBilling screen: payment details hidden

m1-masked.html?state=billing

S8as isSent: receipt + "we'll reply here or by email"

widget.html?state=4

S9as isNeeds info: the support agent asks

widget.html?state=5

S10as isFix in progress: a person joined

widget.html?state=6

S11as isFixed, live: changelog link + "Did this fix it?"

widget.html?state=7

S12newYour reports: list, statuses, unread dot

widget.html?state=8

Question: Status words Fixing · Needs your reply · Fixed · Closed (pick, Gleap-like and plain) or show the raw spec states?

S13newEmail: team reply, reply-by-email

m1-email.html?state=reply

S14newEmail: fixed notice to reporter and +1s

m1-email.html?state=fixed

M2 — AI chat in the same launcher

S15as isWelcome: search help, common questions, report a bug

widget.html?state=b

S16as isCited answer: help-centre links under the answer

widget.html?state=c

S17as isSigned-in check (read-only DNS lookup)

widget.html?state=d

S18newNot sure → Ask a person

widget.html?state=i

S19wording updateHand-over becomes a ticket

widget.html?state=e

S20as isTeam reply in the chat

widget.html?state=f

S21as isSolved + "Was this helpful?"

widget.html?state=g

S22newOver limits: leave a message + email

widget.html?state=j&visitor=anon

S23as isdotsy.ai launcher (anonymous) + phone

widget.html?state=a

Question: Keep the "Need a hand?" teaser bubble, or launcher only (pick: launcher only; the spec doesn't ask for a teaser)?

M2 v1 — What the chat knows (dashboard)

K1newKnowledge: what the chat knows + Test a question

m2-knowledge.html?state=k1

Question: Knowledge segment in Customers › Support (pick) or Settings › Support (option B)?

K2newSnippets: search, Import/Export CSV, Internal badge

m2-knowledge.html?state=k2

K3newAdd a snippet (sheet), started from a test question

m2-knowledge.html?state=k3

Question: Snippets live on save (pick) or wait for Publish?

K4newCSV import: N added, M skipped with reasons

m2-knowledge.html?state=k4

Question: Existing question: skip and keep yours (pick) or replace?

M3 — Learning loop

S24newSlack: Monday weekly digest with gap drafts + auto-send offer

m3-learning.html?state=digest

S25newSlack: gap draft waiting for ✅, then published

m3-learning.html?state=gap

Question: Approve gap drafts by ✅ in Slack (pick, same as replies) or in the dashboard help editor?

M4 — Support add-on for customers' sites

S26newSupport tab, add-on off: offer + preview

m4-addon.html?state=off

Question: New "Support" sidebar item (pick) or a tab under Forms?

S27newChoose Support or Support + AI, pay

m4-addon.html?state=sheet

Question: One add-on with an AI switch, or two tiers as § 11.6 proposes (shown)?

S28newFirst day: setup checklist

m4-inbox.html?state=empty

S29newInbox: list + conversation the AI handed over

m4-inbox.html?state=inbox

S30newBug report + owner's AI agent draft, person sends

m4-inbox.html?state=bug

S31newSearch across messages

m4-inbox.html?state=search

S32newReporting: 5 numbers + top questions

m4-inbox.html?state=reporting

S33newSettings: help button, AI on/off, email forward, retention, turn off

m4-settings.html?state=settings

S34newOwn AI key: copy-once secret, then provider only

m4-settings.html?state=key

S35newVisitor widget on a customer site: cited answer

m4-visitor.html?state=answer

Question: Widget colours taken from the site automatically (pick) or picked by the owner in Settings → Look?

S36newVisitor: not sure → email → team

m4-visitor.html?state=notsure

S37newVisitor: report a problem with screenshot

m4-visitor.html?state=report

S38newVisitor: solved → 1–5 rating

m4-visitor.html?state=csat

S39newEmail to a visitor from the site's own name, with rating

m1-email.html?state=customer

Background

How it works

Both flows in plain words and the ground rules. Explainer, nothing to approve.

Slack: M0 bug card and thread

Built in the bugs channel. Its daily digest and gap cards are superseded by S24–S25.

Notes