Infrastructure Agents Reference
Every Agent Stack defines four infrastructure-agent slots. They’re not the specialists that reply to customers — they’re cross-cutting helpers meant to sit behind the orchestrator’s decisions. Each slot has a stored per-stack settings row and a default prompt.
Read this before you plan around them. There is no Settings screen for these — the per-stack settings row is only reachable through superadmin API endpoints, and there is no tenant-facing UI anywhere in the app. More importantly, of the four only conversation summary has a live implementation, and it does not read this settings row. The tables below therefore document the stored schema and its defaults, not behaviour you can currently tune or observe.
The four
- Conversation summary — A running summary of the conversation — A rolling summary does run, but it is the orchestrator’s own: it condenses messages that fall out of the verbatim history window, refreshes asynchronously after each orchestrator turn, and ignores the settings below
- Sentiment & risk — A sentiment score and risk-category flags — Nothing — a default prompt exists, but no code path invokes it
- Handoff pack — A briefing document for the human picking up — Nothing — a default prompt exists, but no code path invokes it
- Missing info — A list of fields/values still needed to resolve — Nothing — a default prompt exists, but no code path invokes it
Conversation summary
Meant to generate a concise summary of what’s happened in the conversation so far.
conversationSummaryEnabled— boolean — true — — — Master switchsummaryTrigger— enum —handoff—handoff,periodic,always— When to (re)generatesummaryMaxTokens— integer — 500 — 100–2000 — Max length of the generated summary
None of these three settings is read anywhere outside the schema and the superadmin endpoint that echoes them, so summaryTrigger does not currently choose anything. The summary that a stack really produces is the orchestrator’s rolling summary: it folds in only the messages that have dropped out of the orchestrator’s verbatim history window, and it refreshes fire-and-forget after each orchestrator turn — so in practice the cadence is closest to always, and summaryMaxTokens does not bound it.
Sentiment & risk
Meant to read each customer message, track sentiment over time and flag risk categories.
sentimentRiskEnabled— boolean — true — — — Master switchsentimentThreshold— integer — 30 — 0–100 — Sentiment below this would trigger risk evaluation (lower = worse)riskCategories— string[] —frustration, legal_threat, churn_risk, escalation_request— any strings — Which risk categories to detectautoEscalateOnHighRisk— boolean — true — — — Whether a risk flag would trigger handover automatically
Nothing runs against these settings today, so do not plan on sentiment-driven auto-escalation. Escalation is decided by the orchestrator’s handover_to_human tool under its help-first rule, not by a sentiment score — see Handover to humans.
Handoff pack
Meant to assemble a briefing for the human picking up when handover triggers.
handoffPackEnabled— boolean — true — Master switchhandoffIncludeHistory— boolean — true — Include the conversation summary in the packhandoffIncludeSentiment— boolean — true — Include the sentiment trajectory and risk flagshandoffIncludeSuggestions— boolean — true — Include AI-generated next-step suggestions for the human
No code assembles a handoff pack today, so changing these flags changes nothing a colleague sees. What the human picking up gets is the conversation itself.
Missing info
Meant to identify what information the AI still needs to resolve the issue, and prompt the customer for it.
missingInfoEnabled— boolean — true — — — Master switchmissingInfoPromptStyle— enum —gentle—gentle,direct,persistent— How to askmaxMissingInfoPrompts— integer — 2 — 1–5 — How many times to ask before giving up
No code reads these, so missingInfoPromptStyle does not shape any reply. Specialists ask for what they need because their Instructions and the stack’s handover prerequisites tell them to — put required-field collection there.
Changing these settings
You cannot change them from Settings. Both the per-stack row and the tenant-wide infra*Enabled flags on the global agent settings live behind superadmin-only endpoints, and no client screen calls either one, so a workspace admin has no control to move. Since the runtime does not read them either, there is nothing to gain from asking for them to be flipped — raise the behaviour you actually want instead.