Settings
Keys, single sign-on, workspaces, egress, guardrails, billing, and org profile.
API keys
Org-scoped programmatic keys, sent as X-API-Key. Each key belongs to the
person who made it and to the active workspace; the list shows only your own
keys there. The secret starts with sk- and shows once at creation — copy it
then, it's never listed again.
- Scope. All, Read only, or Restricted (a level per resource). Whatever you pick is capped by your own role: a key never exceeds its creator.
- Never billing. No key carries
billing:update, whatever its scope — moving money needs someone signed in. - Read only means read only. A read-only key gets 403 on every write, including routes that name no permission.
- A snapshot. Permissions are fixed when the key is saved. A later role change doesn't reach it until you edit its scope (which re-derives them from your current role) or issue a new key.
- Limits. 1,000 requests per minute per key (then 429), and the plan caps how many keys the account holds.
Editing changes name, scope, and expiry — expiry is set only on edit, never at creation — and never the key value.
Single sign-on
Settings → Single sign-on lets people sign in through your company's identity provider (Okta, Microsoft Entra ID, Google Workspace) over OpenID Connect. An owner or admin sets it up:
- Copy the redirect URL from the page into a new OIDC app in your identity provider.
- Add provider with the email domain, issuer URL, client ID, and client secret.
- Add the TXT record the page shows at your DNS provider, then Verify. Sign-in stays off until the domain is verified.
People then pick "Single sign-on (SSO)" on the sign-in page and enter their
work email. Personal domains (gmail.com and the like) are refused, the
provider may only sign in addresses on the verified domain, and newcomers join
as member. Adding a provider needs the sso plan feature (Enterprise);
providers you already have keep working after a downgrade. Removing one stops
SSO for that domain, but the accounts stay.
Workspaces
An account is the top-level organization, shown as "Default workspace" in the sidebar switcher. Workspaces are child organizations under it — one level deep, no workspace inside a workspace — and each holds its own data. They share the account's plan, tokens, and bill, and can never move to another account.
Creating one needs workspace:create in the account (owners, by default) and
the nestedWorkspaces plan feature (Pro and Enterprise). A workspace keeps its
own member list: belonging to the account grants nothing inside it. See
People & sharing for adding people.
Outbound access
Which hosts sandboxed code (function-tool fetch, widget server actions) may
reach, enforced by the egress proxy. Mode is allowlist or denylist over bare
hosts and *.domain wildcards (subdomains only, never the apex). Block wins
in both modes, even over allowed hosts; private, loopback, link-local, and
metadata IPs are refused in both modes with no setting to change it. A fresh
list is empty, which means no egress. Note HTTP tools and evaluators are not
gated here.
Guardrails
Tenant overrides for the safety rails. Anything you leave unset keeps the default.
| Switch | Choices | Default |
|---|---|---|
| Guardrails (master) | on, off — off stops every check | on |
| Check incoming messages | on, off; record only or refuse the turn | on, record only |
| Also check with an AI classifier | on, off — one extra AI call per message | off |
| Check tool results | on, off; record only or withhold the result | on, record only |
| Personal data in replies | no check, record only, mask it | record only |
| Harmful content in replies | no check, record only, withhold the reply — an AI call per reply | no check |
Changes take about 30 seconds to apply (tenant cache). Saving needs
setting:update — owners and admins by default, and any custom role that
holds it. Audit logs carry pattern names and entity types, never payload
text. The execution rail (approvals for deletes and sends) is host
infrastructure, not tenant-settable.
Image reading (OCR)
How images and scanned pages become text during ingestion, set with the embedding model in Library → Folder Settings. OCR (the default) reads locally at no API cost; Vision model sends each image to a vision-capable model you pick, which reads handwriting, poor scans, tables, and charts far better but bills every page. A change applies to new ingestion only — reindex to re-read existing sources.
Plan & billing
Subscription plans plus a prepaid credit wallet: overview, usage, plan grid, top-up with auto-top-up and spend limits, transaction and invoice history. Plans ladder free → basic → starter → pro → enterprise. Each sets limits — seats, agents, folders, largest single file, stored bytes, knowledge index, tokens per month, API keys — and feature flags. In the built-in catalog:
| Feature | Free | Basic | Starter | Pro | Enterprise |
|---|---|---|---|---|---|
channels | — | ✓ | ✓ | ✓ | ✓ |
byok (own model providers) | — | — | — | ✓ | ✓ |
evaluations | — | — | — | ✓ | ✓ |
integrations | — | — | — | ✓ | ✓ |
nestedWorkspaces | — | — | — | ✓ | ✓ |
sso | — | — | — | — | ✓ |
With payments connected, the provider's plan catalog can override these. The grid offers Free through Pro; Enterprise is not self-serve.
Add-ons stack on the plan's limits, never its features: token packs (50k, 500k, or 2M tokens, for the current calendar month) and capacity packs (+5 seats, +10 agents, +5 folders, +5 API keys, +10 GB or +100 GB storage). They are granted through the entitlements API — by the owner when payments are not connected, and only by platform operators when they are.
The Free plan runs only two models, both through the AI gateway: NVIDIA
Nemotron 3.5 Lightning (its default) and Meta Muse Spark 1.3 Contributor.
Their providers may keep prompts to improve their models, so no paid plan
offers them. It also embeds knowledge, entity fields and memory with FastEmbed
only (BAAI/bge-large-en-v1.5, run locally at no cost): the settings refuse
any other embedding model, and an organization that moves to Free has its
stored vectors re-embedded in the background — knowledge sources re-ingest, so
search over them is empty until that finishes. Free has no live voice either:
the realtime voice models are paid, so the editor locks the switch and the
session route refuses.
Credits are integer cents of a dollar, and overage tokens price per thousand. Reads are member-visible; money, subscriptions, and invoices are owner-only. Upgrades charge prorated now, downgrades wait for period end — and webhooks are the source of truth, with sync only flipping the page immediately.
Organization & profile
The org form holds name, slug, and website (which sets the guest-chatbot email domain — empty means the platform default), plus a System tab for org timezone and local theme. Timezone drives scheduled-job evaluation in local time. Saving the system module replaces it whole, so dashboard tiles merge or they're wiped. Profile is personal: name and avatar, email read-only.
Notifications
Personal, not org: a single marketing-emails toggle on the user. Every marketing email carries a one-click unsubscribe link that clears the toggle without signing in; verification, password-reset, and invitation mail is unaffected.
Product broadcasts
Marketing mail comes from platform operators, not from your organization: an operator-only admin API sends one broadcast to every user with the toggle on, across all organizations, with a dry run and test sends first. Org owners and admins can't reach it.
Underneath: system-settings modules
Egress, guardrails, system, folder, and entity settings are keyed singleton
modules behind one controller. PUT replaces the module whole; an unsaved
module reads back empty, never 404. Reads need setting:read, writes
setting:update — owners and admins hold both, members only read, and custom
roles can hold either.