User namespace

The user namespace is the stable "who's asking" context that every agent run has access to. It's the smallest of the four namespaces — and the one that changes least often.

What's in it

Three things, in this order:

  1. Identity — name, email, role, tenant_id, timezone, locale.
  2. Preferences — output style preferences, language preferences, notification preferences, opt-ins.
  3. Profile context — anything the user (or an admin) explicitly pinned: "I'm the VP of Sales at Acme," "I focus on enterprise deals," "I report into our CRO weekly."

The block stays small on purpose. Anything more dynamic belongs in memory (auto-promoted) or skills (explicit playbook). USER is "what the agent should always know about you."

Where it comes from

SourceCaptured into
Sign-up + onboarding wizardIdentity + initial preferences
Settings → ProfileIdentity edits
Settings → PreferencesOutput style, language, notifications
Settings → Profile contextPinned profile notes (free text)
Memory promotion pipelinePinned facts that recur enough to become preferences

The last one is the magic: if you tell the agent "respond in JSON" across 10+ different runs, the promotion pipeline promotes that into the USER namespace as a stable preference. The agent stops asking and starts complying by default.

Output style

The most-leveraged piece of the namespace. Options:

StyleOutput behavior
Brief (default)Tight summaries, bullets where helpful, no preamble.
DetailedMulti-paragraph synthesis with section headings.
JSONStructured object matching the implied schema.
Markdown tableTabular when there's tabular data; falls back to brief.
VoiceConversational tone, full sentences. Used by speech surfaces.

The orchestrator respects this on every run. Subagents inherit it. You can override per-run by saying "respond in X" — the override applies to that run only and doesn't change your preference.

Locale + timezone

  • Locale drives string formatting (currency, dates, numbers) in agent output.
  • Timezone is anchored to your profile and used everywhere the agent emits a relative time ("3 days ago", "next Tuesday at 10am EST").

If you travel, override via Settings → Preferences → Working timezone — this changes notification windows + scheduled-action timing without touching the canonical preference.

Notification preferences

Three channels:

ChannelWhen it firesConfigurable?
In-appAlways, can't disableNo — required for the Inbox flow
EmailPending actions, daily Today summary, weekly digestPer-category opt-in
PushPending actions, mentionsBrowser permission required

Quiet hours are honored across all three: if you're outside your working window, async notifications are batched and delivered when you're back on.

Profile context

A free-text field where you (or your admin) pin context that should always be available to the agent. Examples:

I'm the VP of Sales at Acme Corp, focused on the enterprise segment
(>$50K ACV deals). My team has 6 AEs and 2 SDRs. I report to the
CRO and present pipeline weekly. Prefer concise insights — give me
the "what's different from last week" framing.

The orchestrator reads this on every run and weaves it into its reasoning. Keep it short — 200 words is plenty; 2000 words is too many.

Multi-tenant impersonation (cloud only)

Cloud-edition support engineers can impersonate a user with proper audit-logged authorization. When impersonation is active, the agent's USER namespace reflects the impersonated user, not the impersonator — so the agent behaves identically to how it would for the real user. A persistent banner shows "Impersonating <user>" at the top of every page so it's never ambiguous.

Self-host doesn't have impersonation (no separation between platform operator and tenant).

Read next