This page lists every top-level org-admin field that maps through the simulation admin API. It matches the contract in src/apis/simulation_admin/settings.py (TOP_LEVEL_PARAMETER_MAPPINGS) and the SimulationSettings model in src/common/models.py. Clients send changes with UpdateSimulationSettingsRequest (partial updates, PATCH-style). Audience: People configuring one organization. Platform-only or super-admin overrides are documented elsewhere unless your deployment routes them through the same surfaces.

Reading this catalog

  • Each section groups related settings (schema, scenario, timing, chatter, and so on).
  • Tables call out Purpose, Learner impact, and Operational impact where relevant.
  • For nested simulation_policy.* keys, see Simulation policy paths.

How settings take effect

AspectDetail
StorageMongoDB, keyed by organization_id.
ConsumersBackground jobs (chatter, storyline, scheduler), agent orchestration, and API behavior read values at runtime.
RiskHigh activity increases LLM cost, tokens, and channel noise; very low limits can make the simulation feel sparse or stalled.

Basic vs Expert in the admin UI

The mapping contract labels each field Basic or Expert for the product UI. Treat Expert fields as requiring operators who understand downstream effects on learners and cost.

Basic-only quick table

Use this table when you need a fast view of the parameters available in Basic mode. The detailed sections below remain the canonical reference.
ParameterUI tabWhat it controlsPlatform impact
chatter_enabledSetupTurns ambient channel chatter on/offDisabling reduces background model calls and event churn.
storyline_enabledSetupTurns storyline progression on/offDisabling lowers periodic storyline processing and event generation.
chatter_lambdaSetupAverage chatter cadenceLower intervals increase model traffic and moderation load.
min_chatter_intervalSetupHard minimum gap between chatter emitsLower values increase burstiness and token spend.
timezoneCalendarOrg-local simulation clock contextDrives schedule calculations and event timing consistency.
business_daysCalendarWhich weekdays are treated as workdaysChanges pacing windows and scheduler behavior across the week.
office_hours_start / office_hours_endCalendarWorking-hour windowAffects when fast-response behavior is active and when off-hours messaging appears.
dm_response_delay_maxChannelsUpper bound for DM response delayLower values raise concurrency and perceived responsiveness pressure.
channel_response_delay_maxChannelsUpper bound for channel response delayLower values increase response throughput and model call frequency.
task_first_assignment_delay_minutesTasksDelay before first assigned taskLower values increase early-task load and downstream workflow activity.
enable_org_knowledge_ragMemoryEnables retrieval-augmented org contextIncreases retrieval calls and vector-store dependency at runtime.
safety_enabledApprovalsLegacy master switch for approvals pathEnabling can introduce gated actions and more operational review events.
require_manager_approval_forApprovalsWhich action types require approvalBroader lists increase pending approvals and intervention overhead.
simulation_policy (basic subset)Setup / Channels / Memory / Approvals / Scenario LabHigh-level policy controls (realism/routing baseline)Behavior shifts across routing, memory usage, and orchestration cost profile.

Internal-only fields (not general org-admin toggles)

FieldNotes
enable_mem0_memoryMay appear on update payloads for compatibility but is treated as internal / platform (SETTINGS_INTERNAL_ONLY_FIELDS). Do not treat it as a standard org-admin switch in customer documentation.

1. Schema & metadata

settings_schema_version

Typeinteger
Default3
UIExpert · Scenario Lab
PurposeVersion tag for migrations and backward-compatible deserialization.
Learner impactNone directly.
Operational impactIncorrect bumps can break compatibility with admin clients; change only with engineering guidance.

2. Scenario, tasks, and character setup

active_task_ids

Typestring[] or null (all tasks)
Defaultnull
UIExpert · Tasks
PurposeRestricts which task templates are eligible for assignment in this org.
Learner impactHigh — limits which scenarios learners see; wrong IDs can hide required practice.
Operational impactRequires valid task keys from your org’s task catalog; validate in staging.

scenario_character_ids

Typedict (task/slot → character_id) or null
Defaultnull
UIExpert · Setup
PurposeBinds scenario slots (e.g. termination / hire targets) to concrete characters in the org.
Learner impactHigh — changes who appears in narratives and DMs.
Operational impactMust reference characters that exist for the org; inconsistent mappings confuse storylines.

default_scenario_name

Typestring or null
Defaultnull
UIExpert · Setup
PurposeDefault scenario key for seeding and diagnostics (e.g. channel templates).
Learner impactMedium — affects initial channel content and default narrative path.
Operational impactMust match a scenario blueprint your org ships.

primary_agent_ids

