Chat — Summary
The Chat is the user-facing website where Consumers talk to the agents you've created in Keen. Every message a user sends triggers the flow you designed in the Keen Extension.
This page is a one-screen overview. Each page below has its own dedicated file — click through for details.
URL surfaces
| URL | Page | Detail |
|---|---|---|
/login | Sign-in form. Signed-out visits to anything else redirect here. | login.md |
/registration | Public sign-up form (visible only when external registration is enabled). A partner can alternatively drive sign-up from its own UI via the registration API. | registration.md |
| (after login) | OTP code entry, when OTP is enabled for that user class. | otp.md |
/ | Spaces picker — the post-auth landing page. | spaces.md |
/c/<spaceId> | Agent picker inside a Space. | agents.md |
/c/<spaceId>/<agentId> | The conversation with a specific agent. | conversation.md |
<spaceId> and <agentId> are the cuids generated when you create the Space / Agent in /org.
Consumer journey
visit / ─┐
├─► redirect /login ─► enter creds ─► [OTP page if enabled] ─► /
│ │
├─► /registration (if public reg enabled) │
│ │ │
│ └─► email link (24h) ─► /login ─────────────────────────────┘
│
└─► / (if already logged in) ─► pick Space ─► /c/<spaceId>
│
└─► pick Agent ─► /c/<spaceId>/<agentId> ─► chat
How Spaces get assigned to a Consumer
| Consumer type | Where Space access comes from |
|---|---|
Outside-registered (used /registration or the partner-driven route) | Auto-assigned default Spaces — from the tenant contract's default outside Spaces on a partner-integrated deployment, or from /org/system/settings-consumer → Consumer Spaces on a first-party one. |
| System-registered (admin invited them) | Manually assigned by the admin from the consumer's /org edit page (the documented default). On partner-integrated (contract) deployments the tenant contract also defines a defaultSystemRegisteredConsumerSpaces set that may seed system registrations as a starting grant — see the note below. |
Nuance — system-registered default Spaces. On a partner-integrated deployment the tenant's
ConsumerContractdefinesdefaultSystemRegisteredConsumerSpaces(a subset of the contract's master Spaces) intended as the starting grant for in-app/system registrations. The durable-owner documentation, however, only describes the outside-registration seed as actually wired end to end, so whether a system registration is auto-seeded from this contract default versus assigned manually is deployment- and version-dependent. Treat manual assignment as the documented default and confirm contract-seeded behavior against your deployment.
Either way, the Spaces a Consumer can access are what they see on /. Agents inside those Spaces are what they see on /c/<spaceId>. For partner-integrated deployments the visible set is re-clamped to the tenant's currently-permitted Spaces on every login. See Spaces page.
Related
- Organization → Consumers — how Consumers are created and where their Space access is configured.
- Organization → System — the
System Consumer Settingspage that controls registration, OTP, and default Spaces. - Organization → AI Spaces — the boundary the Chat reads from.
- Organization → Agents — the entries the Chat actually triggers.