The same questions get asked every week, and the answers live in SOPs, a shared drive, old tickets and one person’s head. A generic chatbot bolted onto that makes it worse.
How it runs
Ingest
01 / 07 Workflow 3 of 5 · Ingest & Index · 25 nodes
Drive documents, PDFs and resolved tickets are chunked, embedded and stored in a Supabase database the client owns.
The gates, 10 If and Switch nodes, decide whether anything happens next: a countable part of the system, not a claim about it. The 22 sticky notes carry the reasoning on the canvas, at the point it applies.
The guards, and what each one prevents
HoverTap a card to read what it prevents.
No verbatim quote, no answer
No verbatim quote, no answer
Case, whitespace and curly quotes are normalised, then the quote must appear in what was retrieved. A failed check routes to a refusal, never to a softened answer.
Default-deny, inside the search
Default-deny, inside the search
Permissions are applied inside the similarity search, not checked on the answer afterwards, so a restricted document cannot leak through a prompt.
Unchanged documents are never re-embedded
Unchanged documents are never re-embedded
A content hash is compared first, so re-reading a folder that has not changed costs nothing.
Old text goes before new text arrives
Old text goes before new text arrives
A changed document’s old chunks are deleted before its new ones are written, or it would answer with both versions and nobody could tell which.
Deleted at the source, deleted here
Deleted at the source, deleted here
A file trashed in Drive loses its record and chunks, so nothing cites a file that no longer exists.
The assistant ignores itself
The assistant ignores itself
Messages from bots are dropped first — the classic loop of a Slack bot replying to its own answer, forever.
Limits, stated plainly
Built, not yet deployed. The workflows pass the importability checks; they have not run end to end against live Supabase, OpenAI and Slack accounts.
WhatsApp is not built. Slack and a site-widget webhook are; WhatsApp would be a new trigger into the same retrieval and quote check.
Tickets are read from a table a separate export has to fill; there is no Zendesk, Freshdesk or Intercom connector here.
The model’s confidence is logged, not gated: a low-confidence answer that passes the quote check still posts.