Docs / Agent Map

Agent Map

Every Casino site (built app) with a registered agent, and how to reach it. Each site is live at {site_id}.casino.flowstack.fun; agents are reached through the Sage API at https://sage-api.flowstack.fun POST /stream (persona-targeted) or POST /agents/route.

19
Sites
29
Agents
1
Tenant
snapshot 2026-06-29 · agents-map.json
inspector
Read-only data inspector for debugging. Queries collections and returns raw results. Never writes.
data_access
reach: POST /stream · persona=inspector
interviewer
Conversational intake agent. Interviews a new member in a short back-and-forth, pushes back on generic answers, then writes the finished profile into the shared members pool (upsert by owner_email).
data_access
reach: POST /stream · persona=interviewer
matchmaker
Skeptical matchmaker. Reasons on behalf of one principal against the shared profiles pool, applies dealbreakers as hard filters, and writes a structured JSON result to the matches collection. Proposes only; never contacts anyone.
data_access
reach: POST /stream · persona=matchmaker
registrar
Write-path for the shared members pool. Upserts member profiles into the shared `members` collection by owner_email (end-users can't write shared collections directly).
data_access
reach: POST /stream · persona=registrar
interviewer
Conversational intake agent. Interviews a new member and emits the finished profile as a machine-readable marker for the app to persist.
data_access
reach: POST /stream · persona=interviewer
matchmaker
Skeptical matchmaker. Reasons over a principal against candidates, applies dealbreakers as hard filters, and writes a structured result to the matches collection.
data_access
reach: POST /stream · persona=matchmaker
registrar
Write-path for the shared members pool. Upserts member profiles into the shared members collection by owner_email.
data_access
reach: POST /stream · persona=registrar
interviewer
Conversational intake agent. Interviews a new member and emits the finished profile as a machine-readable marker for the app to persist.
data_access
reach: POST /stream · persona=interviewer
matchmaker
Skeptical matchmaker. Reasons over a principal against candidates, applies dealbreakers as hard filters, and writes a structured result to the matches collection.
data_access
reach: POST /stream · persona=matchmaker
registrar
Write-path for the shared members pool. Upserts member profiles keyed by member_key (a non-PII identifier).
data_access
reach: POST /stream · persona=registrar
interviewer
Conversational intake interviewer. Builds an honest dating profile through chat and emits it as structured data each turn. Never writes to the database; the app persists.
data_access
reach: POST /stream · persona=interviewer
matchmaker
Reasons over a principal profile and candidate list provided in the prompt; returns ranked match proposals with the honest catch as JSON. Never queries the database.
data_access
reach: POST /stream · persona=matchmaker
matchmaker
Matches a builder with the people in the room they should talk to, based on overlapping problems and complementary needs/offers.
data_access
reach: POST /stream · persona=matchmaker
registrar
Persists one builder profile into the shared `builders` collection (upsert by owner_email). Used as the write path since end-users can't write shared collections directly.
data_access
reach: POST /stream · persona=registrar
shopbot
Shopify support agent — data_access only
data_access
reach: POST /stream · persona=shopbot
shopbot_test
P0-116 QA test agent
data_access
reach: POST /stream · persona=shopbot_test
kind_therapist
A warm, non-clinical companion for reflection. Listens well, reflects gently, holds space without pushing toward solutions or labels.
chat
reach: POST /stream · persona=kind_therapist
priest
A theatrical AI confessor who judges anonymous confessions, assigns penance, and writes the verdict to the shared wall.
data_access
reach: POST /stream · persona=priest
alpha_researcher
Crypto research agent — fundamental analysis, on-chain signals, risk flags
data_accessexternal_integration
reach: POST /stream · persona=alpha_researcher
crypto_analyst
Crypto research analyst — deep dives, signals, opportunity surfacing
data_accessexternal_integration
reach: POST /stream · persona=crypto_analyst
concierge
Front-desk concierge that recommends an operator, qualifies the visitor, and writes a structured lead to the leads collection.
data_access
reach: POST /stream · persona=concierge
companion
A research-grounded AI companion for people navigating loneliness
data_accessworkspace_managementexternal_integration
reach: POST /stream · persona=companion
positioning_interviewer
Conversational intake agent. 20-min interview produces structured positioning doc. Pushes back on generic answers.
data_access
reach: POST /stream · persona=positioning_interviewer
matchmaker
Skeptical matching agent. Reasons on behalf of one principal against the shared profiles pool, proposes matches with rationale + honest caveat. Proposes only; never contacts anyone.
data_access
reach: POST /stream · persona=matchmaker
keon_ds
Data-science agent for keoncummings.com. Direct voice, evidence-first answers, saves artifacts to the visitor's workspace.
data_accesscode_executionworkspace_management
reach: POST /stream · persona=keon_ds
intro_matcher
Reads RSVPs and profiles for a Zero To One event and generates 3 personalized intros for each attendee.
data_access
reach: POST /stream · persona=intro_matcher
ads_operator
Proactive paid search operator. Auto-discovers Google Ads accounts and GA4 properties on session start. Reads campaign brief from database. Runs five-phase campaigns: discover → research → structure → launch → optimize.
external_integrationdata_accesscode_executionworkspace_management
reach: POST /stream · persona=ads_operator
matchmaker
Scores B2B prospect fit and routes to a sales rep. Returns strict JSON the app parses.
data_access
reach: POST /stream · persona=matchmaker
caveat
Caveat — one skeptical-matchmaker persona: learning conversation + append-only notes + structured profile; matching happens in the matches view where the app supplies the pool.
data_accessexternal_integration
reach: POST /stream · persona=caveat