Typestring[] or null
Defaultnull
UIExpert · Setup
PurposePreferred agent/character IDs to ensure on login/signup when matching simulation characters exist.
Learner impactMedium — influences who is available as primary responders early in the sim.
Operational impactAgents are only created when simulation characters are configured; invalid IDs are ineffective.

channel_template_character_mapping

Typedict (placeholder → org character_id) or null
Defaultnull
UIExpert · Channel Seeding
PurposeMaps template placeholders to org-specific characters for channel message seeding.
Learner impactHigh — wrong mapping shows wrong names/story in channels.
Operational impactKeep in sync with scenario_character_ids and actual character roster.

3. Feature toggles (master switches)

chatter_enabled

Typeboolean
Defaulttrue
UIBasic & Expert · Setup
PurposeMaster switch for ambient background chatter in channels.
Learner impactHigh — off makes channels quiet; on increases realism and noise.
Operational impactOff reduces LLM spend; on requires healthy rate limits below.

storyline_enabled

Typeboolean
Defaulttrue
UIBasic & Expert · Setup
PurposeEnables storyline manager progression checks.
Learner impactHigh — off freezes narrative progression features that depend on it.
Operational impactReduces periodic background work when off.

auto_assign_tasks

Typeboolean
Defaulttrue
UIExpert · Tasks
PurposeControls automatic task assignment flows (e.g. Head of HR automation).
Learner impactHigh — off delays or prevents automatic task surfacing depending on product path.
Operational impactMay reduce scheduler/agent load when off.

quick_help_call_enabled

Typeboolean
Defaulttrue
UIExpert · Quick Help
PurposeMaster toggle for Quick Help LiveKit voice-call availability.
Learner impactHigh — disables/enables entry to live voice coaching from chat.
Operational impactDisabling prevents new voice sessions from being created for the org.

quick_help_call_voice

Typestring
Defaultmarin
UIExpert · Quick Help
PurposeSelects the OpenAI realtime voice used by the Quick Help worker.
Learner impactMedium — changes assistant speaking style and tone perception.
Operational impactMust be one of the backend-allowed voice IDs.

quick_help_call_persona

Typestring or null
Defaultnull
UIExpert · Quick Help
PurposeOrganization-specific persona guidance injected into Quick Help instructions.
Learner impactHigh — controls coaching voice, framing, and guidance style.
Operational impactKeep concise and policy-safe; overly broad prompts can dilute response quality.

4. Timing, calendar, and simulated clock

timezone

Typestring (IANA name)
DefaultUTC
UIBasic & Expert · Calendar
PurposeTimezone for business hours, schedules, and org-local “now” in simulation logic.
Learner impactHigh — shifts when NPCs behave as “in office” vs off-hours messaging.
Operational impactMust be valid IANA ID; invalid values fall back unpredictably in edge code paths.

business_days

Typestring[] (weekday names)
DefaultMon–Sun
UIBasic & Expert · Calendar
PurposeDefines working days for scheduling and ambient activity.
Learner impactMedium — weekend vs weekday messaging and pacing.
Operational impactKeep consistent with regional expectations for pilots.

office_hours_start / office_hours_end

Typeinteger (0–23)
Default0 / 23
UIBasic & Expert · Calendar
PurposeWindow for business-hours behavior (response delays, instant-response probability, etc.).
Learner impactHigh — defines when learners get “fast” vs delayed NPC behavior.
Operational impactIf start ≥ end, behavior is inconsistent; validate in UI/tests.

outside_business_hours_message / weekend_message

Typestring or null
Defaultnull (built-in fallbacks)
UIExpert · Calendar
PurposeCustom learner-facing guidance when outside office hours or on non-business days.
Learner impactMedium — sets expectations for delay tone.
Operational impactKeep concise; avoid leaking internal policy.

simulation_speed

Typefloat
Default1.0
UIExpert · Scenario Lab
PurposeCore pacing multiplier for simulation timing features (not wall-clock alone; interacts with engines).
Learner impactHigh — faster speed compresses perceived cadence of simulation events.
Operational impactHigher speeds increase background checks and agent invocations.

storyline_check_interval

Typefloat (seconds — passed to asyncio.sleep between checks)
Default15.0
UIExpert · Scenario Lab
PurposeHow often the storyline manager evaluates progression per org loop.
Learner impactMedium — lower values react faster to task/story state changes.
Operational impactLower values increase CPU/IO and storyline evaluation frequency.

simulation_epoch_start

Typedatetime or null
Defaultnull
UIExpert · Calendar
PurposeReference epoch for deterministic time compression math.
Learner impactHigh when compression used — anchors simulated timeline.
Operational impactShould be stable for a cohort; changing mid-run confuses analytics.

