Assivy

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:

  1. Copy the redirect URL from the page into a new OIDC app in your identity provider.
  2. Add provider with the email domain, issuer URL, client ID, and client secret.
  3. 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.

SwitchChoicesDefault
Guardrails (master)on, off — off stops every checkon
Check incoming messageson, off; record only or refuse the turnon, record only
Also check with an AI classifieron, off — one extra AI call per messageoff
Check tool resultson, off; record only or withhold the resulton, record only
Personal data in repliesno check, record only, mask itrecord only
Harmful content in repliesno check, record only, withhold the reply — an AI call per replyno 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:

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

On this page