A map of the Digital Twin editor (Admin → Instances) — every tab, section, and setting for your Digital Twin, and where each one is documented in depth.
One thing, three names. In these docs we call your assistant a Digital Twin. You will also see it called an Instance — on the Instance Settings panel, in the admin Instances list, and in your web address (your-instance.praxislxp.com) — and an Institution, which is what our software calls it behind the scenes (in API fields such as institution). All three mean exactly the same thing: one assistant, with its own knowledge, voice, members and settings. Which name you see depends on the screen you are on, not on what the thing is. An Account is different — it is the organisation that owns one or more Digital Twins.
The Instances editor is where a Digital Twin is configured (Instance is the older name for a Digital Twin that this screen still uses). It is organised as a tab bar across
the top, and within each tab a set of section headings (with a quick-access rail to jump
between them). This page mirrors that structure exactly, so a heading here is a heading you can
see on screen.
Looking for the Instance Settings panel that twin admins open from [+] → Settings in a conversation — with the Integration Wizard, Billing, Voice, Knowledge and the other screens? It has its own page: Instance Settings. This page covers the full editor in the admin console.
Configuration and Integrations
Twin details, membership, AI behaviour, quotas, and every third-party integration.
Personalization and AI Models
Identity and branding, plus the model assigned to each job the twin does.
Knowledge and tools
RAG and Files, Connector MCP and Tools, Assistants, Onboarding Questions.
This editor is available to Digital Twin Instance Admins. Depending on your entitlements,
some fields are read-only, and a few are managed by the Praxis AI team.
Two tabs are always present. The remaining tabs appear only after the Digital Twin has been
saved — when you are creating a new one you will see just the first two, and the rest
unlock once it exists.
Tab
What lives there
Documented
Configuration and Integrations
The twin’s identity, membership and credits, AI behaviour, quotas, voice entry points, and every external service
On this page
Personalization and AI Models
Name, avatar, branding, UI, and the model chosen for each job
Within a tab, use the quick-access rail beside the form to jump straight to a section
heading rather than scrolling. On narrow screens the rail collapses and the headings stay in
document order.
A Digital Twin is the thing you configure here: its knowledge, its personality, its people and its
settings. The admin screens call it an Instance.Start by clicking the Admin dashboard, located at the top of the main
user interface. The Instances tab lists every Digital Twin you are entitled to manage, and
lets you create a new one if you are entitled to.
To rename an existing Digital Twin, contact the Praxis AI team at humans@praxis-ai.com.
Instance Credits
The credit balance for this Digital Twin. New Digital Twins receive 50 starter credits. Purchase additional credits at https://pria.praxislxp.com/my-profile/pricing or contact your organization’s IT administrator for enterprise options.
Unique identifier automatically generated when the Digital Twin is created. Used for API integrations, Chat Completions, and system connections. It is public by design — safe to share in embed code and links; it is not a credential and grants no access on its own. This field is read-only — use the copy button to copy it to your clipboard.
Contact Emails
Specify administrator email addresses (comma-separated) for monitoring and notifications about this Digital Twin. Used for moderation alerts and system notifications.
Account
Links this Digital Twin to an Account (your organisation) for centralised credit management across several Digital Twins. Select from available accounts in the dropdown.
Lets this Digital Twin be embedded inside another web application as a component, rather than only through a link or the standard embed. Leave it off unless a developer is building the twin into your own product; see Embed your Digital Twin.
Allow Joining
Controls how new users can join this Digital Twin:
Disabled — Users cannot self-join; they must be added by an administrator
Account only — Only users within the same Account can join
Everyone (public) — Anyone can join this Digital Twin
When enabled, only administrators can join the Digital Twin — regular users are blocked from self-joining. This option appears only when Allow Joining is set to “Account only” or “Everyone (public)”.
Enable credit sharing across everyone using this Digital Twin. Each interaction consumes credits based on complexity. When credits are depleted, users cannot interact until credits are replenished according to your service agreement.
When Pool Credits is disabled, requests from users draw from each user’s personal credit pool instead. To change this field, contact the Praxis AI team at humans@praxis-ai.com.
Credits Awarded to New Users
The number of credits automatically granted to new users when they first join this Digital Twin. Set to 0 to disable automatic credit awards. This field is only visible when Pool Credits is disabled (i.e., users manage their own credit balance).
To change it on an existing Digital Twin, contact the Praxis AI team at humans@praxis-ai.com.
Grant Entitlements to New Admins
Automatically grants full entitlements to new administrators, providing complete dashboard access and customization capabilities. For specific entitlement questions, contact humans@praxis-ai.com.
Prevent Switching to other Instances
When enabled, users are locked to this Digital Twin and cannot switch to any other. Useful for kiosk-style deployments or single-purpose integrations.
Disable Add Credits
Hides the option for users to purchase or add credits to their account. Use this when credit management is handled exclusively by administrators or through organization-wide agreements.
Prevent Personal Account Creation
When enabled, members of this Digital Twin are not offered a personal Pria account, and the option is unavailable to them.Two boundaries are worth knowing:
The setting applies while a member is working in this Digital Twin. Someone who also belongs to another Digital Twin without this setting can still create a personal account from there.
It covers members creating an account for themselves. Administrators adding or editing people through the admin screens are not restricted by it.
Default: on. Screens every user message for unsafe content before it reaches the AI model. Flagged messages are blocked with a safe response, and an alert email goes to the Digital Twin’s Contact Emails.The model that does the screening is picked under Personalization and AI Models → System → Moderation (for example omni-moderation-latest). For the categories, what users see when a message is blocked, and how to review flagged conversations, see Content Moderation.
Cite Sources
When enabled, the Digital Twin always includes source citations in its responses. This instructs the AI to reference the documents, files, or knowledge base entries it used to generate each answer, improving transparency and traceability.
Don't prompt to personalize
Disables the initial personalization popup for new users, allowing direct access to the conversation interface without being prompted to set preferences first.
Use Location
Enables location-based responses for queries about local services, weather, campus information, and regional content. Improves response accuracy and relevance for location-dependent requests.
Compact History
Default: on. Before each request, Pria has the summary model condense the earlier part of the conversation, so long conversations keep their context while using fewer tokens. Leave it on for long, ongoing conversations (research projects, multi-session tutoring); short Q&A barely needs it.
Document Search Affinity (under RAG and Files) has nothing to do with shortening conversations: it sets how closely a passage must match a question before Pria uses it. See Knowledge & RAG Configuration.
Transparency toggles
Five independent switches decide what users see alongside each response. All default to on; turn them off for kiosk-style deployments where the conversation should feel chat-like rather than tool-driven.
Display RAG/KAG Search Details — which passages were retrieved, and their relevance scores
Display Thinking Details — the model’s reasoning trace when thinking is enabled
Display Thinking Execution — live progress while the model is reasoning
Display Tool Execution — real-time progress as tools execute
Display Tools Details — the complete agent step-by-step breakdown
An always-on autonomous agent workspace for a Digital Twin is set up by the Praxis AI team. To ask for one, contact humans@praxis-ai.com; once it is on, the Agents tab appears in this editor.
Lets this Digital Twin answer with a team instead of a single model: one model becomes the
manager, plans the work, and brings in temporary specialists — a researcher, a builder, a checker —
that run in parallel and report back. Best for jobs with real steps; slower and dearer than a single
answer. See Single Model vs Agent Mode for
what members experience.
Enable Subagents (experimental)
The master switch. While it is off, every conversation in this Digital Twin is single-model — the
default everywhere.
Turning it on makes subagents available; it does not turn them on for anyone. Each member
opts in for themselves from the chat’s [+] → Subagents menu and chooses how much of a team
to allow. Everyone who doesn’t opt in keeps single-model conversations.
Admins only
Limits that opt-in to administrators of the twin while you try the feature out. Members keep
single-model conversations and don’t see the Subagents entry in the [+] menu at all.
Max Concurrent Subagents
Default:10.How many helpers may work at the same time for one member. Lower it to smooth out spend and load;
raise it when jobs split naturally into many independent pieces.
Subagent Tool-Call Budget
Default:20.The most tool calls a single helper may make before it is stopped and has to report what it has.
This is per helper, and separate from Tool calls per answer (cap), which bounds an ordinary
single-model answer.
Subagent Resume Attempts
Default:3.How many times a helper that fails is retried automatically before the problem is handed back to
the manager. Raising it makes runs more resilient but slower to give up.
Subagent Max Tokens
Default:0 — each role uses its own default.Caps how long a single helper’s reply may be. Set a number only when you want a hard ceiling on
every role at once.
Subagent turns are billed differently. A single-model answer uses the flat rate; a turn handled
by a team is billed on what the team’s work actually cost, added up and rounded once for the whole
turn. A request that becomes dozens of model calls costs noticeably more. See
Plans and Credits.
The models each role uses are set on the Personalization and AI Models tab — see Subagent role models.
Per-user credit caps for this Digital Twin, shown alongside any caps inherited from the parent account
and a live count of how many users are currently at their limit. Caps limit how much a single user
may consume without affecting the Digital Twin’s total balance.See Credit Management for how caps interact with pooled
credits and account-wide limits.
The entry points to live voice. Provider choice, voice selection, and avatar tuning live in the
Personalization and AI Models tab — see Realtime Voice & Avatars.
Enable Convo (Speech-to-Speech)
Activates real-time voice communication. Users can speak directly to the Digital Twin and receive verbal responses in real time. See Convo Mode.When enabled, the additional Convo settings below appear.
Convo Admin Only
Restricts Convo Mode to administrators — regular users will not see the Convo button.
Convo Enable Text Input
Allows users to type text messages during a Convo session in addition to speaking.
Convo Show Transcript
Shows the live transcript of the conversation beneath the voice panel, so people can read along as they and the twin speak. Turn it off for a cleaner kiosk or demo screen.
Avatar Fullscreen
Lets people expand the avatar to fill the screen during a voice conversation.
Restrict use of assistants
Set it in Instance Settings → Voice. Off by default: every assistant of the Digital Twin can be used in Convo Mode, and a conversation that already runs an assistant keeps it when someone starts talking. Turn it on to limit Convo Mode to the assistants you check in the list below the switch; members can then switch between those assistants during a call. With the switch on and nothing checked, every assistant stays allowed.
Lock full-screen conversation
Keeps people in the full-screen avatar view for the whole conversation — the collapse button and the Escape key are turned off, and ending the call is the only way out. Use this for kiosk screens and embedded experiences.
Start Immersive Mode by Default
Launches the voice conversation automatically after sign-in — visitors land in the immersive voice experience (with a tap-to-start step) every time, instead of the classic chat.
Immersive Side Drawer
Adds a panel of your own content beside the avatar in the immersive view — a menu, a reading, a set of instructions, a form. You author what it holds, and it sits alongside the conversation rather than interrupting it. Off by default; the two settings below appear once it is on.
Drawer Side — whether the panel opens on the left or the right of the avatar.
Drawer width (px) — how wide the panel is. Widen it for content people need to read; keep it narrow when the avatar is the point.
Share voice transcripts with the embedding page
When this Digital Twin is embedded in your own web page, the page receives the live transcript of the spoken conversation, so it can display, log or react to what is said. Off unless you need it — the page you embed in can read everything spoken.
Let the embedding page guide live conversations
Lets the page that embeds the twin send it instructions mid-conversation — for example to steer the twin as a visitor moves through a form or a lesson. The twin answers those instructions aloud. Off unless the embedding page is built to use it.
Convo Web Access Link
A short public web address that opens this Digital Twin for people with no Pria account — for example nova produces …/twins/nova. Once saved, the full link is shown with a copy button and a scannable QR code for posters, badges, and screens.Whether that page opens straight into a voice conversation is decided by Start Immersive Mode by Default; if voice isn’t available it falls back to text chat.
Anyone with the link can talk to the twin and consume credits from the pool it bills to. There is no separate publish switch — setting the address makes the twin reachable, and clearing it takes the page offline.
Full guide: Guest Twin Links.Cloning: a clone never shares this address with its original. It gets its own, derived one (nova-copy-1 for an original nova) — rename it here before you share the clone. See Cloning a Digital Twin.
Controls the read-aloud voice used to speak responses in text conversations (distinct from
Convo, which is a live voice call).
Field
Description
Use natural voices for read-aloud
Use a high-quality neural voice instead of the browser’s built-in speech synthesis
Read-aloud voice
Which voice to use when natural voices are on; only the voices the speech model can speak are listed (for example Ballad and Verse exist only on gpt-4o-mini-tts)
The speech model itself is picked under Personalization and AI Models → Media → Text-to-Speech,
or as Speech model in Instance Settings → Voice.
For hostname matching rules (subdomains, ports, what a broad entry authorizes), see
Branding & Public URLs.LTI Contexts are populated automatically when you connect an LTI placement. The system
remembers which Digital Twin to launch when a user arrives through LTI or a Canvas theme integration.
To disconnect, remove the placement from this list or manage it from your profile page.
MCP (Model Context Protocol) is the open standard for connecting AI to external systems, and your
Digital Twin speaks it in both directions. Outbound — the twin calling external MCP servers as
extra tools — is configured on the Connector MCP and Tools tab. The settings here govern the
inbound direction and the identity signing used on outbound calls.
MCP Server Enabled
Switch for the inbound MCP endpoint: when enabled, external MCP clients (Claude, agents, partner platforms) can call this Digital Twin as an MCP source — for example to search its knowledge vault — authenticating with the MCP Server Secret below.This switch does not affect outbound connectors: the MCP servers your twin calls as tools stay active regardless.
MCP Server Secret
Unique authentication token used when this Digital Twin exposes itself as an MCP endpoint. Generated automatically; can be rotated. Configure third-party MCP clients with this secret.This secret is the only accepted credential for inbound MCP. The Digital Twin’s Public ID is not a credential and will not authenticate an MCP call.
MCP Signing Secret
When your twin calls an outside tool, Pria attaches a tamper-proof note saying which of your signed-in users the request is for, and signs it with this key. Your partner checks the signature, so they can safely build tools that return one learner’s own data — the identity comes from the login, not from anything the AI wrote.Share it through a secure channel (not email). Regenerating is an immediate cutover — partners verifying signatures reject calls until they configure the new value — so coordinate before rotating. See Verified learner identity on tool calls.
Curation Enabled
Allows an external learning platform to request curated articles from this Digital Twin via POST /api/curation/search. Used by the Praxis LXP to populate its AI Curated Content library.Switching Curation Enabled on generates a Curation Secret the first time. Give that secret to the calling platform; it is sent as Authorization: Bearer <secret>. It is scoped to the Digital Twin rather than to a person, so curation keeps working when staff change roles.To stop curation, switch Curation Enabled off. Do not blank the secret — turning the switch off refuses calls cleanly, whereas an emptied secret makes the calling platform look misconfigured instead.
To add the outside MCP servers your twin calls, see MCP Servers. To let other MCP clients call your twin, see Pria as an MCP server.
Connect your Digital Twin to Canvas LMS so it can query courses, assignments, grades, and more
through the Canvas REST APIs. Without these credentials, the call_canvas and search_canvas
tools are unavailable.
Canvas Client Id
The numeric identifier from your Canvas Developer Key (e.g., 10000000000217). Generated when a Canvas administrator creates an API-type Developer Key under Admin → Developer Keys.One Developer Key can be shared across several Digital Twins in the same organisation.
Canvas Client Secret
The secret key paired with the Client ID above. Click Show Key on your Canvas Developer Key to reveal and copy it. Together these enable OAuth2 so users can authorize the Digital Twin to access Canvas on their behalf.
Canvas Faculty Access Token
A personal access token generated by a registered course instructor. Optional, but required for teacher-level operations such as posting grade comments, creating announcements, or bulk grading — actions that need instructor-scoped permissions even when the end user is a student.To generate one: in Canvas, go to Account → Settings → New Access Token.
This token grants instructor-level access to the courses the faculty member is enrolled in. Store it securely and rotate it periodically.
Canvas API Scopes
A whitelist of Canvas REST API endpoints your Digital Twin may call. Each scope follows the syntax:
url:<HTTP_METHOD>|<API_ENDPOINT>
For example: url:GET|/api/v1/courses/:course_id/smartsearchScopes must be configured in two places — on the Canvas Developer Key and here. If a scope is missing from either location, the API call is rejected.
During development, disable scope enforcement on your Canvas Developer Key to discover which endpoints your twin needs. Monitor Agent Details in your dialog history to see which API calls are made, then add those scopes here before going live. Use the Upload/Download buttons to manage the list from a JSON file.
Require LMS sign-in on launch (Canvas or Blackboard)
In its own section, LMS sign-in (Canvas and Blackboard). When enabled, people who open the Digital Twin from Canvas or Blackboard must first sign in to that LMS — Sign in with Canvas or Sign in with Blackboard — before the twin opens, rather than being prompted only when a Canvas tool is first invoked. Blackboard sign-in also needs your Blackboard site set up for it: see Require Blackboard sign-in.
Don't prompt to enable Canvas authentication
Stops Pria from suggesting to this twin’s admins that they turn on Require LMS sign-in on launch (Canvas or Blackboard). The new admin editor calls it Stop suggesting Canvas sign-in.
For a complete walkthrough — creating the Developer Key, configuring scopes, testing, and troubleshooting — see the Canvas Pria Tools guide.
Exposes this Digital Twin behind an OpenAI-compatible Chat Completion endpoint, so external
tools that already speak that protocol can talk to your twin.
Field
Description
Enable Chat Completion endpoint
Turns the endpoint on
Chat Completion Model
Which model serves requests arriving on the endpoint
The Anam Avatar and Anam Meeting Bot sections of this editor are managed by the Praxis AI
team. Tune your twin’s Anam avatar in Instance Settings → Voice (see
Realtime Voice & Avatars); to send your twin into meetings,
contact humans@praxis-ai.com and see
Meeting Agent.
Anam and Cartesia voice conversations listen through Deepgram Flux. Its language is set by
Speech Recognition Language (Deepgram Flux) under Personalization and AI Models → Convo (Live
Voice & Avatar Calls), and applies wherever the twin listens through Deepgram — avatar
conversations, embedded twins and meeting bots. English only is the platform default and the
most accurate for English; pick the multilingual option for people who speak another language or
switch languages mid-conversation. OpenAI GPT-Realtime, Gemini Live, ElevenLabs and xAI transcribe
inside their own connection and ignore this field.
Turns the provider’s services on for this Digital Twin
Use Digital Twin identity
Everyone reaches the provider through one account the twin connects, instead of each person connecting their own. The service list and the connect button appear only with this on.
Microsoft tenant (optional)
Microsoft only: restrict sign-in to one Microsoft organization
A connected Digital Twin account takes precedence over any personal account a user connected: if the twin connects a shared Gmail, everyone uses that Gmail.
Connect your own AWS services — primarily Amazon Bedrock for model access and Amazon S3 for
storage — so the twin uses your AWS account under your organization’s billing and security
policies.
AWS Region
The region where your services are deployed. Choose the one closest to your users or where your Bedrock models and S3 buckets are provisioned.
us-east-1 (N. Virginia) — Broadest Bedrock model availability
us-west-2 (Oregon) — Good Bedrock coverage
eu-central-1 (Frankfurt) — European data residency
The access key ID from your AWS IAM credentials. Generate this in the AWS IAM Console by creating an IAM user or role with the necessary Bedrock and/or S3 permissions.Leave both of the Digital Twin’s keys empty to use the pair set on its account (Accounts → Shared Integrations). A complete pair set here on the twin wins; a single key is ignored and the account pair is used.
AWS Secret Access Key
The secret access key paired with the Access Key ID. Shown only once when you create the IAM credentials — store it securely.
This is a sensitive credential. It is stored encrypted and excluded from API responses by default. Never share it in client-side code or logs.
IAM Permissions: Your IAM user or role needs:
Amazon Bedrock — bedrock:InvokeModel, bedrock:InvokeModelWithResponseStream, and bedrock:ListFoundationModels
Amazon S3 — s3:GetObject, s3:PutObject, and s3:ListBucket on the relevant buckets
By default the Digital Twin reaches every AI provider through Praxis-managed access. When you
provide your own API key, the twin sends that provider’s requests with your key — the provider
bills your account for the raw usage, and you control rate limits and model availability.
Conversations are still metered in Pria credits; BYOK customers buy those credits at a discount
through our sales team. This is the bring-your-own-key (BYOK) section.
How BYOK routing works: when a model is selected for a Model Use and an API key exists for
that model’s provider, the request goes out with your key. If no key is set, it uses
Praxis-managed access. The choice is per provider, so you can use your own OpenAI key while
Anthropic requests go through Praxis.
OpenAI API Key
Connects to OpenAI models including GPT-5.2, GPT-5.1, GPT-5-mini, o4-mini, GPT Image 2.5, and Whisper transcription. Also enables image generation and GPT-Realtime voice.Generate your key at platform.openai.com/api-keys.
Anthropic API Key
Connects to Anthropic Claude models including Opus, Sonnet, and Haiku. Enables extended thinking and reasoning where available.Generate your key at console.anthropic.com/settings/keys.
Gemini API Key
Connects to Google Gemini models including Gemini 3.8 Flash, Gemini 3.1 Pro, Gemini 2.5 Flash, and Gemini Live for real-time voice.Generate your key at aistudio.google.com/apikey.
xAI API Key
Connects to xAI Grok models including Grok 4.7, Grok 4.1 Fast Reasoning, Grok Code Fast, and Grok Imagine (images).Generate your key at the xAI Console.
Mistral API Key
Connects to Mistral AI models via the native SDK — Mistral Large, Medium, Small, Pixtral (vision), Magistral (reasoning), Codestral (code), Voxtral (TTS/STT), and embedding/moderation models.Generate your key at console.mistral.ai/api-keys.
OpenRouter API Key
Connects to OpenRouter, a gateway to many providers: open-weight models such as DeepSeek V4 (Flash and Pro), Qwen, GLM, MiniMax and Gemma, plus Claude, Gemini and Grok models. DeepSeek models are offered only through OpenRouter — there is no separate DeepSeek key.Generate your key at openrouter.ai/settings/keys.
Cohere API Key
Connects to Cohere models including Command A. Enables Cohere’s retrieval-augmented generation and enterprise search.Generate your key at dashboard.cohere.com/api-keys.
This section also takes a Kimi API Key (Moonshot AI), a Stability AI API Key, a Google
AI Platform API Key (Gemini on Google Cloud’s Vertex AI — not interchangeable with the Gemini API
Key) and a RunPod API Key (see Self-hosted models on RunPod).
The ElevenLabs key sits in its own section above.
Security: All API keys are stored encrypted, excluded from API responses by default, and never exposed to the browser. Only administrators with the appropriate entitlements can view or modify them.
Digital Twin Instructions, Use About for Welcome Screen, Persona mode and guardrails
UI & Appearance
UI CSS (custom CSS for branding), UI Theme, Guest UI (Minimum screen), Disable Clipboard for Users and Disable Audio Notes for Users (hides the audio-note microphone from standard users)
UI CSS is injected as-is into the page. Test thoroughly to avoid breaking the layout.
Disable Clipboard for Users stops non-admin users from copying AI-generated content: text
selection and copy shortcuts are blocked, and the copy and share-link buttons are hidden.
Administrators keep full access. Useful for exams and for content that must not be extracted.
Under Content & Behavior, Enable guardrail instructions turns on a separate block of
standing rules about what the twin must refuse, avoid or hand off — kept apart from the Digital Twin
Instructions so the twin’s personality and its limits can be edited independently. With it on, a
Guardrail Instructions box holds those rules.Write them as plain, concrete limits rather than a tone of voice:
Never give individual medical, legal or financial advice — say you cannot and point to a qualified professional.Do not discuss admissions decisions or fee waivers; direct people to the admissions office.
Guardrails are standing rules, so they are sent on every turn. Keep them short and specific — a
long list costs credits on every message and gives the model more to weigh before it answers. The
creation interview also asks what the twin should avoid and where it should send people instead;
those answers shape the same behaviour. See
Onboarding Questions and
Crafting Digital Twin Instructions.
Each Model Use — a job the twin does — is assigned a model here.
Sub-section
What it covers
Custom Models
Bring-your-own-model entries added to the catalog
Conversation & Reasoning
The conversation model, its Fallback conversation model (answers when the conversation model fails before any reply started — quota, outage, network, credential; unset = the platform default), Conversation Completion Max Tokens, Reasoning Effort, Documents Summarization and Extended Context (1M tokens)
Convo (Live Voice & Avatar Calls)
Speech-to-Speech Model, voice, Voice Reasoning Effort, Interruption Sensitivity, VAD, noise reduction, transcription language, and the Deepgram speech-recognition language
Media
Image Analysis, Image Generation, Audio Generation, Video Generation, Audio Transcription, Video Analysis and Text-to-Speech models
When Subagents are enabled, each role in the team can run on its own model — a strong
reasoning model where the thinking happens, a cheap fast one where it doesn’t. The Subagents
section has a mode switch — All modes, Advanced, Expert, Mythical — and one row per
role, each with a model picker and an effort picker. A choice for one mode overrides All modes;
All modes overrides the platform’s per-mode picks. Each Default keeps the platform’s choice
and its label says which model and effort that is; leave rows on Default until you have a reason
not to. Each picker lists only the models suited to that role.
Row
The role it runs
Conductor / Conductor Fallback (All modes only)
The manager that plans the turn and decides who to bring in, and the model used when it is unavailable
Planner, Spec Writer, Plan Reviewer
Work out what should be built, and check the plan
Coder, Tester
Build the thing, and check it. Per mode you can also pin Coder for harder tasks and Coder for games and simulations.
Designer, Writer
Visual and written output
Researcher, Preflight
Gather material, and check readiness before a run starts
Judge
Scores or compares results where a run asks for it
Agentic Loop
The repeated think-act cycle a helper runs inside
Vision
Reading images; only models that can see are offered
Default effort follows the mode: Medium in Advanced, High in Expert, Extra High in
Mythical. Members can still pin their own models.
Outbound MCP connectors — external MCP servers this Digital Twin may call as extra tools. Each
connector is authored with its own configuration and credentials. See
MCP Servers and Connectors.
The list of platform tools, each with its own switch, a Search tools box, category filters and Show only enabled tools. A tool switched off is never offered to the AI, and a call to one is refused. Tools whose feature is off for this Digital Twin are not listed; a line names those features. To apply a ready-made set (None, Minimal, Media, Builder, All), use Instance Settings → Tools — see Tools.
Result Size (Max Chars Count)
Default:60000 characters.Maximum characters returned by a single tool call; longer results are truncated. Increase for Digital Twins working with large documents or detailed API responses. Decrease to reduce token usage and protect against runaway tool output.
File navigation tools
Default: on.Lets the AI list the folders of this Digital Twin’s vault and find files by name, which helps it
work across many files at once. Searching inside a file and editing it stay available either way.
Subagents need this on.
Builder tools
Default: on.Lets the AI check the web pages and activities it builds before handing them over — running their
checks, taking screenshots, and reviewing the result. Turn it on for a twin that builds pages or
interactive activities. Subagents need this on.
Tools Guidance
Default: off.Off, every question carries short rules for using tools. On, it also carries detailed guidance on
how many tool calls each kind of question deserves (and, in voice conversations, the full tool
rules). Turn it on when you need more reliable tool use — research workflows especially. It adds
several thousand characters to every question, so it costs credits whether or not tools are used.
Personal accounts have their own Tools Guidance switch in their Tools panel.
Tool calls per answer (cap)
Default:0 — the platform default of 20 tool calls.Most answers may call tools this many times before the Digital Twin must write the answer from what it has gathered. When the cap is reached, the twin finishes with a written answer that lists anything it could not find under “Not found”, or with an honest line saying it could not finish, never with a reply that trails off mid-search. Set a number from 1 to 50 to lower the cap for this twin; a twin can only lower the platform cap, never raise it. Leave the field empty or at 0 to use the platform default. Lower it for twins that should answer quickly from a small vault; keep the default for research-style twins that search many folders or sources before answering.
How uploaded files are processed before they become searchable: Sanitize Chunks, Chunk
Keyword Enrichment, Chunk Size (Search & Knowledge Graph), Chunk Overlap (%), and File
longevity (days) for this Digital Twin’s vault.
Ignore user personal vault, Max. Files In Vault, Document Search Affinity (k-NN Vector
Score %) and Max. Number of relevant articles. The embedding model is under Personalization
and AI Models → System → Embeddings Generation.
To build a knowledge graph from this Digital Twin’s files, use Enable KAG Fusion for your Digital
Twin in Instance Settings → Knowledge → Ingestion. Whether each twin may choose can be decided
by its account; the switch then says so.
The vault itself, embedded directly in the tab — upload, preview, edit segments, and remove files
without leaving the editor.Full reference: Knowledge & RAG Configuration.
Whether regular users may reach assistants at all, and whether they may author their own.
Disable Assistants for Users
When enabled, regular users cannot access the Assistant Library or use custom assistants. Administrators retain full access. Useful when the twin should present a single unified persona rather than a menu of specialists.
Disable Create Assistants for Users
When enabled, people who don’t manage this Digital Twin’s assistants can use assistants but cannot create new ones while working in it, in any app. Useful for curated deployments (curriculum, customer support).
Enable Assistants by Email Domains (ex: school.edu)
A list of email domains (for example school.edu) whose members may still use assistants when assistants are otherwise switched off above. It matches on the domain, not on individual addresses — so it grants access to everyone signing in with an address at that domain. Useful for opening assistants to staff while keeping them off for everyone else. Appears once Disable Assistants for Users is on.
A table of the assistants available to this Digital Twin, where you select which ones are enabled.
Switching one off retires it here without deleting it.Full reference: Assistants.
What the twin forms on its own from conversations, with a visible receipt for every memory it
saves. Whether it is available on a Digital Twin at all, and whether memories are shared across
sibling twins, are Praxis AI settings; what the twin’s own administrators control here is how far
it reaches once it is on, and what users see under each answer.Once long-term memory is switched on for the twin, these settings appear:
Long-term Memory: Admins Only limits it to administrators of the twin while you try it out.
Memory Mode — the memory new conversations use: Classic (key/value) or Long-term Memory
(twin memories). Members can change their own in their settings.
Display Memory Details (on by default) — whether the expandable Memory row under an
answer lists the memories that were Recalled to shape the reply. Turn it off for a quieter
transcript; memories are still used. Anything the twin Saved, Updated or Forgotten is
always shown, so a user can always see what was kept.
The same controls are also available to Digital Twin administrators from inside the product, in
Instance Settings → Knowledge → Long-term Memory (the first card of that tab). Turning the
feature on or off and sharing memories across the account are set by the Praxis AI team; they show
as read-only.
Facts the whole Digital Twin reads — set once by an administrator and available to every user of this
Digital Twin.Full reference: Twin Memory and
Memory Parameters & Act As.
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"praxis-ai","description":"Pria is an AI-powered digital twin that transforms human expertise into scalable, intelligent assistants for organizations across industries. Originally designed for education, Pria has evolved into a comprehensive middleware solution that captures, preserves, and amplifies institutional knowledge through personalized AI assistants.Pria seamlessly integrates into existing workflows - from learning management systems like Canvas and Moodle to enterprise platforms, websites, and business applications - providing 24/7 expert guidance for complex decision-making, knowledge transfer, and operational excellence. Powered by advanced orchestration technology, Pria leverages multiple Large Language Models (Claude, GPT-5, Gemini, Grok) and natural language processing to create human-like digital twins that understand context, maintain conversation continuity, and execute sophisticated agentic workflows through custom assistant personas.","colors":{"primary":"#5011FD","light":"#9B7BFF","dark":"#5011FD"},"logo":{"light":"https://mintcdn.com/praxisai/6nkK9KsHziJK7eUJ/images/logo/light.svg?fit=max\u0026auto=format\u0026n=6nkK9KsHziJK7eUJ\u0026q=85\u0026s=5d438417be87dbcd1a5749d3173410fc","dark":"https://mintcdn.com/praxisai/6nkK9KsHziJK7eUJ/images/logo/dark.svg?fit=max\u0026auto=format\u0026n=6nkK9KsHziJK7eUJ\u0026q=85\u0026s=86b4975deee6dc59be3442353e2c9e72"},"favicon":"https://mintcdn.com/praxisai/V04kWbMpKOdRS_h5/images/favicon.svg?fit=max\u0026auto=format\u0026n=V04kWbMpKOdRS_h5\u0026q=85\u0026s=0e8c7ce7a5d6b58089449c3d8e687b28","navbar":{"links":[{"href":"https://docs.praxis-ai.com/mdx/contact-support","label":"Support"}],"primary":{"type":"button","label":"Request a Demo","href":"https://praxis-ai.com/contact/"}},"footer":{"socials":{"bluesky":"https://bsky.app/profile/praxis-ai.bsky.social","instagram":"https://www.instagram.com/praxis_ai","x":"https://x.com/AiPraxis","github":"https://gitlab.com/praxis-ai","linkedin":"https://linkedin.com/company/praxis-ai"}},"banner":{"content":"Important update for Canvas users: more security for Canvas login — [read what changes](/mdx/user-guide/lms/canvas-login-security)","dismissible":true},"errors":{"404":{"redirect":true,"title":"Page Not Found","description":"Not Found. Redirecting you to the [Welcome page](/mdx/introduction/welcome)..."}},"styling":{"latex":true},"navigation":{"global":{"anchors":[{"anchor":"Innovations Hub","icon":"newspaper","href":"https://praxis-ai.com/innovation-hub/"},{"anchor":"Community Gitlab","icon":"gitlab","href":"https://gitlab.com/praxis-ai/pria-client-sdk"}]},"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"praxisai","hasAudioNarration":false,"actualSubdomain":"praxisai","customDomains":["docs.praxis-ai.com"],"gitSource":{"type":"gitlab","owner":"praxis-ai","repo":"pria-documentation","deployBranch":"main","contentDirectory":"","isPrivate":true,"projectId":71806583,"mountPath":"","label":""},"chroma":{"liveDeploymentHistoryId":"6ae32c2adc8ba8791923cb16","collectionId":"5af3d6c7-02ff-4676-8135-d4723a44d0f6","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6ae32c2adc8ba8791923cb16"},"feedback":{"thumbs":true},"entitlements":{},"buildId":"6ae32c2adc8ba8791923cb16","clientVersion":"0.0.4006","searchFilterCounts":[{"language":"default","tag":"Developer","count":478},{"language":"default","tag":"Runtime API","count":300},{"language":"default","tag":"Administrator API","count":147},{"language":"default","tag":"Admin","count":52},{"language":"default","tag":"Power User","count":33},{"language":"default","tag":"User","count":31},{"language":"default","tag":"Connectors","count":26},{"language":"default","tag":"Presentations","count":26},{"language":"default","tag":"Agents","count":25},{"language":"default","tag":"User Profile","count":24}]},"assistantConfig":{},"basePath":"","hasChatPermissions":false,"hasWebMcpPermissions":false,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"pause-universal-search-reconcile","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"per-site-search-delta","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-private-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"byok-sep-25","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"vite-origin","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-updated-9-15","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[],"page":{"pagePath":"mdx/admin-guide/configuration","slug":"/mdx/admin-guide/configuration","pageMetadata":{"title":"Configuration and Integrations","description":"A map of the Digital Twin editor (Admin → Instances) — every tab, section, and setting for your Digital Twin, and where each one is documented in depth.","icon":"users-gear","href":"/mdx/admin-guide/configuration"},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"A map of the Digital Twin editor (Admin → Instances) — every tab, section, and setting for your Digital Twin, and where each one is documented in depth.\"\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={a:`a`,code:`code`,em:`em`,hr:`hr`,li:`li`,p:`p`,pre:`pre`,span:`span`,strong:`strong`,tbody:`tbody`,td:`td`,th:`th`,thead:`thead`,tr:`tr`,ul:`ul`,..._provideComponents(),...props.components},{Accordion,AccordionGroup,Card,CardGroup,CodeBlock,Heading,Icon,Info,Note,OptimizedImage,Table,Tip,Warning}=_components;if(!Accordion)_missingMdxReference(`Accordion`,true);if(!AccordionGroup)_missingMdxReference(`AccordionGroup`,true);if(!Card)_missingMdxReference(`Card`,true);if(!CardGroup)_missingMdxReference(`CardGroup`,true);if(!CodeBlock)_missingMdxReference(`CodeBlock`,true);if(!Heading)_missingMdxReference(`Heading`,true);if(!Icon)_missingMdxReference(`Icon`,true);if(!Info)_missingMdxReference(`Info`,true);if(!Note)_missingMdxReference(`Note`,true);if(!OptimizedImage)_missingMdxReference(`OptimizedImage`,true);if(!Table)_missingMdxReference(`Table`,true);if(!Tip)_missingMdxReference(`Tip`,true);if(!Warning)_missingMdxReference(`Warning`,true);return _jsxs(_Fragment,{children:[_jsx(Info,{children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`One thing, three names.`}),` In these docs we call your assistant a `,_jsx(_components.strong,{children:`Digital Twin`}),`. You will also see it called an `,_jsx(_components.strong,{children:`Instance`}),` — on the `,_jsx(_components.strong,{children:`Instance Settings`}),` panel, in the admin `,_jsx(_components.strong,{children:`Instances`}),` list, and in your web address (`,_jsx(_components.code,{children:`your-instance.praxislxp.com`}),`) — and an `,_jsx(_components.strong,{children:`Institution`}),`, which is what our software calls it behind the scenes (in API fields such as `,_jsx(_components.code,{children:`institution`}),`). All three mean exactly the same thing: one assistant, with its own knowledge, voice, members and settings. Which name you see depends on the screen you are on, not on what the thing is. An `,_jsx(_components.strong,{children:`Account`}),` is different — it is the organisation that owns one or more Digital Twins.`]})}),`\n`,_jsxs(_components.p,{children:[`The `,_jsx(_components.strong,{children:`Instances`}),` editor is where a Digital Twin is configured (`,_jsx(_components.em,{children:`Instance`}),` is the older name for a Digital Twin that this screen still uses). It is organised as a `,_jsx(_components.strong,{children:`tab bar`}),` across\nthe top, and within each tab a set of `,_jsx(_components.strong,{children:`section headings`}),` (with a quick-access rail to jump\nbetween them). This page mirrors that structure exactly, so a heading here is a heading you can\nsee on screen.`]}),`\n`,_jsx(Tip,{children:_jsxs(_components.p,{children:[`Looking for the `,_jsx(_components.strong,{children:`Instance Settings`}),` panel that twin admins open from `,_jsx(_components.strong,{children:`[+] → Settings`}),` in a conversation — with the `,_jsx(_components.strong,{children:`Integration Wizard`}),`, `,_jsx(_components.strong,{children:`Billing`}),`, `,_jsx(_components.strong,{children:`Voice`}),`, `,_jsx(_components.strong,{children:`Knowledge`}),` and the other screens? It has its own page: `,_jsx(_components.a,{href:`/mdx/user-guide/profile-settings/instance-settings`,children:`Instance Settings`}),`. This page covers the full editor in the admin console.`]})}),`\n`,_jsxs(CardGroup,{cols:2,children:[_jsx(Card,{title:`Configuration and Integrations`,icon:`sliders`,href:`#tab-configuration-and-integrations`,children:_jsx(_components.p,{children:`Twin details, membership, AI behaviour, quotas, and every third-party integration.`})}),_jsx(Card,{title:`Personalization and AI Models`,icon:`id-card`,href:`#tab-personalization-and-ai-models`,children:_jsx(_components.p,{children:`Identity and branding, plus the model assigned to each job the twin does.`})}),_jsx(Card,{title:`Knowledge and tools`,icon:`database`,href:`#tab-rag-and-files`,children:_jsx(_components.p,{children:`RAG and Files, Connector MCP and Tools, Assistants, Onboarding Questions.`})}),_jsx(Card,{title:`Twin Memory`,icon:`brain`,href:`#tab-twin-memory`,children:_jsx(_components.p,{children:`Long-term Memory and Shared Memory.`})})]}),`\n`,_jsx(Heading,{level:`2`,id:`how-the-editor-is-organised`,children:`How the editor is organised`}),`\n`,_jsx(Note,{children:_jsxs(_components.p,{children:[`This editor is available to `,_jsx(_components.strong,{children:`Digital Twin Instance Admins`}),`. Depending on your entitlements,\nsome fields are read-only, and a few are managed by the Praxis AI team.`]})}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Two tabs are always present.`}),` The remaining tabs appear `,_jsx(_components.strong,{children:`only after the Digital Twin has been\nsaved`}),` — when you are creating a new one you will see just the first two, and the rest\nunlock once it exists.`]}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Tab`}),_jsx(_components.th,{children:`What lives there`}),_jsx(_components.th,{children:`Documented`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Configuration and Integrations`})}),_jsx(_components.td,{children:`The twin’s identity, membership and credits, AI behaviour, quotas, voice entry points, and every external service`}),_jsx(_components.td,{children:`On this page`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Personalization and AI Models`})}),_jsx(_components.td,{children:`Name, avatar, branding, UI, and the model chosen for each job`}),_jsxs(_components.td,{children:[_jsx(_components.a,{href:`/mdx/admin-guide/personalization`,children:`Personalization`}),`, `,_jsx(_components.a,{href:`/mdx/admin-guide/ai-models`,children:`AI Models`})]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Connector MCP and Tools`})}),_jsx(_components.td,{children:`External MCP connectors and the platform tool policy`}),_jsxs(_components.td,{children:[_jsx(_components.a,{href:`/mdx/admin-guide/mcp-servers`,children:`MCP Servers`}),`, `,_jsx(_components.a,{href:`/mdx/admin-guide/tools`,children:`Tools`})]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Onboarding Questions`})}),_jsx(_components.td,{children:`The guided questions new users answer on first run`}),_jsx(_components.td,{children:_jsx(_components.a,{href:`/mdx/admin-guide/onboarding-questions`,children:`Onboarding Questions`})})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`RAG and Files`})}),_jsx(_components.td,{children:`Retrieval settings, the ingestion pipeline, and the IP Vault itself`}),_jsx(_components.td,{children:_jsx(_components.a,{href:`/mdx/admin-guide/knowledge-rag-config`,children:`Knowledge \u0026 RAG`})})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Assistants`})}),_jsx(_components.td,{children:`Which assistants users may reach, and who may author them`}),_jsx(_components.td,{children:_jsx(_components.a,{href:`/mdx/admin-guide/assistants`,children:`Assistants`})})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Agents`})}),_jsx(_components.td,{children:`Autonomous agent workspaces. Appears only when the twin is agent-eligible`}),_jsx(_components.td,{children:_jsx(_components.a,{href:`/mdx/admin-guide/agents`,children:`Agents`})})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Twin Memory`})}),_jsx(_components.td,{children:`Long-term Memory and Shared Memory`}),_jsx(_components.td,{children:_jsx(_components.a,{href:`/mdx/user-guide/memory/twin-memory`,children:`Twin Memory`})})]})]})]}),`\n`,_jsx(Tip,{children:_jsxs(_components.p,{children:[`Within a tab, use the `,_jsx(_components.strong,{children:`quick-access rail`}),` beside the form to jump straight to a section\nheading rather than scrolling. On narrow screens the rail collapses and the headings stay in\ndocument order.`]})}),`\n`,_jsx(Heading,{level:`2`,id:`instance-management`,children:`Instance Management`}),`\n`,_jsxs(_components.p,{children:[`A Digital Twin is the thing you configure here: its knowledge, its personality, its people and its\nsettings. The admin screens call it an `,_jsx(_components.strong,{children:`Instance`}),`.`]}),`\n`,_jsx(OptimizedImage,{src:`https://mintcdn.com/praxisai/60S-TkaqdLQNeHho/images/admin-guide/admin-configurations-main-ui.gif?s=0ef5e5183e64a3fd8b33d5dc3afe63bf`,alt:`Admin Configurations Main Ui Gi`,\"data-og-width\":`1920`,width:`1920`,\"data-og-height\":`1080`,height:`1080`,\"data-path\":`images/admin-guide/admin-configurations-main-ui.gif`,\"data-optimize\":`true`,\"data-opv\":`3`}),`\n`,_jsxs(_components.p,{children:[`Start by clicking the `,_jsx(Icon,{icon:`house-chimney`}),` Admin dashboard, located at the top of the main\nuser interface. The `,_jsx(_components.strong,{children:`Instances`}),` tab lists every Digital Twin you are entitled to manage, and\nlets you create a new one if you are entitled to.`]}),`\n`,_jsx(OptimizedImage,{src:`https://mintcdn.com/praxisai/60S-TkaqdLQNeHho/images/admin-guide/configurations-instances-tab-list.webp?fit=max\u0026auto=format\u0026n=60S-TkaqdLQNeHho\u0026q=85\u0026s=aef2e741dd8d42ce75f8767a72d22a56`,alt:`Configurations Instances Tab List Web`,\"data-og-width\":`2982`,width:`2982`,\"data-og-height\":`1768`,height:`1768`,\"data-path\":`images/admin-guide/configurations-instances-tab-list.webp`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/praxisai/60S-TkaqdLQNeHho/images/admin-guide/configurations-instances-tab-list.webp?w=280\u0026fit=max\u0026auto=format\u0026n=60S-TkaqdLQNeHho\u0026q=85\u0026s=bd33cc559d61162df57ba054732c491c 280w, https://mintcdn.com/praxisai/60S-TkaqdLQNeHho/images/admin-guide/configurations-instances-tab-list.webp?w=560\u0026fit=max\u0026auto=format\u0026n=60S-TkaqdLQNeHho\u0026q=85\u0026s=29c1e44ba4bc567dc8cd629893cfc8a4 560w, https://mintcdn.com/praxisai/60S-TkaqdLQNeHho/images/admin-guide/configurations-instances-tab-list.webp?w=840\u0026fit=max\u0026auto=format\u0026n=60S-TkaqdLQNeHho\u0026q=85\u0026s=faea1708490b1d88c463d8d498723f93 840w, https://mintcdn.com/praxisai/60S-TkaqdLQNeHho/images/admin-guide/configurations-instances-tab-list.webp?w=1100\u0026fit=max\u0026auto=format\u0026n=60S-TkaqdLQNeHho\u0026q=85\u0026s=441b4197112b69a7d224fc04a50da0b9 1100w, https://mintcdn.com/praxisai/60S-TkaqdLQNeHho/images/admin-guide/configurations-instances-tab-list.webp?w=1650\u0026fit=max\u0026auto=format\u0026n=60S-TkaqdLQNeHho\u0026q=85\u0026s=fbc88c9febb8ff0858423e119d0bb183 1650w, https://mintcdn.com/praxisai/60S-TkaqdLQNeHho/images/admin-guide/configurations-instances-tab-list.webp?w=2500\u0026fit=max\u0026auto=format\u0026n=60S-TkaqdLQNeHho\u0026q=85\u0026s=603f377e03d4c41c815361403f18a3a2 2500w`}),`\n`,_jsx(Heading,{level:`3`,id:`viewing-instances`,children:`Viewing Instances`}),`\n`,_jsxs(CardGroup,{cols:2,children:[_jsx(Card,{title:`List of Instances`,icon:`pencil`,iconType:`regular`,color:`#27b834`,children:_jsx(_components.p,{children:`The Instances tab lists every Digital Twin you have access to, with its name, status, and other details.`})}),_jsx(Card,{title:`Instance Details`,icon:`gear`,children:_jsx(_components.p,{children:`Clicking a Digital Twin opens the editor described below — configuration, members, and activity.`})})]}),`\n`,_jsx(Warning,{children:_jsx(_components.p,{children:`Depending on your administrative rights, your editing privileges may be limited.`})}),`\n`,_jsx(_components.hr,{}),`\n`,_jsx(Heading,{level:`2`,id:`tab-configuration-and-integrations`,children:`Tab: Configuration and Integrations`}),`\n`,_jsx(OptimizedImage,{src:`https://mintcdn.com/praxisai/60S-TkaqdLQNeHho/images/admin-guide/instance-general-settings.webp?fit=max\u0026auto=format\u0026n=60S-TkaqdLQNeHho\u0026q=85\u0026s=8de1f7424b9c44f97b01b686d50877bf`,alt:`Instances General Settings`,\"data-og-width\":`1424`,width:`1424`,\"data-og-height\":`834`,height:`834`,\"data-path\":`images/admin-guide/instance-general-settings.webp`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/praxisai/60S-TkaqdLQNeHho/images/admin-guide/instance-general-settings.webp?w=280\u0026fit=max\u0026auto=format\u0026n=60S-TkaqdLQNeHho\u0026q=85\u0026s=a0b53ef69f937bf7eb605a80ec9bd298 280w, https://mintcdn.com/praxisai/60S-TkaqdLQNeHho/images/admin-guide/instance-general-settings.webp?w=560\u0026fit=max\u0026auto=format\u0026n=60S-TkaqdLQNeHho\u0026q=85\u0026s=e5ffa4ff2bd98ebfaec1ab9db0ec680d 560w, https://mintcdn.com/praxisai/60S-TkaqdLQNeHho/images/admin-guide/instance-general-settings.webp?w=840\u0026fit=max\u0026auto=format\u0026n=60S-TkaqdLQNeHho\u0026q=85\u0026s=0ef0bb02997196242f95531f9da4de41 840w, https://mintcdn.com/praxisai/60S-TkaqdLQNeHho/images/admin-guide/instance-general-settings.webp?w=1100\u0026fit=max\u0026auto=format\u0026n=60S-TkaqdLQNeHho\u0026q=85\u0026s=71f61aa6d8e0da41209782f0a75e3d69 1100w, https://mintcdn.com/praxisai/60S-TkaqdLQNeHho/images/admin-guide/instance-general-settings.webp?w=1650\u0026fit=max\u0026auto=format\u0026n=60S-TkaqdLQNeHho\u0026q=85\u0026s=98bbed5ba38e20fd7e54cec49bae4ecc 1650w, https://mintcdn.com/praxisai/60S-TkaqdLQNeHho/images/admin-guide/instance-general-settings.webp?w=2500\u0026fit=max\u0026auto=format\u0026n=60S-TkaqdLQNeHho\u0026q=85\u0026s=60ef178439891249f3a4a9e627598f38 2500w`}),`\n`,_jsxs(_components.p,{children:[`This tab carries two top-level sections — `,_jsx(_components.strong,{children:`Configuration`}),` and `,_jsx(_components.strong,{children:`Integrations`}),`.`]}),`\n`,_jsx(Heading,{level:`3`,id:`configuration`,children:`Configuration`}),`\n`,_jsx(Heading,{level:`4`,id:`instance-details`,children:`Instance Details`}),`\n`,_jsxs(AccordionGroup,{children:[_jsxs(Accordion,{title:`Instance Name`,id:`instance-name`,children:[_jsx(_components.p,{children:`You name a new Digital Twin when you create it. Use a consistent convention:`}),_jsx(CodeBlock,{numberOfLines:`3`,language:`text`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`text`,children:_jsxs(_components.code,{language:`text`,numberOfLines:`3`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`Canvas integration: instance_name.school_name.instructure.com`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`Praxis LXP integration: instance_name.praxislxp.com`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{})})]})})}),_jsxs(Note,{children:[`To rename an existing Digital Twin, contact the Praxis AI team at `,_jsx(_components.a,{href:`mailto:humans@praxis-ai.com`,children:`humans@praxis-ai.com`}),`.`]})]}),_jsxs(Accordion,{title:`Instance Credits`,id:`instance-credits`,children:[_jsxs(_components.p,{children:[`The credit balance for this Digital Twin. New Digital Twins receive 50 starter credits. Purchase additional credits at `,_jsx(_components.a,{href:`https://pria.praxislxp.com/my-profile/pricing`,children:`https://pria.praxislxp.com/my-profile/pricing`}),` or contact your organization’s IT administrator for enterprise options.`]}),_jsxs(Note,{children:[`To adjust this field, contact the Praxis AI team at `,_jsx(_components.a,{href:`mailto:humans@praxis-ai.com`,children:`humans@praxis-ai.com`}),`.`]})]}),_jsxs(Accordion,{title:`Status`,id:`status`,children:[_jsx(_components.p,{children:`Controls whether the Digital Twin is available:`}),_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Active`}),` — The Digital Twin is operational for all users`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Inactive`}),` — The Digital Twin is temporarily disabled`]}),`\n`]}),_jsxs(Note,{children:[`To adjust this field, contact the Praxis AI team at `,_jsx(_components.a,{href:`mailto:humans@praxis-ai.com`,children:`humans@praxis-ai.com`}),`.`]})]}),_jsx(Accordion,{title:`Public ID`,id:`public-id`,children:_jsx(_components.p,{children:`Unique identifier automatically generated when the Digital Twin is created. Used for API integrations, Chat Completions, and system connections. It is public by design — safe to share in embed code and links; it is not a credential and grants no access on its own. This field is read-only — use the copy button to copy it to your clipboard.`})}),_jsx(Accordion,{title:`Contact Emails`,id:`contact-emails`,children:_jsx(_components.p,{children:`Specify administrator email addresses (comma-separated) for monitoring and notifications about this Digital Twin. Used for moderation alerts and system notifications.`})}),_jsx(Accordion,{title:`Account`,id:`account`,children:_jsx(_components.p,{children:`Links this Digital Twin to an Account (your organisation) for centralised credit management across several Digital Twins. Select from available accounts in the dropdown.`})})]}),`\n`,_jsx(Heading,{level:`4`,id:`access-\u0026-membership`,children:`Access \u0026 Membership`}),`\n`,_jsxs(AccordionGroup,{children:[_jsx(Accordion,{title:`Allow React Component Embed`,id:`allow-react-component-embed`,children:_jsxs(_components.p,{children:[`Lets this Digital Twin be embedded inside another web application as a component, rather than only through a link or the standard embed. Leave it off unless a developer is building the twin into your own product; see `,_jsx(_components.a,{href:`/mdx/integrations/web/introduction`,children:`Embed your Digital Twin`}),`.`]})}),_jsxs(Accordion,{title:`Allow Joining`,id:`allow-joining`,children:[_jsx(_components.p,{children:`Controls how new users can join this Digital Twin:`}),_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Disabled`}),` — Users cannot self-join; they must be added by an administrator`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Account only`}),` — Only users within the same Account can join`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Everyone (public)`}),` — Anyone can join this Digital Twin`]}),`\n`]}),_jsxs(Note,{children:[`To adjust this field, contact the Praxis AI team at `,_jsx(_components.a,{href:`mailto:humans@praxis-ai.com`,children:`humans@praxis-ai.com`}),`.`]})]}),_jsxs(Accordion,{title:`Joining Admin Only`,id:`joining-admin-only`,children:[_jsxs(_components.p,{children:[`When enabled, only administrators can join the Digital Twin — regular users are blocked from self-joining. This option appears only when `,_jsx(_components.strong,{children:`Allow Joining`}),` is set to “Account only” or “Everyone (public)”.`]}),_jsxs(Note,{children:[`To adjust this field, contact the Praxis AI team at `,_jsx(_components.a,{href:`mailto:humans@praxis-ai.com`,children:`humans@praxis-ai.com`}),`.`]})]}),_jsxs(Accordion,{title:`Pool Credits`,id:`pool-credits`,children:[_jsx(_components.p,{children:`Enable credit sharing across everyone using this Digital Twin. Each interaction consumes credits based on complexity. When credits are depleted, users cannot interact until credits are replenished according to your service agreement.`}),_jsxs(Note,{children:[`When Pool Credits is disabled, requests from users draw from each user’s personal credit pool instead. To change this field, contact the Praxis AI team at `,_jsx(_components.a,{href:`mailto:humans@praxis-ai.com`,children:`humans@praxis-ai.com`}),`.`]})]}),_jsxs(Accordion,{title:`Credits Awarded to New Users`,id:`credits-awarded-to-new-users`,children:[_jsxs(_components.p,{children:[`The number of credits automatically granted to new users when they first join this Digital Twin. Set to `,_jsx(_components.code,{children:`0`}),` to disable automatic credit awards. This field is only visible when `,_jsx(_components.strong,{children:`Pool Credits`}),` is disabled (i.e., users manage their own credit balance).`]}),_jsxs(Note,{children:[`To change it on an existing Digital Twin, contact the Praxis AI team at `,_jsx(_components.a,{href:`mailto:humans@praxis-ai.com`,children:`humans@praxis-ai.com`}),`.`]})]}),_jsx(Accordion,{title:`Grant Entitlements to New Admins`,id:`grant-entitlements-to-new-admins`,children:_jsxs(_components.p,{children:[`Automatically grants full `,_jsx(_components.a,{href:`/mdx/admin-guide/entitlements`,children:`entitlements`}),` to new administrators, providing complete dashboard access and customization capabilities. For specific entitlement questions, contact `,_jsx(_components.a,{href:`mailto:humans@praxis-ai.com`,children:`humans@praxis-ai.com`}),`.`]})}),_jsx(Accordion,{title:`Prevent Switching to other Instances`,id:`prevent-switching-to-other-instances`,children:_jsx(_components.p,{children:`When enabled, users are locked to this Digital Twin and cannot switch to any other. Useful for kiosk-style deployments or single-purpose integrations.`})}),_jsx(Accordion,{title:`Disable Add Credits`,id:`disable-add-credits`,children:_jsx(_components.p,{children:`Hides the option for users to purchase or add credits to their account. Use this when credit management is handled exclusively by administrators or through organization-wide agreements.`})}),_jsxs(Accordion,{title:`Prevent Personal Account Creation`,id:`prevent-personal-account-creation`,children:[_jsx(_components.p,{children:`When enabled, members of this Digital Twin are not offered a personal Pria account, and the option is unavailable to them.`}),_jsx(_components.p,{children:`Two boundaries are worth knowing:`}),_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[`The setting applies while a member is working in `,_jsx(_components.strong,{children:`this`}),` Digital Twin. Someone who also belongs to another Digital Twin without this setting can still create a personal account from there.`]}),`\n`,_jsx(_components.li,{children:`It covers members creating an account for themselves. Administrators adding or editing people through the admin screens are not restricted by it.`}),`\n`]})]})]}),`\n`,_jsx(Heading,{level:`4`,id:`ai-behavior`,children:`AI Behavior`}),`\n`,_jsxs(AccordionGroup,{children:[_jsxs(Accordion,{title:`Enable Moderation`,id:`enable-moderation`,children:[_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Default:`}),` on. Screens every user message for unsafe content before it reaches the AI model. Flagged messages are blocked with a safe response, and an alert email goes to the Digital Twin’s `,_jsx(_components.strong,{children:`Contact Emails`}),`.`]}),_jsxs(_components.p,{children:[`The model that does the screening is picked under `,_jsx(_components.strong,{children:`Personalization and AI Models → System → Moderation`}),` (for example `,_jsx(_components.code,{children:`omni-moderation-latest`}),`). For the categories, what users see when a message is blocked, and how to review flagged conversations, see `,_jsx(_components.a,{href:`/mdx/admin-guide/moderation`,children:`Content Moderation`}),`.`]})]}),_jsx(Accordion,{title:`Cite Sources`,id:`cite-sources`,children:_jsx(_components.p,{children:`When enabled, the Digital Twin always includes source citations in its responses. This instructs the AI to reference the documents, files, or knowledge base entries it used to generate each answer, improving transparency and traceability.`})}),_jsx(Accordion,{title:`Don't prompt to personalize`,id:`dont-prompt-to-personalize`,children:_jsxs(_components.p,{children:[`Disables the initial `,_jsx(_components.a,{href:`/mdx/admin-guide/personalization`,children:`personalization`}),` popup for new users, allowing direct access to the conversation interface without being prompted to set preferences first.`]})}),_jsx(Accordion,{title:`Use Location`,id:`use-location`,children:_jsx(_components.p,{children:`Enables location-based responses for queries about local services, weather, campus information, and regional content. Improves response accuracy and relevance for location-dependent requests.`})}),_jsxs(Accordion,{title:`Compact History`,id:`compact-history`,children:[_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Default:`}),` on. Before each request, Pria has the summary model condense the earlier part of the conversation, so long conversations keep their context while using fewer tokens. Leave it on for long, ongoing conversations (research projects, multi-session tutoring); short Q\u0026A barely needs it.`]}),_jsxs(Note,{children:[_jsx(_components.strong,{children:`Document Search Affinity`}),` (under `,_jsx(_components.strong,{children:`RAG and Files`}),`) has nothing to do with shortening conversations: it sets how closely a passage must match a question before Pria uses it. See `,_jsx(_components.a,{href:`/mdx/admin-guide/knowledge-rag-config`,children:`Knowledge \u0026 RAG Configuration`}),`.`]})]}),_jsxs(Accordion,{title:`Transparency toggles`,id:`transparency-toggles`,children:[_jsxs(_components.p,{children:[`Five independent switches decide what users see alongside each response. All default to `,_jsx(_components.strong,{children:`on`}),`; turn them off for kiosk-style deployments where the conversation should feel chat-like rather than tool-driven.`]}),_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Display RAG/KAG Search Details`}),` — which passages were retrieved, and their relevance scores`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Display Thinking Details`}),` — the model’s reasoning trace when thinking is enabled`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Display Thinking Execution`}),` — live progress while the model is reasoning`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Display Tool Execution`}),` — real-time progress as tools execute`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Display Tools Details`}),` — the complete agent step-by-step breakdown`]}),`\n`]})]})]}),`\n`,_jsxs(Note,{children:[`An always-on autonomous agent workspace for a Digital Twin is set up by the Praxis AI team. To ask for one, contact `,_jsx(_components.a,{href:`mailto:humans@praxis-ai.com`,children:`humans@praxis-ai.com`}),`; once it is on, the `,_jsx(_components.strong,{children:`Agents`}),` tab appears in this editor.`]}),`\n`,_jsx(Heading,{level:`4`,id:`subagents`,children:`Subagents`}),`\n`,_jsxs(_components.p,{children:[`Lets this Digital Twin answer with a `,_jsx(_components.strong,{children:`team`}),` instead of a single model: one model becomes the\nmanager, plans the work, and brings in temporary specialists — a researcher, a builder, a checker —\nthat run in parallel and report back. Best for jobs with real steps; slower and dearer than a single\nanswer. See `,_jsx(_components.a,{href:`/mdx/user-guide/interface/single-model-vs-agent-mode`,children:`Single Model vs Agent Mode`}),` for\nwhat members experience.`]}),`\n`,_jsxs(AccordionGroup,{children:[_jsxs(Accordion,{title:`Enable Subagents (experimental)`,id:`enable-subagents-experimental`,children:[_jsx(_components.p,{children:`The master switch. While it is off, every conversation in this Digital Twin is single-model — the\ndefault everywhere.`}),_jsx(Note,{children:_jsxs(_components.p,{children:[`Turning it on makes subagents `,_jsx(_components.strong,{children:`available`}),`; it does not turn them on for anyone. Each member\nopts in for themselves from the chat’s `,_jsx(_components.strong,{children:`[+] → Subagents`}),` menu and chooses how much of a team\nto allow. Everyone who doesn’t opt in keeps single-model conversations.`]})})]}),_jsx(Accordion,{title:`Admins only`,id:`admins-only`,children:_jsxs(_components.p,{children:[`Limits that opt-in to administrators of the twin while you try the feature out. Members keep\nsingle-model conversations and don’t see the Subagents entry in the `,_jsx(_components.strong,{children:`[+]`}),` menu at all.`]})}),_jsxs(Accordion,{title:`Max Concurrent Subagents`,id:`max-concurrent-subagents`,children:[_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Default:`}),` `,_jsx(_components.code,{children:`10`}),`.`]}),_jsx(_components.p,{children:`How many helpers may work at the same time for one member. Lower it to smooth out spend and load;\nraise it when jobs split naturally into many independent pieces.`})]}),_jsxs(Accordion,{title:`Subagent Tool-Call Budget`,id:`subagent-tool-call-budget`,children:[_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Default:`}),` `,_jsx(_components.code,{children:`20`}),`.`]}),_jsxs(_components.p,{children:[`The most tool calls a single helper may make before it is stopped and has to report what it has.\nThis is per helper, and separate from `,_jsx(_components.strong,{children:`Tool calls per answer (cap)`}),`, which bounds an ordinary\nsingle-model answer.`]})]}),_jsxs(Accordion,{title:`Subagent Resume Attempts`,id:`subagent-resume-attempts`,children:[_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Default:`}),` `,_jsx(_components.code,{children:`3`}),`.`]}),_jsx(_components.p,{children:`How many times a helper that fails is retried automatically before the problem is handed back to\nthe manager. Raising it makes runs more resilient but slower to give up.`})]}),_jsxs(Accordion,{title:`Subagent Max Tokens`,id:`subagent-max-tokens`,children:[_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Default:`}),` `,_jsx(_components.code,{children:`0`}),` — each role uses its own default.`]}),_jsx(_components.p,{children:`Caps how long a single helper’s reply may be. Set a number only when you want a hard ceiling on\nevery role at once.`})]})]}),`\n`,_jsx(Warning,{children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Subagent turns are billed differently.`}),` A single-model answer uses the flat rate; a turn handled\nby a team is billed on what the team’s work actually cost, added up and rounded once for the whole\nturn. A request that becomes dozens of model calls costs noticeably more. See\n`,_jsx(_components.a,{href:`/mdx/introduction/plans-and-credits#subagent-agent-mode-pricing`,children:`Plans and Credits`}),`.`]})}),`\n`,_jsxs(_components.p,{children:[`The `,_jsx(_components.strong,{children:`models`}),` each role uses are set on the Personalization and AI Models tab — see `,_jsx(_components.a,{href:`#subagent-role-models`,children:`Subagent role models`}),`.`]}),`\n`,_jsx(Heading,{level:`4`,id:`user-quotas`,children:`User Quotas`}),`\n`,_jsx(_components.p,{children:`Per-user credit caps for this Digital Twin, shown alongside any caps inherited from the parent account\nand a live count of how many users are currently at their limit. Caps limit how much a single user\nmay consume without affecting the Digital Twin’s total balance.`}),`\n`,_jsxs(_components.p,{children:[`See `,_jsx(_components.a,{href:`/mdx/admin-guide/credit-management`,children:`Credit Management`}),` for how caps interact with pooled\ncredits and account-wide limits.`]}),`\n`,_jsx(Heading,{level:`4`,id:`realtime-/-convo`,children:`Realtime / Convo`}),`\n`,_jsxs(_components.p,{children:[`The entry points to live voice. Provider choice, voice selection, and avatar tuning live in the\n`,_jsx(_components.strong,{children:`Personalization and AI Models`}),` tab — see `,_jsx(_components.a,{href:`/mdx/admin-guide/realtime-voice`,children:`Realtime Voice \u0026 Avatars`}),`.`]}),`\n`,_jsxs(AccordionGroup,{children:[_jsxs(Accordion,{title:`Enable Convo (Speech-to-Speech)`,id:`enable-convo-speech-to-speech`,children:[_jsxs(_components.p,{children:[`Activates real-time voice communication. Users can speak directly to the Digital Twin and receive verbal responses in real time. See `,_jsx(_components.a,{href:`/mdx/user-guide/interface/convo-speech`,children:`Convo Mode`}),`.`]}),_jsx(_components.p,{children:`When enabled, the additional Convo settings below appear.`})]}),_jsx(Accordion,{title:`Convo Admin Only`,id:`convo-admin-only`,children:_jsx(_components.p,{children:`Restricts Convo Mode to administrators — regular users will not see the Convo button.`})}),_jsx(Accordion,{title:`Convo Enable Text Input`,id:`convo-enable-text-input`,children:_jsx(_components.p,{children:`Allows users to type text messages during a Convo session in addition to speaking.`})}),_jsx(Accordion,{title:`Convo Show Transcript`,id:`convo-show-transcript`,children:_jsx(_components.p,{children:`Shows the live transcript of the conversation beneath the voice panel, so people can read along as they and the twin speak. Turn it off for a cleaner kiosk or demo screen.`})}),_jsx(Accordion,{title:`Avatar Fullscreen`,id:`avatar-fullscreen`,children:_jsx(_components.p,{children:`Lets people expand the avatar to fill the screen during a voice conversation.`})}),_jsx(Accordion,{title:`Restrict use of assistants`,id:`restrict-use-of-assistants`,children:_jsxs(_components.p,{children:[`Set it in `,_jsx(_components.strong,{children:`Instance Settings → Voice`}),`. Off by default: every assistant of the Digital Twin can be used in Convo Mode, and a conversation that already runs an assistant keeps it when someone starts talking. Turn it on to limit Convo Mode to the assistants you check in the list below the switch; members can then switch between those assistants during a call. With the switch on and nothing checked, every assistant stays allowed.`]})}),_jsx(Accordion,{title:`Lock full-screen conversation`,id:`lock-full-screen-conversation`,children:_jsx(_components.p,{children:`Keeps people in the full-screen avatar view for the whole conversation — the collapse button and the Escape key are turned off, and ending the call is the only way out. Use this for kiosk screens and embedded experiences.`})}),_jsx(Accordion,{title:`Start Immersive Mode by Default`,id:`start-immersive-mode-by-default`,children:_jsx(_components.p,{children:`Launches the voice conversation automatically after sign-in — visitors land in the immersive voice experience (with a tap-to-start step) every time, instead of the classic chat.`})}),_jsxs(Accordion,{title:`Immersive Side Drawer`,id:`immersive-side-drawer`,children:[_jsx(_components.p,{children:`Adds a panel of your own content beside the avatar in the immersive view — a menu, a reading, a set of instructions, a form. You author what it holds, and it sits alongside the conversation rather than interrupting it. Off by default; the two settings below appear once it is on.`}),_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Drawer Side`}),` — whether the panel opens on the left or the right of the avatar.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Drawer width (px)`}),` — how wide the panel is. Widen it for content people need to read; keep it narrow when the avatar is the point.`]}),`\n`]})]}),_jsx(Accordion,{title:`Share voice transcripts with the embedding page`,id:`share-voice-transcripts-with-the-embedding-page`,children:_jsx(_components.p,{children:`When this Digital Twin is embedded in your own web page, the page receives the live transcript of the spoken conversation, so it can display, log or react to what is said. Off unless you need it — the page you embed in can read everything spoken.`})}),_jsx(Accordion,{title:`Let the embedding page guide live conversations`,id:`let-the-embedding-page-guide-live-conversations`,children:_jsx(_components.p,{children:`Lets the page that embeds the twin send it instructions mid-conversation — for example to steer the twin as a visitor moves through a form or a lesson. The twin answers those instructions aloud. Off unless the embedding page is built to use it.`})}),_jsxs(Accordion,{title:`Convo Web Access Link`,id:`convo-web-access-link`,children:[_jsxs(_components.p,{children:[`A short public web address that opens this Digital Twin for people with no Pria account — for example `,_jsx(_components.code,{children:`nova`}),` produces `,_jsx(_components.code,{children:`…/twins/nova`}),`. Once saved, the full link is shown with a copy button and a scannable `,_jsx(_components.strong,{children:`QR code`}),` for posters, badges, and screens.`]}),_jsxs(_components.p,{children:[`Whether that page opens straight into a voice conversation is decided by `,_jsx(_components.strong,{children:`Start Immersive Mode by Default`}),`; if voice isn’t available it falls back to text chat.`]}),_jsx(Warning,{children:_jsx(_components.p,{children:`Anyone with the link can talk to the twin and consume credits from the pool it bills to. There is no separate publish switch — setting the address makes the twin reachable, and clearing it takes the page offline.`})}),_jsxs(_components.p,{children:[`Full guide: `,_jsx(_components.a,{href:`/mdx/integrations/web/guest-links`,children:`Guest Twin Links`}),`.`]}),_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Cloning:`}),` a clone never shares this address with its original. It gets its own, derived one (`,_jsx(_components.code,{children:`nova-copy-1`}),` for an original `,_jsx(_components.code,{children:`nova`}),`) — rename it here before you share the clone. See `,_jsx(_components.a,{href:`/mdx/admin-guide/cloning`,children:`Cloning a Digital Twin`}),`.`]})]})]}),`\n`,_jsx(Heading,{level:`4`,id:`text-to-speech`,children:`Text-To-Speech`}),`\n`,_jsxs(_components.p,{children:[`Controls the `,_jsx(_components.strong,{children:`read-aloud`}),` voice used to speak responses in text conversations (distinct from\nConvo, which is a live voice call).`]}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Field`}),_jsx(_components.th,{children:`Description`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Use natural voices for read-aloud`})}),_jsx(_components.td,{children:`Use a high-quality neural voice instead of the browser’s built-in speech synthesis`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Read-aloud voice`})}),_jsxs(_components.td,{children:[`Which voice to use when natural voices are on; only the voices the speech model can speak are listed (for example Ballad and Verse exist only on `,_jsx(_components.code,{children:`gpt-4o-mini-tts`}),`)`]})]})]})]}),`\n`,_jsxs(_components.p,{children:[`The speech model itself is picked under `,_jsx(_components.strong,{children:`Personalization and AI Models → Media → Text-to-Speech`}),`,\nor as `,_jsx(_components.strong,{children:`Speech model`}),` in Instance Settings → Voice.`]}),`\n`,_jsx(Heading,{level:`3`,id:`integrations`,children:`Integrations`}),`\n`,_jsx(OptimizedImage,{src:`https://mintcdn.com/praxisai/60S-TkaqdLQNeHho/images/admin-guide/admin-configurations-integrations.gif?s=0dd2cf11c8558f51194780716a97eebc`,alt:`Admin Configurations Integrations Gi`,\"data-og-width\":`1920`,width:`1920`,\"data-og-height\":`1080`,height:`1080`,\"data-path\":`images/admin-guide/admin-configurations-integrations.gif`,\"data-optimize\":`true`,\"data-opv\":`3`}),`\n`,_jsx(_components.p,{children:`Connect your Digital Twin to external platforms and services.`}),`\n`,_jsx(Heading,{level:`4`,id:`embedding-\u0026-lti`,children:`Embedding \u0026 LTI`}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Public Authorized URLs`}),` — the URLs authorized to embed or call your Digital Twin. All inbound\nrequests are validated against this list.`]}),`\n`,_jsx(CodeBlock,{numberOfLines:`4`,language:`text`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`text`,children:_jsxs(_components.code,{language:`text`,numberOfLines:`4`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`https://\u003cyour_school>.instructure.com`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`https://\u003cyour_school>.beta.instructure.com`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`https://canvas.instructure.com`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{})})]})})}),`\n`,_jsxs(_components.p,{children:[`For hostname matching rules (subdomains, ports, what a broad entry authorizes), see\n`,_jsx(_components.a,{href:`/mdx/admin-guide/branding-and-domains#matching-rules`,children:`Branding \u0026 Public URLs`}),`.`]}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`LTI Contexts`}),` are populated automatically when you connect an LTI placement. The system\nremembers which Digital Twin to launch when a user arrives through LTI or a Canvas theme integration.\nTo disconnect, remove the placement from this list or manage it from your profile page.`]}),`\n`,_jsx(Heading,{level:`4`,id:`pria-mcp-server`,children:`Pria MCP Server`}),`\n`,_jsxs(_components.p,{children:[`MCP (Model Context Protocol) is the open standard for connecting AI to external systems, and your\nDigital Twin speaks it in both directions. `,_jsx(_components.strong,{children:`Outbound`}),` — the twin calling external MCP servers as\nextra tools — is configured on the `,_jsx(_components.strong,{children:`Connector MCP and Tools`}),` tab. The settings here govern the\n`,_jsx(_components.strong,{children:`inbound`}),` direction and the identity signing used on outbound calls.`]}),`\n`,_jsxs(AccordionGroup,{children:[_jsxs(Accordion,{title:`MCP Server Enabled`,id:`mcp-server-enabled`,children:[_jsxs(_components.p,{children:[`Switch for the `,_jsx(_components.strong,{children:`inbound`}),` MCP endpoint: when enabled, external MCP clients (Claude, agents, partner platforms) can call this Digital Twin as an MCP source — for example to search its knowledge vault — authenticating with the MCP Server Secret below.`]}),_jsxs(_components.p,{children:[`This switch does `,_jsx(_components.strong,{children:`not`}),` affect outbound connectors: the MCP servers your twin calls as tools stay active regardless.`]})]}),_jsxs(Accordion,{title:`MCP Server Secret`,id:`mcp-server-secret`,children:[_jsx(_components.p,{children:`Unique authentication token used when this Digital Twin exposes itself as an MCP endpoint. Generated automatically; can be rotated. Configure third-party MCP clients with this secret.`}),_jsxs(_components.p,{children:[`This secret is the `,_jsx(_components.strong,{children:`only`}),` accepted credential for inbound MCP. The Digital Twin’s Public ID is not a credential and will not authenticate an MCP call.`]})]}),_jsxs(Accordion,{title:`MCP Signing Secret`,id:`mcp-signing-secret`,children:[_jsx(_components.p,{children:`When your twin calls an outside tool, Pria attaches a tamper-proof note saying which of your signed-in users the request is for, and signs it with this key. Your partner checks the signature, so they can safely build tools that return one learner’s own data — the identity comes from the login, not from anything the AI wrote.`}),_jsxs(_components.p,{children:[`Share it through a secure channel (not email). Regenerating is an immediate cutover — partners verifying signatures reject calls until they configure the new value — so coordinate before rotating. See `,_jsx(_components.a,{href:`/mdx/admin-guide/mcp-servers#verified-learner-identity-on-tool-calls`,children:`Verified learner identity on tool calls`}),`.`]})]}),_jsxs(Accordion,{title:`Curation Enabled`,id:`curation-enabled`,children:[_jsxs(_components.p,{children:[`Allows an external learning platform to request curated articles from this Digital Twin via `,_jsx(_components.code,{children:`POST /api/curation/search`}),`. Used by the Praxis LXP to populate its AI Curated Content library.`]}),_jsxs(_components.p,{children:[`Switching `,_jsx(_components.strong,{children:`Curation Enabled`}),` on generates a `,_jsx(_components.strong,{children:`Curation Secret`}),` the first time. Give that secret to the calling platform; it is sent as `,_jsx(_components.code,{children:`Authorization: Bearer \u003csecret>`}),`. It is scoped to the Digital Twin rather than to a person, so curation keeps working when staff change roles.`]}),_jsxs(_components.p,{children:[`To stop curation, switch `,_jsx(_components.strong,{children:`Curation Enabled`}),` off. Do not blank the secret — turning the switch off refuses calls cleanly, whereas an emptied secret makes the calling platform look misconfigured instead.`]})]})]}),`\n`,_jsxs(Info,{children:[`To add the outside MCP servers your twin calls, see `,_jsx(_components.a,{href:`/mdx/admin-guide/mcp-servers`,children:`MCP Servers`}),`. To let other MCP clients call your twin, see `,_jsx(_components.a,{href:`/mdx/integrations/mcp/introduction`,children:`Pria as an MCP server`}),`.`]}),`\n`,_jsx(Heading,{level:`4`,id:`canvas`,children:`Canvas`}),`\n`,_jsxs(_components.p,{children:[`Connect your Digital Twin to Canvas LMS so it can query courses, assignments, grades, and more\nthrough the Canvas REST APIs. Without these credentials, the `,_jsx(_components.code,{children:`call_canvas`}),` and `,_jsx(_components.code,{children:`search_canvas`}),`\ntools are unavailable.`]}),`\n`,_jsxs(AccordionGroup,{children:[_jsxs(Accordion,{title:`Canvas Client Id`,id:`canvas-client-id`,children:[_jsxs(_components.p,{children:[`The numeric identifier from your Canvas Developer Key (e.g., `,_jsx(_components.code,{children:`10000000000217`}),`). Generated when a Canvas administrator creates an API-type Developer Key under `,_jsx(_components.strong,{children:`Admin → Developer Keys`}),`.`]}),_jsx(_components.p,{children:`One Developer Key can be shared across several Digital Twins in the same organisation.`})]}),_jsx(Accordion,{title:`Canvas Client Secret`,id:`canvas-client-secret`,children:_jsxs(_components.p,{children:[`The secret key paired with the Client ID above. Click `,_jsx(_components.strong,{children:`Show Key`}),` on your Canvas Developer Key to reveal and copy it. Together these enable OAuth2 so users can authorize the Digital Twin to access Canvas on their behalf.`]})}),_jsxs(Accordion,{title:`Canvas Faculty Access Token`,id:`canvas-faculty-access-token`,children:[_jsx(_components.p,{children:`A personal access token generated by a registered course instructor. Optional, but required for teacher-level operations such as posting grade comments, creating announcements, or bulk grading — actions that need instructor-scoped permissions even when the end user is a student.`}),_jsxs(_components.p,{children:[`To generate one: in Canvas, go to `,_jsx(_components.strong,{children:`Account → Settings → New Access Token`}),`.`]}),_jsx(Warning,{children:`This token grants instructor-level access to the courses the faculty member is enrolled in. Store it securely and rotate it periodically.`})]}),_jsxs(Accordion,{title:`Canvas API Scopes`,id:`canvas-api-scopes`,children:[_jsx(_components.p,{children:`A whitelist of Canvas REST API endpoints your Digital Twin may call. Each scope follows the syntax:`}),_jsx(CodeBlock,{numberOfLines:`2`,language:`text`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`text`,children:_jsxs(_components.code,{language:`text`,numberOfLines:`2`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`url:\u003cHTTP_METHOD>|\u003cAPI_ENDPOINT>`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{})})]})})}),_jsxs(_components.p,{children:[`For example: `,_jsx(_components.code,{children:`url:GET|/api/v1/courses/:course_id/smartsearch`})]}),_jsxs(_components.p,{children:[`Scopes must be configured in `,_jsx(_components.strong,{children:`two places`}),` — on the Canvas Developer Key and here. If a scope is missing from either location, the API call is rejected.`]}),_jsxs(Tip,{children:[`During development, disable scope enforcement on your Canvas Developer Key to discover which endpoints your twin needs. Monitor `,_jsx(_components.strong,{children:`Agent Details`}),` in your dialog history to see which API calls are made, then add those scopes here before going live. Use the Upload/Download buttons to manage the list from a JSON file.`]}),_jsxs(_components.p,{children:[`See `,_jsx(_components.a,{href:`/mdx/integrations/canvas/pria-tools-scopes`,children:`Canvas Scopes Reference`}),` for the full list.`]})]}),_jsx(Accordion,{title:`Require LMS sign-in on launch (Canvas or Blackboard)`,id:`require-lms-sign-in-on-launch-canvas-or-blackboard`,children:_jsxs(_components.p,{children:[`In its own section, `,_jsx(_components.strong,{children:`LMS sign-in (Canvas and Blackboard)`}),`. When enabled, people who open the Digital Twin from Canvas or Blackboard must first sign in to that LMS — `,_jsx(_components.strong,{children:`Sign in with Canvas`}),` or `,_jsx(_components.strong,{children:`Sign in with Blackboard`}),` — `,_jsx(_components.strong,{children:`before`}),` the twin opens, rather than being prompted only when a Canvas tool is first invoked. Blackboard sign-in also needs your Blackboard site set up for it: see `,_jsx(_components.a,{href:`/mdx/integrations/blackboard/introduction#require-blackboard-sign-in-optional`,children:`Require Blackboard sign-in`}),`.`]})}),_jsx(Accordion,{title:`Don't prompt to enable Canvas authentication`,id:`dont-prompt-to-enable-canvas-authentication`,children:_jsxs(_components.p,{children:[`Stops Pria from suggesting to this twin’s admins that they turn on `,_jsx(_components.strong,{children:`Require LMS sign-in on launch (Canvas or Blackboard)`}),`. The new admin editor calls it `,_jsx(_components.strong,{children:`Stop suggesting Canvas sign-in`}),`.`]})})]}),`\n`,_jsx(Info,{children:_jsxs(_components.p,{children:[`For a complete walkthrough — creating the Developer Key, configuring scopes, testing, and troubleshooting — see the `,_jsx(_components.a,{href:`/mdx/integrations/canvas/pria-tools`,children:`Canvas Pria Tools`}),` guide.`]})}),`\n`,_jsx(Heading,{level:`4`,id:`chat-completion`,children:`Chat Completion`}),`\n`,_jsxs(_components.p,{children:[`Exposes this Digital Twin behind an OpenAI-compatible `,_jsx(_components.strong,{children:`Chat Completion endpoint`}),`, so external\ntools that already speak that protocol can talk to your twin.`]}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Field`}),_jsx(_components.th,{children:`Description`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Enable Chat Completion endpoint`})}),_jsx(_components.td,{children:`Turns the endpoint on`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Chat Completion Model`})}),_jsx(_components.td,{children:`Which model serves requests arriving on the endpoint`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Chat Completion Max Output Tokens`})}),_jsx(_components.td,{children:`Ceiling on response length`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Chat Completion Reasoning Effort`})}),_jsx(_components.td,{children:`Reasoning depth, for models that support it`})]})]})]}),`\n`,_jsxs(_components.p,{children:[`Requests authenticate with a Pria sign-in token (JWT) — see the `,_jsx(_components.a,{href:`/mdx/integrations/chat-completions/introduction`,children:`Chat Completions guide`}),`.`]}),`\n`,_jsx(Heading,{level:`4`,id:`elevenlabs-voice-cloning`,children:`ElevenLabs Voice Cloning`}),`\n`,_jsxs(_components.p,{children:[`Appears while Convo uses ElevenLabs. Connects an `,_jsx(_components.a,{href:`https://elevenlabs.io/conversational-ai`,children:`ElevenLabs Conversational AI`}),`\nagent:`]}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`ElevenLabs Agent ID (for Digital Twin Voice)`}),` — the Agent ID from your ElevenLabs agent`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`ElevenLabs API Key`}),` — must match the key in your ElevenLabs agent’s Custom LLM settings; without one, the platform-wide key is used if configured`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`ElevenLabs Connection Method`}),` — WebSocket (the default) or WebRTC`]}),`\n`]}),`\n`,_jsxs(_components.p,{children:[`ElevenLabs also needs the `,_jsx(_components.strong,{children:`Chat Completion`}),` endpoint above. See the\n`,_jsx(_components.a,{href:`/mdx/integrations/elevenlabs/introduction`,children:`ElevenLabs Voice Agent`}),` guide.`]}),`\n`,_jsx(Heading,{level:`4`,id:`cartesia-voice`,children:`Cartesia Voice`}),`\n`,_jsxs(_components.p,{children:[`Appears while Convo uses Cartesia: voice selection and tuning. See\n`,_jsx(_components.a,{href:`/mdx/admin-guide/realtime-voice`,children:`Realtime Voice \u0026 Avatars`}),`.`]}),`\n`,_jsx(Note,{children:_jsxs(_components.p,{children:[`The `,_jsx(_components.strong,{children:`Anam Avatar`}),` and `,_jsx(_components.strong,{children:`Anam Meeting Bot`}),` sections of this editor are managed by the Praxis AI\nteam. Tune your twin’s Anam avatar in `,_jsx(_components.strong,{children:`Instance Settings → Voice`}),` (see\n`,_jsx(_components.a,{href:`/mdx/admin-guide/realtime-voice`,children:`Realtime Voice \u0026 Avatars`}),`); to send your twin into meetings,\ncontact `,_jsx(_components.a,{href:`mailto:humans@praxis-ai.com`,children:`humans@praxis-ai.com`}),` and see\n`,_jsx(_components.a,{href:`/mdx/admin-guide/meeting-agent`,children:`Meeting Agent`}),`.`]})}),`\n`,_jsx(Note,{children:_jsxs(_components.p,{children:[`Anam and Cartesia voice conversations listen through `,_jsx(_components.strong,{children:`Deepgram Flux`}),`. Its language is set by\n`,_jsx(_components.strong,{children:`Speech Recognition Language (Deepgram Flux)`}),` under `,_jsx(_components.strong,{children:`Personalization and AI Models → Convo (Live\nVoice \u0026 Avatar Calls)`}),`, and applies wherever the twin listens through Deepgram — avatar\nconversations, embedded twins and meeting bots. `,_jsx(_components.strong,{children:`English only`}),` is the platform default and the\nmost accurate for English; pick the multilingual option for people who speak another language or\nswitch languages mid-conversation. OpenAI GPT-Realtime, Gemini Live, ElevenLabs and xAI transcribe\ninside their own connection and ignore this field.`]})}),`\n`,_jsx(Heading,{level:`4`,id:`google-and-microsoft`,children:`Google and Microsoft`}),`\n`,_jsx(_components.p,{children:`Both sections work the same way:`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Field`}),_jsx(_components.th,{children:`What it does`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Enable Access`})}),_jsx(_components.td,{children:`Turns the provider’s services on for this Digital Twin`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Use Digital Twin identity`})}),_jsxs(_components.td,{children:[`Everyone reaches the provider through `,_jsx(_components.strong,{children:`one account the twin connects`}),`, instead of each person connecting their own. The service list and the connect button appear only with this on.`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Microsoft tenant (optional)`})}),_jsx(_components.td,{children:`Microsoft only: restrict sign-in to one Microsoft organization`})]})]})]}),`\n`,_jsx(Warning,{children:`A connected Digital Twin account takes precedence over any personal account a user connected: if the twin connects a shared Gmail, everyone uses that Gmail.`}),`\n`,_jsxs(_components.p,{children:[`Services, permissions and the connect, reconnect and disconnect steps are on\n`,_jsx(_components.a,{href:`/mdx/admin-guide/google-workspace`,children:`Google Workspace`}),` and `,_jsx(_components.a,{href:`/mdx/admin-guide/microsoft-365`,children:`Microsoft 365`}),`.`]}),`\n`,_jsx(Heading,{level:`4`,id:`kaltura`,children:`Kaltura`}),`\n`,_jsxs(_components.p,{children:[`Connect the `,_jsx(_components.a,{href:`https://www.kaltura.com/`,children:`Kaltura Video Platform`}),` so the twin can search and reference\nvideos hosted in your Kaltura account:`]}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Field`}),_jsx(_components.th,{children:`Purpose`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Kaltura Partner Id`})}),_jsxs(_components.td,{children:[`Your Kaltura account (partner) identifier — in the Kaltura Management Console under `,_jsx(_components.strong,{children:`Settings → Integration Settings`})]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Kaltura Secret`})}),_jsxs(_components.td,{children:[`The API secret shown next to the Partner Id: an `,_jsx(_components.strong,{children:`Admin Secret`}),` (full account access) or a `,_jsx(_components.strong,{children:`User Secret`}),` (limited, read-only)`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Is Admin Secret`})}),_jsxs(_components.td,{children:[`Turn it on when the secret is an admin secret. When it is off, `,_jsx(_components.strong,{children:`Kaltura Client Id`}),` (the Kaltura user ID the secret belongs to) is also required`]})]})]})]}),`\n`,_jsx(Warning,{children:`The Kaltura secret is a sensitive credential. It is stored encrypted and never sent back to the browser.`}),`\n`,_jsx(Heading,{level:`4`,id:`amazon-web-services`,children:`Amazon Web Services`}),`\n`,_jsxs(_components.p,{children:[`Connect your own AWS services — primarily `,_jsx(_components.strong,{children:`Amazon Bedrock`}),` for model access and `,_jsx(_components.strong,{children:`Amazon S3`}),` for\nstorage — so the twin uses your AWS account under your organization’s billing and security\npolicies.`]}),`\n`,_jsxs(AccordionGroup,{children:[_jsxs(Accordion,{title:`AWS Region`,id:`aws-region`,children:[_jsx(_components.p,{children:`The region where your services are deployed. Choose the one closest to your users or where your Bedrock models and S3 buckets are provisioned.`}),_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`us-east-1`}),` (N. Virginia) — Broadest Bedrock model availability`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`us-west-2`}),` (Oregon) — Good Bedrock coverage`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`eu-central-1`}),` (Frankfurt) — European data residency`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`ap-southeast-1`}),` (Singapore) — Asia-Pacific`]}),`\n`]}),_jsxs(Info,{children:[`Not all Bedrock foundation models are available in every region. Check `,_jsx(_components.a,{href:`https://docs.aws.amazon.com/bedrock/latest/userguide/models-regions.html`,children:`AWS Bedrock model availability`}),`.`]})]}),_jsxs(Accordion,{title:`AWS Access Key Id`,id:`aws-access-key-id`,children:[_jsxs(_components.p,{children:[`The access key ID from your AWS IAM credentials. Generate this in the `,_jsx(_components.a,{href:`https://console.aws.amazon.com/iam/`,children:`AWS IAM Console`}),` by creating an IAM user or role with the necessary Bedrock and/or S3 permissions.`]}),_jsxs(_components.p,{children:[`Leave both of the Digital Twin’s keys empty to use the pair set on its account (`,_jsx(_components.strong,{children:`Accounts → Shared Integrations`}),`). A complete pair set here on the twin wins; a single key is ignored and the account pair is used.`]})]}),_jsxs(Accordion,{title:`AWS Secret Access Key`,id:`aws-secret-access-key`,children:[_jsx(_components.p,{children:`The secret access key paired with the Access Key ID. Shown only once when you create the IAM credentials — store it securely.`}),_jsx(Warning,{children:`This is a sensitive credential. It is stored encrypted and excluded from API responses by default. Never share it in client-side code or logs.`})]})]}),`\n`,_jsxs(Tip,{children:[_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`IAM Permissions:`}),` Your IAM user or role needs:`]}),_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Amazon Bedrock`}),` — `,_jsx(_components.code,{children:`bedrock:InvokeModel`}),`, `,_jsx(_components.code,{children:`bedrock:InvokeModelWithResponseStream`}),`, and `,_jsx(_components.code,{children:`bedrock:ListFoundationModels`})]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Amazon S3`}),` — `,_jsx(_components.code,{children:`s3:GetObject`}),`, `,_jsx(_components.code,{children:`s3:PutObject`}),`, and `,_jsx(_components.code,{children:`s3:ListBucket`}),` on the relevant buckets`]}),`\n`]}),_jsxs(_components.p,{children:[`Follow the `,_jsx(_components.a,{href:`https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html#grant-least-privilege`,children:`principle of least privilege`}),`.`]})]}),`\n`,_jsx(Heading,{level:`4`,id:`api-keys`,children:`API Keys`}),`\n`,_jsxs(_components.p,{children:[`By default the Digital Twin reaches every AI provider through Praxis-managed access. When you\nprovide your own API key, the twin sends that provider’s requests `,_jsx(_components.strong,{children:`with your key`}),` — the provider\nbills your account for the raw usage, and you control rate limits and model availability.\nConversations are still metered in Pria credits; BYOK customers buy those credits at a discount\nthrough our sales team. This is the `,_jsx(_components.strong,{children:`bring-your-own-key (BYOK)`}),` section.`]}),`\n`,_jsx(Info,{children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`How BYOK routing works:`}),` when a model is selected for a Model Use and an API key exists for\nthat model’s provider, the request goes out with your key. If no key is set, it uses\nPraxis-managed access. The choice is `,_jsx(_components.strong,{children:`per provider`}),`, so you can use your own OpenAI key while\nAnthropic requests go through Praxis.`]})}),`\n`,_jsxs(AccordionGroup,{children:[_jsxs(Accordion,{title:`OpenAI API Key`,icon:`brain`,id:`openai-api-key`,children:[_jsxs(_components.p,{children:[`Connects to `,_jsx(_components.a,{href:`https://platform.openai.com/`,children:`OpenAI`}),` models including GPT-5.2, GPT-5.1, GPT-5-mini, o4-mini, GPT Image 2.5, and Whisper transcription. Also enables image generation and GPT-Realtime voice.`]}),_jsxs(_components.p,{children:[`Generate your key at `,_jsx(_components.a,{href:`https://platform.openai.com/api-keys`,children:`platform.openai.com/api-keys`}),`.`]})]}),_jsxs(Accordion,{title:`Anthropic API Key`,icon:`robot`,id:`anthropic-api-key`,children:[_jsxs(_components.p,{children:[`Connects to `,_jsx(_components.a,{href:`https://www.anthropic.com/`,children:`Anthropic`}),` Claude models including Opus, Sonnet, and Haiku. Enables extended thinking and reasoning where available.`]}),_jsxs(_components.p,{children:[`Generate your key at `,_jsx(_components.a,{href:`https://console.anthropic.com/settings/keys`,children:`console.anthropic.com/settings/keys`}),`.`]})]}),_jsxs(Accordion,{title:`Gemini API Key`,icon:`google`,id:`gemini-api-key`,children:[_jsxs(_components.p,{children:[`Connects to `,_jsx(_components.a,{href:`https://ai.google.dev/`,children:`Google Gemini`}),` models including Gemini 3.8 Flash, Gemini 3.1 Pro, Gemini 2.5 Flash, and Gemini Live for real-time voice.`]}),_jsxs(_components.p,{children:[`Generate your key at `,_jsx(_components.a,{href:`https://aistudio.google.com/apikey`,children:`aistudio.google.com/apikey`}),`.`]})]}),_jsxs(Accordion,{title:`xAI API Key`,icon:`bolt`,id:`xai-api-key`,children:[_jsxs(_components.p,{children:[`Connects to `,_jsx(_components.a,{href:`https://x.ai/`,children:`xAI`}),` Grok models including Grok 4.7, Grok 4.1 Fast Reasoning, Grok Code Fast, and Grok Imagine (images).`]}),_jsxs(_components.p,{children:[`Generate your key at the `,_jsx(_components.a,{href:`https://console.x.ai/`,children:`xAI Console`}),`.`]})]}),_jsxs(Accordion,{title:`Mistral API Key`,icon:`wind`,id:`mistral-api-key`,children:[_jsxs(_components.p,{children:[`Connects to `,_jsx(_components.a,{href:`https://mistral.ai/`,children:`Mistral AI`}),` models via the native SDK — Mistral Large, Medium, Small, Pixtral (vision), Magistral (reasoning), Codestral (code), Voxtral (TTS/STT), and embedding/moderation models.`]}),_jsxs(_components.p,{children:[`Generate your key at `,_jsx(_components.a,{href:`https://console.mistral.ai/api-keys`,children:`console.mistral.ai/api-keys`}),`.`]})]}),_jsxs(Accordion,{title:`OpenRouter API Key`,icon:`shuffle`,id:`openrouter-api-key`,children:[_jsxs(_components.p,{children:[`Connects to `,_jsx(_components.a,{href:`https://openrouter.ai/`,children:`OpenRouter`}),`, a gateway to many providers: open-weight models such as DeepSeek V4 (Flash and Pro), Qwen, GLM, MiniMax and Gemma, plus Claude, Gemini and Grok models. DeepSeek models are offered only through OpenRouter — there is no separate DeepSeek key.`]}),_jsxs(_components.p,{children:[`Generate your key at `,_jsx(_components.a,{href:`https://openrouter.ai/settings/keys`,children:`openrouter.ai/settings/keys`}),`.`]})]}),_jsxs(Accordion,{title:`Cohere API Key`,icon:`layer-group`,id:`cohere-api-key`,children:[_jsxs(_components.p,{children:[`Connects to `,_jsx(_components.a,{href:`https://cohere.com/`,children:`Cohere`}),` models including Command A. Enables Cohere’s retrieval-augmented generation and enterprise search.`]}),_jsxs(_components.p,{children:[`Generate your key at `,_jsx(_components.a,{href:`https://dashboard.cohere.com/api-keys`,children:`dashboard.cohere.com/api-keys`}),`.`]})]})]}),`\n`,_jsx(Note,{children:_jsxs(_components.p,{children:[`This section also takes a `,_jsx(_components.strong,{children:`Kimi API Key`}),` (Moonshot AI), a `,_jsx(_components.strong,{children:`Stability AI API Key`}),`, a `,_jsx(_components.strong,{children:`Google\nAI Platform API Key`}),` (Gemini on Google Cloud’s Vertex AI — not interchangeable with the Gemini API\nKey) and a `,_jsx(_components.strong,{children:`RunPod API Key`}),` (see `,_jsx(_components.a,{href:`/mdx/admin-guide/ai-models#self-hosted-models-on-runpod`,children:`Self-hosted models on RunPod`}),`).\nThe ElevenLabs key sits in its own section above.`]})}),`\n`,_jsx(Warning,{children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Security:`}),` All API keys are stored encrypted, excluded from API responses by default, and never exposed to the browser. Only administrators with the appropriate entitlements can view or modify them.`]})}),`\n`,_jsx(_components.hr,{}),`\n`,_jsx(Heading,{level:`2`,id:`tab-personalization-and-ai-models`,children:`Tab: Personalization and AI Models`}),`\n`,_jsx(_components.p,{children:`Identity and appearance, plus the model assigned to each job the twin performs.`}),`\n`,_jsx(Heading,{level:`3`,id:`personalization-digital-twin`,children:`Personalization (Digital Twin)`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Sub-section`}),_jsx(_components.th,{children:`What it covers`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Name \u0026 Avatar`})}),_jsx(_components.td,{children:`The twin’s display name, pictures and backgrounds`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Content \u0026 Behavior`})}),_jsxs(_components.td,{children:[`Digital Twin Instructions, `,_jsx(_components.strong,{children:`Use About for Welcome Screen`}),`, `,_jsx(_components.strong,{children:`Persona mode`}),` and guardrails`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`UI \u0026 Appearance`})}),_jsxs(_components.td,{children:[_jsx(_components.strong,{children:`UI CSS`}),` (custom CSS for branding), `,_jsx(_components.strong,{children:`UI Theme`}),`, `,_jsx(_components.strong,{children:`Guest UI (Minimum screen)`}),`, `,_jsx(_components.strong,{children:`Disable Clipboard for Users`}),` and `,_jsx(_components.strong,{children:`Disable Audio Notes for Users`}),` (hides the audio-note microphone from standard users)`]})]})]})]}),`\n`,_jsxs(Note,{children:[_jsx(_components.strong,{children:`UI CSS`}),` is injected as-is into the page. Test thoroughly to avoid breaking the layout.`]}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Disable Clipboard for Users`}),` stops non-admin users from copying AI-generated content: text\nselection and copy shortcuts are blocked, and the copy and share-link buttons are hidden.\nAdministrators keep full access. Useful for exams and for content that must not be extracted.`]}),`\n`,_jsx(Heading,{level:`4`,id:`guardrails`,children:`Guardrails`}),`\n`,_jsxs(_components.p,{children:[`Under `,_jsx(_components.strong,{children:`Content \u0026 Behavior`}),`, `,_jsx(_components.strong,{children:`Enable guardrail instructions`}),` turns on a separate block of\nstanding rules about what the twin must refuse, avoid or hand off — kept apart from the Digital Twin\nInstructions so the twin’s personality and its limits can be edited independently. With it on, a\n`,_jsx(_components.strong,{children:`Guardrail Instructions`}),` box holds those rules.`]}),`\n`,_jsx(_components.p,{children:`Write them as plain, concrete limits rather than a tone of voice:`}),`\n`,_jsx(CodeBlock,{filename:``,wrap:`true`,numberOfLines:`3`,language:`text`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`text`,children:_jsxs(_components.code,{language:`text`,numberOfLines:`3`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`Never give individual medical, legal or financial advice — say you cannot and point to a qualified professional.`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`Do not discuss admissions decisions or fee waivers; direct people to the admissions office.`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{})})]})})}),`\n`,_jsx(Tip,{children:_jsxs(_components.p,{children:[`Guardrails are standing rules, so they are sent on every turn. Keep them short and specific — a\nlong list costs credits on every message and gives the model more to weigh before it answers. The\ncreation interview also asks what the twin should avoid and where it should send people instead;\nthose answers shape the same behaviour. See\n`,_jsx(_components.a,{href:`/mdx/admin-guide/onboarding-questions`,children:`Onboarding Questions`}),` and\n`,_jsx(_components.a,{href:`/mdx/admin-guide/digital-twin-instructions`,children:`Crafting Digital Twin Instructions`}),`.`]})}),`\n`,_jsxs(_components.p,{children:[`Full reference: `,_jsx(_components.a,{href:`/mdx/admin-guide/personalization`,children:`Personalization`}),` and\n`,_jsx(_components.a,{href:`/mdx/admin-guide/branding-and-domains`,children:`Branding \u0026 Public URLs`}),`.`]}),`\n`,_jsx(Heading,{level:`3`,id:`ai-models`,children:`AI Models`}),`\n`,_jsxs(_components.p,{children:[`Each `,_jsx(_components.strong,{children:`Model Use`}),` — a job the twin does — is assigned a model here.`]}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Sub-section`}),_jsx(_components.th,{children:`What it covers`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Custom Models`})}),_jsx(_components.td,{children:`Bring-your-own-model entries added to the catalog`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Conversation \u0026 Reasoning`})}),_jsxs(_components.td,{children:[`The conversation model, its `,_jsx(_components.strong,{children:`Fallback conversation model`}),` (answers when the conversation model fails before any reply started — quota, outage, network, credential; unset = the platform default), `,_jsx(_components.strong,{children:`Conversation Completion Max Tokens`}),`, `,_jsx(_components.strong,{children:`Reasoning Effort`}),`, `,_jsx(_components.strong,{children:`Documents Summarization`}),` and `,_jsx(_components.strong,{children:`Extended Context (1M tokens)`})]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Convo (Live Voice \u0026 Avatar Calls)`})}),_jsxs(_components.td,{children:[_jsx(_components.strong,{children:`Speech-to-Speech Model`}),`, voice, `,_jsx(_components.strong,{children:`Voice Reasoning Effort`}),`, `,_jsx(_components.strong,{children:`Interruption Sensitivity`}),`, VAD, noise reduction, transcription language, and the Deepgram speech-recognition language`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Media`})}),_jsx(_components.td,{children:`Image Analysis, Image Generation, Audio Generation, Video Generation, Audio Transcription, Video Analysis and Text-to-Speech models`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Subagents`})}),_jsxs(_components.td,{children:[`The model and effort for each subagent role — see `,_jsx(_components.a,{href:`#subagent-role-models`,children:`Subagent role models`})]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`System`})}),_jsxs(_components.td,{children:[_jsx(_components.strong,{children:`Embeddings Generation`}),` and `,_jsx(_components.strong,{children:`Moderation`}),`. The knowledge-graph models (`,_jsx(_components.strong,{children:`Knowledge Generation`}),`) are chosen by the Praxis AI team.`]})]})]})]}),`\n`,_jsxs(_components.p,{children:[`Full reference: `,_jsx(_components.a,{href:`/mdx/admin-guide/ai-models`,children:`AI Models`}),`,\n`,_jsx(_components.a,{href:`/mdx/admin-guide/realtime-voice`,children:`Realtime Voice \u0026 Avatars`}),`, and\n`,_jsx(_components.a,{href:`/mdx/admin-guide/platform-models`,children:`Platform Models`}),`.`]}),`\n`,_jsx(Heading,{level:`4`,id:`subagent-role-models`,children:`Subagent role models`}),`\n`,_jsxs(_components.p,{children:[`When `,_jsx(_components.a,{href:`#subagents`,children:`Subagents`}),` are enabled, each role in the team can run on its own model — a strong\nreasoning model where the thinking happens, a cheap fast one where it doesn’t. The `,_jsx(_components.strong,{children:`Subagents`}),`\nsection has a mode switch — `,_jsx(_components.strong,{children:`All modes`}),`, `,_jsx(_components.strong,{children:`Advanced`}),`, `,_jsx(_components.strong,{children:`Expert`}),`, `,_jsx(_components.strong,{children:`Mythical`}),` — and one row per\nrole, each with a model picker and an effort picker. A choice for one mode overrides `,_jsx(_components.strong,{children:`All modes`}),`;\n`,_jsx(_components.strong,{children:`All modes`}),` overrides the platform’s per-mode picks. Each `,_jsx(_components.strong,{children:`Default`}),` keeps the platform’s choice\nand its label says which model and effort that is; leave rows on `,_jsx(_components.strong,{children:`Default`}),` until you have a reason\nnot to. Each picker lists only the models suited to that role.`]}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Row`}),_jsx(_components.th,{children:`The role it runs`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsxs(_components.td,{children:[_jsx(_components.strong,{children:`Conductor`}),` / `,_jsx(_components.strong,{children:`Conductor Fallback`}),` (All modes only)`]}),_jsx(_components.td,{children:`The manager that plans the turn and decides who to bring in, and the model used when it is unavailable`})]}),_jsxs(_components.tr,{children:[_jsxs(_components.td,{children:[_jsx(_components.strong,{children:`Planner`}),`, `,_jsx(_components.strong,{children:`Spec Writer`}),`, `,_jsx(_components.strong,{children:`Plan Reviewer`})]}),_jsx(_components.td,{children:`Work out what should be built, and check the plan`})]}),_jsxs(_components.tr,{children:[_jsxs(_components.td,{children:[_jsx(_components.strong,{children:`Coder`}),`, `,_jsx(_components.strong,{children:`Tester`})]}),_jsxs(_components.td,{children:[`Build the thing, and check it. Per mode you can also pin `,_jsx(_components.strong,{children:`Coder for harder tasks`}),` and `,_jsx(_components.strong,{children:`Coder for games and simulations`}),`.`]})]}),_jsxs(_components.tr,{children:[_jsxs(_components.td,{children:[_jsx(_components.strong,{children:`Designer`}),`, `,_jsx(_components.strong,{children:`Writer`})]}),_jsx(_components.td,{children:`Visual and written output`})]}),_jsxs(_components.tr,{children:[_jsxs(_components.td,{children:[_jsx(_components.strong,{children:`Researcher`}),`, `,_jsx(_components.strong,{children:`Preflight`})]}),_jsx(_components.td,{children:`Gather material, and check readiness before a run starts`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Judge`})}),_jsx(_components.td,{children:`Scores or compares results where a run asks for it`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Agentic Loop`})}),_jsx(_components.td,{children:`The repeated think-act cycle a helper runs inside`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Vision`})}),_jsx(_components.td,{children:`Reading images; only models that can see are offered`})]})]})]}),`\n`,_jsxs(_components.p,{children:[`Default effort follows the mode: Medium in `,_jsx(_components.strong,{children:`Advanced`}),`, High in `,_jsx(_components.strong,{children:`Expert`}),`, Extra High in\n`,_jsx(_components.strong,{children:`Mythical`}),`. Members can still pin their own models.`]}),`\n`,_jsx(_components.hr,{}),`\n`,_jsx(Heading,{level:`2`,id:`tab-connector-mcp-and-tools`,children:`Tab: Connector MCP and Tools`}),`\n`,_jsx(Heading,{level:`3`,id:`connector-mcp`,children:`Connector MCP`}),`\n`,_jsxs(_components.p,{children:[`Outbound MCP connectors — external MCP servers this Digital Twin may call as extra tools. Each\nconnector is authored with its own configuration and credentials. See\n`,_jsx(_components.a,{href:`/mdx/admin-guide/mcp-servers`,children:`MCP Servers`}),` and `,_jsx(_components.a,{href:`/mdx/admin-guide/connectors`,children:`Connectors`}),`.`]}),`\n`,_jsx(Heading,{level:`3`,id:`tools`,children:`Tools`}),`\n`,_jsx(_components.p,{children:`Governs which platform tools the twin may use.`}),`\n`,_jsxs(AccordionGroup,{children:[_jsx(Accordion,{title:`Tools of this Digital Twin`,id:`tools-of-this-digital-twin`,children:_jsxs(_components.p,{children:[`The list of platform tools, each with its own switch, a `,_jsx(_components.strong,{children:`Search tools`}),` box, category filters and `,_jsx(_components.strong,{children:`Show only enabled tools`}),`. A tool switched off is never offered to the AI, and a call to one is refused. Tools whose feature is off for this Digital Twin are not listed; a line names those features. To apply a ready-made set (None, Minimal, Media, Builder, All), use `,_jsx(_components.strong,{children:`Instance Settings → Tools`}),` — see `,_jsx(_components.a,{href:`/mdx/admin-guide/tools#ready-made-sets`,children:`Tools`}),`.`]})}),_jsxs(Accordion,{title:`Result Size (Max Chars Count)`,id:`result-size-max-chars-count`,children:[_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Default:`}),` `,_jsx(_components.code,{children:`60000`}),` characters.`]}),_jsx(_components.p,{children:`Maximum characters returned by a single tool call; longer results are truncated. Increase for Digital Twins working with large documents or detailed API responses. Decrease to reduce token usage and protect against runaway tool output.`})]}),_jsxs(Accordion,{title:`File navigation tools`,id:`file-navigation-tools`,children:[_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Default:`}),` on.`]}),_jsx(_components.p,{children:`Lets the AI list the folders of this Digital Twin’s vault and find files by name, which helps it\nwork across many files at once. Searching inside a file and editing it stay available either way.\nSubagents need this on.`})]}),_jsxs(Accordion,{title:`Builder tools`,id:`builder-tools`,children:[_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Default:`}),` on.`]}),_jsx(_components.p,{children:`Lets the AI check the web pages and activities it builds before handing them over — running their\nchecks, taking screenshots, and reviewing the result. Turn it on for a twin that builds pages or\ninteractive activities. Subagents need this on.`})]}),_jsxs(Accordion,{title:`Tools Guidance`,id:`tools-guidance`,children:[_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Default:`}),` off.`]}),_jsxs(_components.p,{children:[`Off, every question carries short rules for using tools. On, it also carries detailed guidance on\nhow many tool calls each kind of question deserves (and, in voice conversations, the full tool\nrules). Turn it on when you need more reliable tool use — research workflows especially. It adds\nseveral thousand characters to every question, so it costs credits whether or not tools are used.\nPersonal accounts have their own `,_jsx(_components.strong,{children:`Tools Guidance`}),` switch in their Tools panel.`]})]}),_jsxs(Accordion,{title:`Tool calls per answer (cap)`,id:`tool-calls-per-answer-cap`,children:[_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Default:`}),` `,_jsx(_components.code,{children:`0`}),` — the platform default of 20 tool calls.`]}),_jsx(_components.p,{children:`Most answers may call tools this many times before the Digital Twin must write the answer from what it has gathered. When the cap is reached, the twin finishes with a written answer that lists anything it could not find under “Not found”, or with an honest line saying it could not finish, never with a reply that trails off mid-search. Set a number from 1 to 50 to lower the cap for this twin; a twin can only lower the platform cap, never raise it. Leave the field empty or at 0 to use the platform default. Lower it for twins that should answer quickly from a small vault; keep the default for research-style twins that search many folders or sources before answering.`})]})]}),`\n`,_jsxs(_components.p,{children:[`Full reference: `,_jsx(_components.a,{href:`/mdx/admin-guide/tools`,children:`Tools`}),`.`]}),`\n`,_jsx(_components.hr,{}),`\n`,_jsx(Heading,{level:`2`,id:`tab-onboarding-questions`,children:`Tab: Onboarding Questions`}),`\n`,_jsxs(_components.p,{children:[`The guided questions new users answer on first run, whose answers feed the twin’s understanding of\neach person. See `,_jsx(_components.a,{href:`/mdx/admin-guide/onboarding-questions`,children:`Onboarding Questions`}),`.`]}),`\n`,_jsx(_components.hr,{}),`\n`,_jsx(Heading,{level:`2`,id:`tab-rag-and-files`,children:`Tab: RAG and Files`}),`\n`,_jsx(_components.p,{children:`How the twin retrieves from the IP Vault, and the vault itself.`}),`\n`,_jsx(Heading,{level:`3`,id:`user-access`,children:`User Access`}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Disable File Upload for Users`}),` and `,_jsx(_components.strong,{children:`Allowed Emails or Domains`}),` — who may upload.`]}),`\n`,_jsx(Heading,{level:`3`,id:`ingestion-pipeline`,children:`Ingestion Pipeline`}),`\n`,_jsxs(_components.p,{children:[`How uploaded files are processed before they become searchable: `,_jsx(_components.strong,{children:`Sanitize Chunks`}),`, `,_jsx(_components.strong,{children:`Chunk\nKeyword Enrichment`}),`, `,_jsx(_components.strong,{children:`Chunk Size (Search \u0026 Knowledge Graph)`}),`, `,_jsx(_components.strong,{children:`Chunk Overlap (%)`}),`, and `,_jsx(_components.strong,{children:`File\nlongevity (days)`}),` for this Digital Twin’s vault.`]}),`\n`,_jsx(Heading,{level:`3`,id:`rag`,children:`RAG`}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Ignore user personal vault`}),`, `,_jsx(_components.strong,{children:`Max. Files In Vault`}),`, `,_jsx(_components.strong,{children:`Document Search Affinity (k-NN Vector\nScore %)`}),` and `,_jsx(_components.strong,{children:`Max. Number of relevant articles`}),`. The embedding model is under `,_jsx(_components.strong,{children:`Personalization\nand AI Models → System → Embeddings Generation`}),`.`]}),`\n`,_jsx(Heading,{level:`3`,id:`kag-knowledge-graph`,children:`KAG (Knowledge Graph)`}),`\n`,_jsxs(_components.p,{children:[`To build a knowledge graph from this Digital Twin’s files, use `,_jsx(_components.strong,{children:`Enable KAG Fusion for your Digital\nTwin`}),` in `,_jsx(_components.strong,{children:`Instance Settings → Knowledge → Ingestion`}),`. Whether each twin may choose can be decided\nby its account; the switch then says so.`]}),`\n`,_jsx(Heading,{level:`3`,id:`files-in-ip-vault`,children:`Files in IP Vault`}),`\n`,_jsx(_components.p,{children:`The vault itself, embedded directly in the tab — upload, preview, edit segments, and remove files\nwithout leaving the editor.`}),`\n`,_jsxs(_components.p,{children:[`Full reference: `,_jsx(_components.a,{href:`/mdx/admin-guide/knowledge-rag-config`,children:`Knowledge \u0026 RAG Configuration`}),`.`]}),`\n`,_jsx(_components.hr,{}),`\n`,_jsx(Heading,{level:`2`,id:`tab-assistants`,children:`Tab: Assistants`}),`\n`,_jsx(Heading,{level:`3`,id:`user-access-2`,children:`User Access`}),`\n`,_jsx(_components.p,{children:`Whether regular users may reach assistants at all, and whether they may author their own.`}),`\n`,_jsxs(AccordionGroup,{children:[_jsx(Accordion,{title:`Disable Assistants for Users`,id:`disable-assistants-for-users`,children:_jsx(_components.p,{children:`When enabled, regular users cannot access the Assistant Library or use custom assistants. Administrators retain full access. Useful when the twin should present a single unified persona rather than a menu of specialists.`})}),_jsx(Accordion,{title:`Disable Create Assistants for Users`,id:`disable-create-assistants-for-users`,children:_jsx(_components.p,{children:`When enabled, people who don’t manage this Digital Twin’s assistants can use assistants but cannot create new ones while working in it, in any app. Useful for curated deployments (curriculum, customer support).`})}),_jsx(Accordion,{title:`Enable Assistants by Email Domains (ex: school.edu)`,id:`enable-assistants-by-email-domains-ex-school-edu`,children:_jsxs(_components.p,{children:[`A list of email `,_jsx(_components.strong,{children:`domains`}),` (for example `,_jsx(_components.code,{children:`school.edu`}),`) whose members may still use assistants when assistants are otherwise switched off above. It matches on the domain, not on individual addresses — so it grants access to everyone signing in with an address at that domain. Useful for opening assistants to staff while keeping them off for everyone else. Appears once `,_jsx(_components.strong,{children:`Disable Assistants for Users`}),` is on.`]})})]}),`\n`,_jsx(Heading,{level:`3`,id:`available-assistants`,children:`Available Assistants`}),`\n`,_jsx(_components.p,{children:`A table of the assistants available to this Digital Twin, where you select which ones are enabled.\nSwitching one off retires it here without deleting it.`}),`\n`,_jsxs(_components.p,{children:[`Full reference: `,_jsx(_components.a,{href:`/mdx/admin-guide/assistants`,children:`Assistants`}),`.`]}),`\n`,_jsx(_components.hr,{}),`\n`,_jsx(Heading,{level:`2`,id:`tab-agents`,children:`Tab: Agents`}),`\n`,_jsx(_components.p,{children:`The control center of this Digital Twin’s autonomous agent — its sessions, the approval queue and\nan activity summary.`}),`\n`,_jsx(Note,{children:_jsxs(_components.p,{children:[`This tab appears only once the Praxis AI team has set up an autonomous agent for the Digital\nTwin. To ask for one, contact `,_jsx(_components.a,{href:`mailto:humans@praxis-ai.com`,children:`humans@praxis-ai.com`}),`.`]})}),`\n`,_jsxs(_components.p,{children:[`Full reference: `,_jsx(_components.a,{href:`/mdx/admin-guide/agents`,children:`Agents`}),`.`]}),`\n`,_jsx(_components.hr,{}),`\n`,_jsx(Heading,{level:`2`,id:`tab-twin-memory`,children:`Tab: Twin Memory`}),`\n`,_jsx(_components.p,{children:`Twin Memory is the umbrella for what the twin knows about a person across conversations. It has two\nparts, each with its own section.`}),`\n`,_jsx(Heading,{level:`3`,id:`long-term-memory`,children:`Long-term Memory`}),`\n`,_jsx(_components.p,{children:`What the twin forms on its own from conversations, with a visible receipt for every memory it\nsaves. Whether it is available on a Digital Twin at all, and whether memories are shared across\nsibling twins, are Praxis AI settings; what the twin’s own administrators control here is how far\nit reaches once it is on, and what users see under each answer.`}),`\n`,_jsx(_components.p,{children:`Once long-term memory is switched on for the twin, these settings appear:`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Long-term Memory: Admins Only`}),` limits it to administrators of the twin while you try it out.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Memory Mode`}),` — the memory new conversations use: `,_jsx(_components.strong,{children:`Classic (key/value)`}),` or `,_jsx(_components.strong,{children:`Long-term Memory\n(twin memories)`}),`. Members can change their own in their settings.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Display Memory Details`}),` (on by default) — whether the expandable `,_jsx(_components.strong,{children:`Memory`}),` row under an\nanswer lists the memories that were `,_jsx(_components.strong,{children:`Recalled`}),` to shape the reply. Turn it off for a quieter\ntranscript; memories are still used. Anything the twin `,_jsx(_components.strong,{children:`Saved`}),`, `,_jsx(_components.strong,{children:`Updated`}),` or `,_jsx(_components.strong,{children:`Forgotten`}),` is\nalways shown, so a user can always see what was kept.`]}),`\n`]}),`\n`,_jsxs(_components.p,{children:[`The same controls are also available to Digital Twin administrators from inside the product, in\n`,_jsx(_components.strong,{children:`Instance Settings → Knowledge → Long-term Memory`}),` (the first card of that tab). Turning the\nfeature on or off and sharing memories across the account are set by the Praxis AI team; they show\nas read-only.`]}),`\n`,_jsx(Heading,{level:`3`,id:`shared-memory`,children:`Shared Memory`}),`\n`,_jsx(_components.p,{children:`Facts the whole Digital Twin reads — set once by an administrator and available to every user of this\nDigital Twin.`}),`\n`,_jsxs(_components.p,{children:[`Full reference: `,_jsx(_components.a,{href:`/mdx/user-guide/memory/twin-memory`,children:`Twin Memory`}),` and\n`,_jsx(_components.a,{href:`/mdx/admin-guide/memory-and-impersonation`,children:`Memory Parameters \u0026 Act As`}),`.`]}),`\n`,_jsx(_components.hr,{}),`\n`,_jsx(Heading,{level:`2`,id:`related`,children:`Related`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.a,{href:`/mdx/admin-guide/knowledge-rag-config`,children:`Knowledge \u0026 RAG Configuration`}),` — Retrieval modes, chunk handling, embeddings, KAG analysis model, upload policies`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.a,{href:`/mdx/admin-guide/realtime-voice`,children:`Realtime Voice \u0026 Avatars`}),` — Provider catalog, voice tuning, avatar configuration`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.a,{href:`/mdx/admin-guide/google-workspace`,children:`Google Workspace`}),` and `,_jsx(_components.a,{href:`/mdx/admin-guide/microsoft-365`,children:`Microsoft 365`}),` — connect the twin to Google or Microsoft`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.a,{href:`/mdx/admin-guide/mcp-servers`,children:`MCP Servers`}),` — Inbound and outbound Model Context Protocol setup`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.a,{href:`/mdx/user-guide/memory/twin-memory`,children:`Twin Memory`}),` — Long-term Memory and Shared Memory`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.a,{href:`/mdx/admin-guide/memory-and-impersonation`,children:`Memory \u0026 Act As`}),` — Per-user memory, shared memory, impersonation`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.a,{href:`/mdx/admin-guide/ai-models`,children:`AI Models`}),` — Provider catalogs, BYOM, reasoning effort, prompt caching`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.a,{href:`/mdx/admin-guide/personalization`,children:`Personalization`}),` — Identity, avatar, branding, model assignments`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.a,{href:`/mdx/admin-guide/moderation`,children:`Content Moderation`}),` — Per-message safety screening`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.a,{href:`/mdx/admin-guide/agents`,children:`Agents`}),` — Autonomous agent workspaces, scheduled tasks, approvals`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.a,{href:`/mdx/admin-guide/meeting-agent`,children:`Meeting Agent`}),` — Sending the twin into a Zoom, Meet, or Teams call`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.a,{href:`/mdx/admin-guide/credit-management`,children:`Credit Management`}),` — Pooled credits, user quotas, and caps`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.a,{href:`/mdx/admin-guide/onboarding-questions`,children:`Onboarding Questions`}),` — Guided personalization for new users`]}),`\n`]})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Configuration and Integrations","description":"A map of the Digital Twin editor (Admin → Instances) — every tab, section, and setting for your Digital Twin, and where each one is documented in depth.","icon":"users-gear","href":"/mdx/admin-guide/configuration"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"How the editor is organised","slug":"how-the-editor-is-organised","depth":2,"children":[]},{"title":"Instance Management","slug":"instance-management","depth":2,"children":[{"title":"Viewing Instances","slug":"viewing-instances","depth":3,"children":[]}]},{"title":"Tab: Configuration and Integrations","slug":"tab-configuration-and-integrations","depth":2,"children":[{"title":"Configuration","slug":"configuration","depth":3,"children":[]},{"title":"Instance Details","slug":"instance-details","depth":4,"children":[]},{"title":"Access \u0026 Membership","slug":"access-\u0026-membership","depth":4,"children":[]},{"title":"AI Behavior","slug":"ai-behavior","depth":4,"children":[]},{"title":"Subagents","slug":"subagents","depth":4,"children":[]},{"title":"User Quotas","slug":"user-quotas","depth":4,"children":[]},{"title":"Realtime / Convo","slug":"realtime-/-convo","depth":4,"children":[]},{"title":"Text-To-Speech","slug":"text-to-speech","depth":4,"children":[]},{"title":"Integrations","slug":"integrations","depth":3,"children":[]},{"title":"Embedding \u0026 LTI","slug":"embedding-\u0026-lti","depth":4,"children":[]},{"title":"Pria MCP Server","slug":"pria-mcp-server","depth":4,"children":[]},{"title":"Canvas","slug":"canvas","depth":4,"children":[]},{"title":"Chat Completion","slug":"chat-completion","depth":4,"children":[]},{"title":"ElevenLabs Voice Cloning","slug":"elevenlabs-voice-cloning","depth":4,"children":[]},{"title":"Cartesia Voice","slug":"cartesia-voice","depth":4,"children":[]},{"title":"Google and Microsoft","slug":"google-and-microsoft","depth":4,"children":[]},{"title":"Kaltura","slug":"kaltura","depth":4,"children":[]},{"title":"Amazon Web Services","slug":"amazon-web-services","depth":4,"children":[]},{"title":"API Keys","slug":"api-keys","depth":4,"children":[]}]},{"title":"Tab: Personalization and AI Models","slug":"tab-personalization-and-ai-models","depth":2,"children":[{"title":"Personalization (Digital Twin)","slug":"personalization-digital-twin","depth":3,"children":[]},{"title":"Guardrails","slug":"guardrails","depth":4,"children":[]},{"title":"AI Models","slug":"ai-models","depth":3,"children":[]},{"title":"Subagent role models","slug":"subagent-role-models","depth":4,"children":[]}]},{"title":"Tab: Connector MCP and Tools","slug":"tab-connector-mcp-and-tools","depth":2,"children":[{"title":"Connector MCP","slug":"connector-mcp","depth":3,"children":[]},{"title":"Tools","slug":"tools","depth":3,"children":[]}]},{"title":"Tab: Onboarding Questions","slug":"tab-onboarding-questions","depth":2,"children":[]},{"title":"Tab: RAG and Files","slug":"tab-rag-and-files","depth":2,"children":[{"title":"User Access","slug":"user-access","depth":3,"children":[]},{"title":"Ingestion Pipeline","slug":"ingestion-pipeline","depth":3,"children":[]},{"title":"RAG","slug":"rag","depth":3,"children":[]},{"title":"KAG (Knowledge Graph)","slug":"kag-knowledge-graph","depth":3,"children":[]},{"title":"Files in IP Vault","slug":"files-in-ip-vault","depth":3,"children":[]}]},{"title":"Tab: Assistants","slug":"tab-assistants","depth":2,"children":[{"title":"User Access","slug":"user-access-2","depth":3,"children":[]},{"title":"Available Assistants","slug":"available-assistants","depth":3,"children":[]}]},{"title":"Tab: Agents","slug":"tab-agents","depth":2,"children":[]},{"title":"Tab: Twin Memory","slug":"tab-twin-memory","depth":2,"children":[{"title":"Long-term Memory","slug":"long-term-memory","depth":3,"children":[]},{"title":"Shared Memory","slug":"shared-memory","depth":3,"children":[]}]},{"title":"Related","slug":"related","depth":2,"children":[]}],"codeExamples":{}},"jsLinks":[],"subdomain":"praxisai","siteName":"praxis-ai","title":"Configuration and Integrations - praxis-ai","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-10-29T10:49:20.825Z","originalFileLocation":"mdx/admin-guide/configuration.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"A map of the Digital Twin editor (Admin → Instances) — every tab, section, and setting for your Digital Twin, and where each one is documented in depth.\">\u003cmeta data-mint-head name=\"application-name\" content=\"praxis-ai\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/praxisai/XTh1KbQ9ZEBjlBJJ/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/praxisai/XTh1KbQ9ZEBjlBJJ/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/praxisai/XTh1KbQ9ZEBjlBJJ/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/praxisai/XTh1KbQ9ZEBjlBJJ/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/praxisai/XTh1KbQ9ZEBjlBJJ/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/praxisai/XTh1KbQ9ZEBjlBJJ/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/praxisai/XTh1KbQ9ZEBjlBJJ/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/praxisai/XTh1KbQ9ZEBjlBJJ/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/praxisai/XTh1KbQ9ZEBjlBJJ/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Configuration and Integrations - praxis-ai\">\u003cmeta data-mint-head property=\"og:description\" content=\"A map of the Digital Twin editor (Admin → Instances) — every tab, section, and setting for your Digital Twin, and where each one is documented in depth.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"praxis-ai\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.praxis-ai.com/mdx/admin-guide/configuration\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://praxisai.mintlify.app/_mintlify/api/og/v2?division=Instance+Settings\u0026amp;title=Configuration+and+Integrations\u0026amp;description=A+map+of+the+Digital+Twin+editor+%28Admin+%E2%86%92+Instances%29+%E2%80%94+every+tab%2C+section%2C+and+setting+for+your+Digital+Twin%2C+and+where+each+one+is+documented+in+depth.\u0026amp;theme=3e471d4a71780917dfd4dd5f\u0026amp;signature=e6aaf7c8156f88d41cf2cb0aa29478a0b8ef95e862df9614b44e7408a0d58cba\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Configuration and Integrations - praxis-ai\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"A map of the Digital Twin editor (Admin → Instances) — every tab, section, and setting for your Digital Twin, and where each one is documented in depth.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://praxisai.mintlify.app/_mintlify/api/og/v2?division=Instance+Settings\u0026amp;title=Configuration+and+Integrations\u0026amp;description=A+map+of+the+Digital+Twin+editor+%28Admin+%E2%86%92+Instances%29+%E2%80%94+every+tab%2C+section%2C+and+setting+for+your+Digital+Twin%2C+and+where+each+one+is+documented+in+depth.\u0026amp;theme=3e471d4a71780917dfd4dd5f\u0026amp;signature=e6aaf7c8156f88d41cf2cb0aa29478a0b8ef95e862df9614b44e7408a0d58cba\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/praxisai/XTh1KbQ9ZEBjlBJJ/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"praxis-ai\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#5011FD\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.praxis-ai.com/mdx/admin-guide/configuration\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/mdx/admin-guide/configuration.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.praxis-ai.com/#organization\",\"name\":\"praxis-ai\",\"url\":\"https://docs.praxis-ai.com\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/praxisai/6nkK9KsHziJK7eUJ/images/logo/light.svg?fit=max\u0026auto=format\u0026n=6nkK9KsHziJK7eUJ\u0026q=85\u0026s=5d438417be87dbcd1a5749d3173410fc\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.praxis-ai.com#website\",\"name\":\"praxis-ai\",\"url\":\"https://docs.praxis-ai.com\",\"publisher\":{\"@id\":\"https://docs.praxis-ai.com/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.praxis-ai.com/mdx/admin-guide/configuration#webpage\",\"url\":\"https://docs.praxis-ai.com/mdx/admin-guide/configuration\",\"name\":\"Configuration and Integrations\",\"description\":\"A map of the Digital Twin editor (Admin → Instances) — every tab, section, and setting for your Digital Twin, and where each one is documented in depth.\",\"dateModified\":\"2026-10-29T10:49:20.825Z\",\"isPartOf\":{\"@id\":\"https://docs.praxis-ai.com#website\"},\"breadcrumb\":{\"@id\":\"https://docs.praxis-ai.com/mdx/admin-guide/configuration#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.praxis-ai.com/mdx/admin-guide/configuration#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Instance Settings\",\"item\":\"https://docs.praxis-ai.com/mdx/user-guide/profile-settings/instance-settings\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Configuration and Integrations\",\"item\":\"https://docs.praxis-ai.com/mdx/admin-guide/configuration\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://docs.praxis-ai.com/mdx/admin-guide/configuration#article\",\"headline\":\"Configuration and Integrations\",\"name\":\"Configuration and Integrations\",\"description\":\"A map of the Digital Twin editor (Admin → Instances) — every tab, section, and setting for your Digital Twin, and where each one is documented in depth.\",\"url\":\"https://docs.praxis-ai.com/mdx/admin-guide/configuration\",\"mainEntityOfPage\":{\"@id\":\"https://docs.praxis-ai.com/mdx/admin-guide/configuration#webpage\"},\"dateModified\":\"2026-10-29T10:49:20.825Z\",\"publisher\":{\"@id\":\"https://docs.praxis-ai.com/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.praxis-ai.com#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"praxis-ai\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"praxis-ai","nav":{"global":{"anchors":[{"anchor":"Innovations Hub","icon":"newspaper","href":"https://praxis-ai.com/innovation-hub/"},{"anchor":"Community Gitlab","icon":"gitlab","href":"https://gitlab.com/praxis-ai/pria-client-sdk"}]},"tabs":[{"tab":"Overview","pages":[{"title":"Overview","href":"/mdx/introduction/welcome"}]},{"tab":"New User","pages":[{"title":"New User","href":"/mdx/user-guide/introduction"}]},{"tab":"Power User","pages":[{"title":"Power User","href":"/mdx/user-guide/capabilities/content-creation"}]},{"tab":"Admin","groups":[{"group":"Getting Started","pages":[{"title":"Admin Guide","icon":"gear","href":"/mdx/admin-guide/introduction"},{"title":"Overview","icon":"puzzle-piece","href":"/mdx/integrations/canvas/overview"}]},{"group":"Account \u0026 Billing","pages":[{"title":"Accounts","icon":"building","href":"/mdx/admin-guide/accounts/overview"},{"title":"Managing Accounts","icon":"pen-to-square","href":"/mdx/admin-guide/accounts/managing-accounts"},{"title":"Billing \u0026 Subscriptions","icon":"credit-card","href":"/mdx/admin-guide/billing"},{"title":"Credit Allocation \u0026 Transfers","icon":"arrow-right-arrow-left","href":"/mdx/admin-guide/credit-management"}]},{"group":"Instance Settings","pages":[{"title":"Instance Settings","sidebarTitle":"Instance Settings (twin admins)","description":"Everything a twin admin sets for a Digital Twin, screen by screen: General, Personalization, Conversation, Voice, Knowledge, Tools, Assistants, Subagents, Connectors, Quotas, Invite, Integration (the Integration Wizard) and Billing.","icon":"sliders","href":"/mdx/user-guide/profile-settings/instance-settings"},{"title":"Configuration and Integrations","icon":"users-gear","href":"/mdx/admin-guide/configuration"},{"title":"Cloning a Digital Twin","description":"Make a second twin from an existing one — what comes along, what does not, and what to review before you share it.","icon":"clone","href":"/mdx/admin-guide/cloning"},{"title":"Personalization","icon":"brain","href":"/mdx/admin-guide/personalization"},{"title":"Crafting Digital Twin Instructions","icon":"pen-fancy","href":"/mdx/admin-guide/digital-twin-instructions"},{"title":"Onboarding Questions","icon":"clipboard-question","href":"/mdx/admin-guide/onboarding-questions"},{"title":"UI Customization","icon":"palette","href":"/mdx/admin-guide/ui-customization"},{"title":"Branding \u0026 Public URLs","icon":"palette","href":"/mdx/admin-guide/branding-and-domains"},{"title":"Enrollment \u0026 Joining Policies","icon":"user-plus","href":"/mdx/admin-guide/enrollment"},{"title":"SSO Providers","icon":"key","href":"/mdx/admin-guide/sso-providers"}]},{"group":"AI \u0026 Models","pages":[{"title":"AI Models","icon":"robot","href":"/mdx/admin-guide/ai-models"},{"title":"Platform Models \u0026 Providers","icon":"microchip","href":"/mdx/admin-guide/platform-models"},{"title":"Knowledge \u0026 RAG Configuration","icon":"database","href":"/mdx/admin-guide/knowledge-rag-config"},{"title":"Realtime Voice \u0026 Avatars","icon":"microphone","href":"/mdx/admin-guide/realtime-voice"},{"title":"Content Moderation","icon":"shield-halved","href":"/mdx/admin-guide/moderation"},{"title":"Memory Parameters \u0026 Act As","icon":"brain","href":"/mdx/admin-guide/memory-and-impersonation"}]},{"group":"Assistants \u0026 Prompts","pages":[{"title":"Assistants","icon":"wand-magic-sparkles","href":"/mdx/admin-guide/assistants"},{"title":"Variables","icon":"code","href":"/mdx/admin-guide/variables"}]},{"group":"Tools \u0026 Connectors","pages":[{"title":"Tools Reference","icon":"wrench","href":"/mdx/admin-guide/tools"},{"title":"Agents","icon":"robot","href":"/mdx/admin-guide/agents"},{"title":"The Agent Workspace","icon":"robot","href":"/mdx/admin-guide/agent-workspace"},{"title":"Meeting Agent","icon":"video","href":"/mdx/admin-guide/meeting-agent"},{"title":"Connector MCP","icon":"plug","href":"/mdx/admin-guide/connectors"},{"title":"MCP Servers","icon":"plug","href":"/mdx/admin-guide/mcp-servers"},{"title":"Google Workspace","sidebarTitle":"Google","icon":"google","href":"/mdx/admin-guide/google-workspace"},{"title":"Microsoft 365","sidebarTitle":"Microsoft","icon":"microsoft","href":"/mdx/admin-guide/microsoft-365"}]},{"group":"Users \u0026 Access","pages":[{"title":"Users","icon":"users","href":"/mdx/admin-guide/users"},{"title":"Entitlements","icon":"key","href":"/mdx/admin-guide/entitlements"},{"title":"Multi-Factor Authentication (MFA)","icon":"shield-halved","href":"/mdx/admin-guide/mfa"}]},{"group":"Analytics \u0026 Monitoring","pages":[{"title":"Histories","icon":"clock-rotate-left","href":"/mdx/admin-guide/histories"},{"title":"Sessions","icon":"server","href":"/mdx/admin-guide/sessions"},{"title":"Praxis Shield — Threat \u0026 Abuse Monitoring","icon":"shield-halved","href":"/mdx/admin-guide/praxis-shield"},{"title":"Feedback","icon":"comments","href":"/mdx/admin-guide/feedback"}]},{"group":"Legal \u0026 Compliance","pages":[{"title":"Student Data Privacy","icon":"eye","href":"/mdx/introduction/privacy-edu-consent"},{"title":"WCAG Compliance","icon":"universal-access","href":"/mdx/introduction/wcag-compliance"},{"title":"AI-Generated Content Transparency","icon":"fingerprint","href":"/mdx/introduction/ai-content-transparency"}]}]},{"tab":"Developer","pages":[{"title":"Developer","href":"/mdx/integrations/overview"}]},{"tab":"LXP","pages":[{"title":"LXP","href":"/mdx/lxp/introduction"}]},{"tab":"What's New?","pages":[{"title":"What's New?","href":"/mdx/changelog"}]}]},"title":"Configuration and Integrations - praxis-ai","buildId":"dpl_2xiSHD9XEvLsPGPcfoMtkLTB3dy9","deploymentId":"dpl_2xiSHD9XEvLsPGPcfoMtkLTB3dy9","dynamics":["10e4515597","a74be98ba7"],"chunks":["BannerMarkdown-B-Glu166.js","dist-zbf22OZA.js","lib-DuNMoZ05.js","lib-B8HbPgcC.js","clsx-Cs6nMGht.js","html-void-elements-mCSPHezU.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","zoom-image-lightbox-BNnMwe0F.js","lightbox-handle-r17bVUz3.js"]}