time_compression_factor

Typefloat
Default1.0
UIExpert · Calendar
PurposeScales simulated time vs wall-clock (get_simulation_time).
Learner impactVery high — accelerates deadlines, story beats, and scheduled nudges.
Operational impactVery high — raises LLM, scheduler, and DB load; test before pilots.

5. Background chatter (ambient)

chatter_lambda

Typefloat
Default45.0
UIBasic & Expert · Setup
PurposeExpected spacing / rate parameter for Poisson-style ambient chatter (product interpretation).
Learner impactHigh — more chatter increases channel activity.
Operational impactPrimary driver of LLM cost alongside caps.

min_chatter_interval

Typefloat
Default10.0
UIBasic & Expert · Setup
PurposeMinimum gap between chatter emissions.
Learner impactPrevents burst spam in channels.
Operational impactLower floor increases burstiness when combined with high lambda.

chatter_max_global_per_hour

Typeinteger
Default10
UIExpert · Channels
PurposeOrg-wide hourly cap on ambient chatter.
Learner impactHigh — hard ceiling on how “busy” channels feel.
Operational impactPrimary cost guardrail; raise only with budget.

chatter_max_per_channel_per_hour

Typeinteger
Default5
UIExpert · Channels
PurposePer-channel hourly cap to avoid one channel dominating.
Learner impactMedium — spreads activity across channels.
Operational impactTune with global cap.

chatter_agent_cooldown_minutes

Typeinteger
Default15
UIExpert · Channels
PurposeCooldown before the same agent can post ambient chatter again.
Learner impactMedium — reduces repetitive voices.
Operational impactHelps diversify agent spend.

chatter_daily_budget

Typeinteger
Default50
UIExpert · Channels
PurposeDaily total cap on chatter messages for the org.
Learner impactHigh — stops activity after budget exhaustion.
Operational impactStrong fiscal control; pair with monitoring.

chatter_context_messages

Typeinteger
Default8
UIExpert · Memory
PurposeHow many recent messages feed chatter generation context.
Learner impactMedium — higher improves continuity; increases prompt size.
Operational impactHigher values increase token usage per chatter call.

chatter_include_org_context

Typeboolean
Defaulttrue
UIExpert · Memory
PurposeWhether to inject org-level context into chatter prompts.
Learner impactMedium — improves relevance when on.
Operational impactSlightly higher tokens when on.

chatter_only_when_users_active

Typeboolean
Defaulttrue
UIExpert · Channels
PurposeSuppresses chatter when no users are active, reducing waste.
Learner impactLow when learners absent; avoids dead-hour spam when on.
Operational impactSaves cost during idle periods.

chatter_max_chain_length

Typeinteger (optional; validated typically 1–5 in API)
DefaultPersisted default often 2 when unset (repository/engine fallback).
UIExpert · Channels
PurposeMax depth of auto-reply chains in ambient threads.
Learner impactMedium — higher chains feel more conversational but noisier.
Operational impactMultiplies LLM calls per chain.

chatter_chain_expiry_minutes

Typeinteger
DefaultOften 30 when unset (engine fallback).
UIExpert · Channels
PurposeWindow after which a chain expires and stops auto-continuing.
Learner impactMedium — shorter windows truncate threads.
Operational impactShorter windows reduce follow-on LLM calls.

6. NPC response delays and probability

instant_response_probability

Typefloat (0–1)
Default0.65
UIExpert · Channels
PurposeProbability of near-immediate handling during business hours.
Learner impactHigh — perceived responsiveness of NPCs.
Operational impactHigher probability increases concurrent LLM work.

dm_response_delay_max

Typefloat
Default25.0
UIBasic & Expert · Channels
PurposeUpper bound for simulated DM delay (distribution engine).
Learner impactHigh — DMs feel slower or faster.
Operational impactMostly UX; extreme values stress scheduling.

channel_response_delay_max

Typefloat
Default15.0
UIBasic & Expert · Channels
PurposeUpper bound for channel response delay.
Learner impactHigh — public channel pacing.
Operational impactSame as DM delay.

office_hour_distribution

TypeList of (start_min, end_min, probability) tuples
DefaultBuilt-in multi-bucket distribution
UIExpert · Calendar
PurposeShapes when within office hours responses concentrate (lunch dip, etc.).
Learner impactMedium — realism of intra-day activity.
Operational impactInvalid tuples can break normalization; validate sums and ranges.

7. Tasks — onboarding pace

task_first_assignment_delay_minutes

