An agentic CRM for creative agencies

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
Agency · paid seats
  • Inbound triage inbox
  • Polymorphic Artifact view
  • Agent runs + audit
  • BrandKit editor
  • Q&A across everything
foyer
Stage
Client · free seats
  • Pinned artifacts only
  • Themed in client brand
  • Comment + light-edit
  • Talktrack walkthroughs
  • Signed-URL access
Telegram
Phase 1 · ready

Webhook receiver, idempotent worker, media hydration up to 20 MB.

Slack
Phase 2 · scaffolded

Distributed OAuth, channel-scoped bot membership, Marketplace path.

WhatsApp
Phase 4a · scaffolded

Meta Cloud API, Embedded Signup per WABA, 24-hour window state machine.

SMS
Phase 4b · gated

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

  1. 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.

  2. Clients are always free.

    Unlimited free client seats per ClientContainer. We charge agencies for seats, not their clients for access.

  3. 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.

  4. Agents are typed actors.

    Name, scope, trigger, permission set, run budget, audit trail. Not a chat completion. Not a vibes-based suggestion.

  5. External agents are first-class.

    A hosted MCP server with OAuth means Claude Code, Cursor, and Codex can teammate with your Foyer workspace.

  6. 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.