Configuration¶
Most day-to-day platform options live under . Global defaults that map to system parameters are on the Settings page (Settings users only).
Settings¶
Open (or the AI section on the main Settings app).
Guided system setup¶
Start setup assistant — opens chat with the guided setup skill for system administrators. Module install is never free-form: when setup plans are used, install goes through a confirmable plan (MVP may propose only).
Abuse guardrails¶
Setting |
Meaning |
|---|---|
Ai Max Strikes |
Violations in the window before a temporary ban (default 3). |
Ai Strike Window Hours |
Hours over which strikes accumulate (default 24). |
Ai Ban Minutes |
How long a ban lasts (default 60). |
Rate and usage limits¶
Setting |
Meaning |
|---|---|
Ai Rate Limit Rpm |
Max requests per minute per user (default 20). |
Ai Max Daily Calls |
0 = unlimited. |
Ai Max Daily Cost Usd |
Soft cost cap using model unit prices; 0 = unlimited. Unpriced models may not enforce cost well. |
Ai Max Conversations Per Day |
0 = unlimited. |
Ai Max Successive Calls |
Bound on chained model turns (default 10). |
Ai Max Tool Calls |
Bound on tool invocations per turn loop (default 10). |
Ai Write Mode |
Interactive chat only — auto / confirm / hybrid. Agent runs use each task’s own Write Mode instead (default confirm). See Using the assistant and Task write mode (agent runs only). |
Chat write-proposal lifetime (minutes) |
Minutes until a chat proposal expires; 0 = never. |
Agent write-proposal lifetime (minutes) |
Minutes until an agent proposal expires (default 1440); 0 = never. |
Logging¶
Ai Log Level — Metadata only (default, recommended) or Full payload (stores message/tool content; high sensitivity).
Run Step Retention (Days) — purge horizon for
ai.agent.run.stepjournal rows (default 90; 0 disables). Does not auto-purgeai.logor run headers.
Model¶
AI Model — the model used by the interactive assistant. Its provider is used automatically.
This setting covers the interactive assistant only. A per-agent completion cap is set on the agent itself (Agents) and depends on the model record — see Completion caps.
Access policy defaults¶
Applied when no more specific ai.access.rule decides:
Default read: Allow
Default create / write / delete: Deny
See Access policy for rules and groups.
Runtime introspection¶
Publish Installed Modules — whether environment facts may include the installed module list (still subject to the user’s
ir.module.moduleACL). Denying makes the assistant more cautious, not magically more accurate. Version, edition, company and user facts remain.
Web access and files¶
Requires the Web access capability to be enabled for tools to be offered.
Setting |
Meaning |
|---|---|
Search Backend |
|
Fetch Backend |
Provider for |
Allowed Domains |
Comma-separated allow-list; empty = any public host (SSRF protections still apply to private ranges). |
Daily Limit |
Max web calls per user per company; 0 = unlimited. |
Max Page Text |
Characters retained from a fetched page. |
Max Query Length |
Cap on search query size. |
Allowed Image Types, Allowed Document Types |
MIME allow-lists for ingest. |
Max File Size |
Bytes (default 10 MiB). |
System parameters and scheduled actions¶
A few platform switches have no field on the Settings page. They live in the Technical menus, which require developer mode.
System parameters¶
ai.triage_enabled— global off switch for stage-1 triage, covering both the inbound check and a task’s Triage On Dispatch (defaultTrue). Set it toFalseand every instruction is executed unassessed.ai.waiting_approval_ttl_minutes— how long a run may sit waiting for a supervisor’s answer before it is failed (default1440;0means never expire by age).ai.run_reaper_grace_seconds— how long past a task’s own time limit the stuck-run reaper waits before it declares a run abandoned (default600, i.e. 10 minutes). This is not a kill switch: to stop reaping altogether, deactivate the scheduled action instead.
Scheduled actions¶
The module ships seven scheduled actions, all active after install:
AI: Expire user bans (hourly) — lifts the temporary bans whose end time has passed.
AI: Expire pending writes (every 15 minutes) — expires write proposals older than their configured lifetime. It first releases the proposals left behind by a run that has already finished, so a lifetime of
0does not also disable that sweep.AI: dispatch scheduled agent tasks (every 5 minutes) — starts the agent tasks that are due. This is only how often the dispatcher itself wakes; each task’s own interval decides its cadence, so the cron has to wake at least as often as the shortest interval configured on a task.
AI: drain inbound addressing requests (every minute) — starts the runs queued when somebody addresses an agent through a Discuss message, a chatter mention, an activity or an assignment. It is deliberately more frequent than the dispatcher, because somebody is waiting for the reply.
AI: expire waiting-approval agent runs (every 15 minutes) — fails the runs that have waited for a supervisor’s answer longer than
ai.waiting_approval_ttl_minutes, and expires the proposals they were waiting on.AI: reap stuck agent runs (every 15 minutes) — closes runs whose worker died, and also frees runs parked for approval with nothing left to approve. Both jobs, their cadence and their batch limit are described in Runs whose worker died.
AI: memory maintenance (every 6 hours) — archives working memories past their expiry date, lets the salience of untouched entries decay, and flags high-salience personal entries as promotion candidates for an administrator.
LLM providers and models¶
Fields of interest:
Provider type and API key (system parameter storage).
Base Url — only override when you understand the trust boundary (a writable base URL can be an SSRF risk if pointed at internal services).
Timeout, Max Retries, Call Deadline — wall-clock budget for one provider call including retries.
Model — exact vendor id.
Context Window, Max Output Tokens, tool and temperature support flags.
Prompt / completion unit prices and price source (provider API, curated catalog, or manual — manual is not overwritten by refresh).
Completion caps¶
Max Output Tokens on the model is what the assistant caps its
completions at, and it is also the precondition for a per-agent cap. Only
providers that publish a completion limit fill it in; 0 means unknown.
An agent’s own Max Tokens (0 = no override) (Agents) reaches
every provider — OpenAI, OpenRouter, xAI, Google Gemini and Anthropic — each
under the parameter name its API expects. It is put on the wire only for a
model that publishes a Max Output Tokens of its own. Point an agent
at a model that still reads 0 and the agent’s value is dropped: the model
writes to its own limit, and nothing on the agent form says why. Fill in
Max Output Tokens on the model if you want the per-agent cap to bite.
0 on the agent — the default — means no override: the model’s own output
cap applies, exactly as for a turn with no agent at all. Set a positive value
only where you deliberately want that agent to be terser or cheaper, and
remember that on reasoning models the cap counts thinking tokens too, so a low
value truncates answers.
Note
Anthropic is the exception, in the other direction: its API always requires
the parameter. An Anthropic model whose Max Output Tokens is still
0 therefore falls back to a conservative built-in value of 1024 tokens,
not to the model’s real limit.
Warning
Max Output Tokens on a catalogue row is often almost the whole Context Window (for example 450 000 of 500 000). Providers such as OpenRouter reject the call when prompt + tools + max_tokens exceeds the window, even if the prompt itself still fits. The platform therefore clamps the completion cap on every call to whatever still fits after an overestimate of the prompt. A small first turn still gets the published output limit; a large tool round gets a smaller leftover. This cannot help when the prompt alone already exceeds the window — split the work (see Per-record work items).
Warning
Upgrading from an earlier version changes how agents that are already configured behave.
A cap an administrator had already typed on an agent used to reach Anthropic only. It now applies on every provider, so a low value that was inert on OpenAI, OpenRouter, xAI or Gemini starts truncating answers there.
The upgrade resets the old shipped default of
2048to0on every agent still carrying it, so that no database keeps a cap nobody chose. On an Anthropic model that publishes a cap of its own, that 2048 was genuinely in force: those agents may now write up to the model’s full Max Output Tokens — more tokens, more cost and more time, and an answer long enough to exhaust the provider’s Call Deadline fails with an error instead of stopping at 2048 tokens.
Any other value you typed is kept. Re-enter a cap on every agent you meant to limit, including one you had deliberately set to 2048.
Web providers¶
Configure search/fetch backends (factory rows may ship for common engines). Assign them in Settings as search/fetch backends.
MCP servers¶
Model Context Protocol servers expose external tools to the assistant when the MCP tools capability is enabled. Factory MCP definitions may ship inactive or empty of secrets.
Per server, typically configure:
endpoint / transport;
authentication secrets (never commit them to docs or git);
which users/groups may use the server’s tools;
enable/disable.
Every MCP call still re-checks capability and server audience. Treat MCP like installing untrusted plugins: least privilege, no production secrets in tool responses you do not need.
Prompt layers¶
Layered system prompts (core, global, module, …) shape behaviour. Core safety layers are not meant for casual editing. Global operational layers may be adjusted by AI administrators; migrations may refresh factory content only when still pristine.
Important
A layer’s Body is English only and not translatable. These are the rails the model is steered by, not user-facing text: rails that switched language with the interface would leave the instructions in one language and the tool names in another. The assistant still answers in the language of the conversation — that is decided by the user’s messages, never by this text.
On a database upgraded from an earlier version, each layer keeps its English body and any translated bodies are discarded. Re-check every global and per-module layer whose body you had edited in a translated interface.
Blocked patterns¶
Regex (or pattern) rules on input/output that raise violations when matched (e.g. classic “ignore previous instructions” probes). Extend carefully — over-broad patterns create false positives and strike noise.
Allowed actions¶
Allow-list of business methods the Action capability may invoke via
call_action (e.g. mark activity done). Methods not listed cannot be called
through AI even if Write is on. Prefer allow-listed actions over raw field
writes for lifecycle transitions.
Customizations ledger¶
When Customize UI & schema is used, changes are tracked in a ledger with import/export for recovery. Primary UX is still chat tools for admins; the ledger is the admin recovery path.
Setup plans¶
(Settings users)
Plans proposed by the guided setup flow for module installation / configuration steps that require explicit confirmation.