The room before the room.
Foyer is the threshold between agency and client — where conversations land, brand context lives, and creative decisions are remembered.
What it is
A system of record for creative client engagements — not a project manager pretending to be one.
Inbound from five channels (Telegram, Slack, WhatsApp, SMS — and the rest in time) lands as structured artifacts. Each artifact carries its kind, its thread, its place in the project, and a quiet record of who said what when.
The brand isn't a tab in settings. It's the prompt scaffolding behind every creative decision the system helps make: every naming candidate, every mission draft, every styleguide rule. You define it once. Foyer remembers.
How it works
Two surfaces, one source of truth.
The Workspace is the agency-internal cockpit. Dense, multi-view, agent-aware. The Stage is what the client sees — curated, branded in their identity, calm. Same data, different projection. Nothing gets out of sync because nothing was ever a copy.
Workspace ↔ Stage
Workspace
- Inbound triage inbox
- Polymorphic Artifact view
- Agent runs + audit
- BrandKit editor
- Q&A across everything
Stage
- Pinned artifacts only
- Themed in client brand
- Comment + light-edit
- Talktrack walkthroughs
- Signed-URL access
Webhook receiver, idempotent worker, media hydration up to 20 MB.
Distributed OAuth, channel-scoped bot membership, Marketplace path.
Meta Cloud API, Embedded Signup per WABA, 24-hour window state machine.
Twilio, A2P 10DLC, opt-out compliance. Paperwork is the long pole.
"Brand isn't a tab in settings. It's the scaffolding behind every word the system writes."
Six load-bearing decisions
-
One polymorphic Artifact.
Every nameable thing — brief, naming candidate, decision, captured message — is the same shape with a different kind. Typed storage behind a uniform wire.
-
Clients are always free.
Unlimited free client seats per ClientContainer. We charge agencies for seats, not their clients for access.
-
Brand as auto-injected context.
BrandKit ships as a cached prompt prefix into every generative call. Triage agents don't get it. Creative agents always do.
-
Agents are typed actors.
Name, scope, trigger, permission set, run budget, audit trail. Not a chat completion. Not a vibes-based suggestion.
-
External agents are first-class.
A hosted MCP server with OAuth means Claude Code, Cursor, and Codex can teammate with your Foyer workspace.
-
Audit is the floor.
Every write — by whom, when, through which surface — is an immutable row. 365 days standard. Seven years for regulated.
Built for studios that already have a voice.
If your agency runs on conversations across half a dozen channels and a thousand small decisions, you already need this. We're talking to a small first cohort.