Typefloat
Default5.0
UIBasic & Expert · Tasks
PurposeDelay before first task is assigned to a new user (e.g. Head of HR flow).
Learner impactHigh — first impression of workload timing.
Operational impactLow; interacts with auto_assign_tasks.

8. Memory & retrieval (org-scoped)

enable_org_knowledge_rag

Typeboolean
Defaultfalse
UIBasic & Expert · Memory
PurposeEnables retrieval-augmented org knowledge for agents (Qdrant-backed paths when configured).
Learner impactHigh when on — answers can cite internal context; requires quality content.
Operational impactHigh — vector queries, embedding costs, and latency; depends on Qdrant health.

internal_agent_channels

Typestring[]
Defaulthr-internal, product-internal, engineering-internal
UIExpert · Channels
PurposeChannels used for agent coordination / internal routing (paired with policy orchestration).
Learner impactMedium — misconfiguration routes wrong traffic to internal spaces.
Operational impactMust exist or be created per org conventions.

9. Safety and approvals (legacy mirrors + policy)

safety_enabled

Typeboolean
Defaultfalse
UIBasic & Expert · Approvals
PurposeLegacy safety toggle; mirrored into simulation_policy.approvals per product rules.
Learner impactHigh when on — may require confirmations for sensitive flows.
Operational impactCoordinate with require_manager_approval_for and policy approvals.

require_manager_approval_for

Typestring[]
Default[]
UIBasic & Expert · Approvals
PurposeList of action keys requiring manager approval (e.g. sensitive DMs); mirrored into policy.
Learner impactVery high — blocks or delays until approval.
Operational impactRequires operational clarity on who approves in product workflows.

10. Unified policy object

simulation_policy

Typeobject (nested JSON)
DefaultLarge structured default in SimulationSettings (version, realism_profile, routing, privacy, context, approvals, orchestration, assignment, memory, rollout, kpi_gates, propagation_sla, ambient, config_registry, tools, …)
UIBasic & Expert across Setup, Channels, Memory, Approvals, Scenario Lab
PurposeSingle source of truth for realism, routing, privacy, orchestration limits, assignment profiles, memory behavior, rollout flags, KPI gates, propagation SLA, ambient nudges, and tool policy.
Learner impactSystem-wide — small changes alter realism, safety, and task behavior.
Operational impactHigh — prefer staged rollout; merge semantics are deep (partial updates merge into existing policy).
For field-by-field documentation of important policy subtrees, see Simulation policy paths.

11. Scheduled / random events

events

TypeSimulationEvent[]
Default[]
UIExpert · Calendar
PurposeConfigures planned or random multi-channel events (participants, templates, probabilities).
Learner impactHigh — drives coordinated bursts and storyline beats.
Operational impactHigh — can spike traffic; test probabilities and cooldowns.

12. Time-boxed simulation lifecycle

simulation_mode

Typestring (continuous | time_boxed)
Defaultcontinuous
UIExpert · Scenario Lab
PurposeSelects continuous vs time-boxed lifecycle (deadline-driven runs).
Learner impactVery high in time-boxed mode — hard stops and pacing.
Operational impactTime-boxed needs clear comms and monitoring for timeouts.

simulation_duration_minutes

Typeinteger or null
Defaultnull
UIExpert · Scenario Lab
PurposeDuration for time-boxed sessions.
Learner impactVery high — sets how long learners can work the sim.
Operational impactCoordinate with lifecycle guards and analytics.

simulation_completion_message

Typestring or null
Defaultnull
UIExpert · Scenario Lab
PurposeMessage shown when a lifecycle completes.
Learner impactHigh — clarity of closure and next steps.
Operational impactLow.

milestones

Typeobject[] (milestone definitions)
Default[]
UIExpert · Scenario Lab
PurposeStructured milestones (time/task/manual triggers) for progression tracking.
Learner impactHigh — defines visible progression checkpoints.
Operational impactMedium — incorrect triggers confuse analytics and UX.

Appendix: Runtime lifecycle fields (not org-admin PATCH)

The persisted SimulationSettings document also stores lifecycle state updated by the engine, not by UpdateSimulationSettingsRequest. Do not treat these as org-admin “configuration” in the same sense as the fields above.
FieldRole
simulation_started_atWhen a time-boxed or tracked run actually started.
simulation_ends_atScheduled end instant when duration-based.
simulation_statuse.g. not_started, active, completed, paused.
simulation_paused_atTimestamp when paused.
simulation_remaining_minutes_at_pauseCarry-over remaining time when pausing.
These interact with simulation_mode, simulation_duration_minutes, and milestones but are driven by runtime, APIs, or scheduler—not the same PATCH surface as tuning chatter or policy.