Repository navigation
Assistants and Templates
This page shows how you prepare AI Studio for the work of your colleagues: which assistants they see, which chat templates, profiles, and policies they get, what the start page tells them, which assistant plugins you approve, and how the Slide Assistant uses your corporate design.
Hide the built-in assistants your organization doesn't need:
CONFIG["SETTINGS"]["DataApp.HiddenAssistants"] = { "BIAS_DAY_ASSISTANT", "JOB_POSTING_ASSISTANT" }The values are GRAMMAR_SPELLING_ASSISTANT, ICON_FINDER_ASSISTANT, REWRITE_ASSISTANT, PROMPT_OPTIMIZER_ASSISTANT, TRANSLATION_ASSISTANT, AGENDA_ASSISTANT, CODING_ASSISTANT, TEXT_SUMMARIZER_ASSISTANT, SWOT_ANALYSIS_ASSISTANT, EMAIL_ASSISTANT, LEGAL_CHECK_ASSISTANT, SYNONYMS_ASSISTANT, MY_TASKS_ASSISTANT, JOB_POSTING_ASSISTANT, BIAS_DAY_ASSISTANT, ERI_ASSISTANT, DOCUMENT_ANALYSIS_ASSISTANT, SLIDE_BUILDER_ASSISTANT, LOG_VIEWER_ASSISTANT, VISUAL_BRIEFING_ASSISTANT, BATCH_PROCESSING_ASSISTANT, and I18N_ASSISTANT. The list is always locked, and a configuration with a higher priority replaces it as a whole.
Some assistants and functions are previews. DataApp.PreviewVisibility sets the level of previews users may choose from, and DataApp.EnabledPreviewFeatures switches previews on. The second one adds up across your configurations:
CONFIG["SETTINGS"]["DataApp.EnabledPreviewFeatures"] = { "PRE_RAG_2024", "PRE_VISUAL_BRIEFING_ASSISTANT_2026" }| Value | Preview |
|---|---|
PRE_RAG_2024 |
Data sources and Semantic Search (beta), including the ERI Server Assistant |
PRE_META_ASSISTANT_V1 |
The Assistant Builder (beta) |
PRE_VISUAL_BRIEFING_ASSISTANT_2026 |
The Visual Briefing Assistant (beta) |
PRE_MAILBOXES_2026 |
Mailboxes as data sources (prototype); needs PRE_RAG_2024 as well |
Every assistant has settings of its own, behind the gear on its tile, including a minimum confidence for its provider. Users set most of them. You can manage the minimum for these:
| Assistant | Setting | Applies |
|---|---|---|
| Batch Processing | DataBatchProcessing.MinimumProviderConfidence |
Only while DataBatchProcessing.PreselectOptions is true; lock that as well |
| Assistant Builder | DataAssistantBuilder.MinimumProviderConfidence |
Only while DataAssistantBuilder.PreselectOptions is true; lock that as well |
| Visual Briefing | DataVisualBriefing.MinimumProviderConfidence |
Always |
| Document Analysis |
MinimumProviderConfidence in each policy, see below |
Always for that policy |
For every other assistant, use the global minimum, see Confidence and Data Security. The example plugin lists further preselections of these assistants, such as their default provider or the output language.
A chat template starts a chat with a system prompt, optionally a predefined message, an example conversation, attached files, tools, data sources, a provider, a profile, and a workspace. The example plugin shows every field of CONFIG["CHAT_TEMPLATES"]. Easiest is to build the template in AI Studio and export it, see Testing and Exporting Configurations.
Leaving a field out and leaving it empty mean different things:
| The template says | A chat started with it |
|---|---|
No ToolIds
|
Starts with the tools the user chose as their chat default |
ToolIds present but empty |
Starts without any tool |
No DataSourceOptions
|
Starts with the data source options of the user's chat default |
DataSourceOptions present |
Starts with exactly these, including how the sources are searched |
RetrievalMode in DataSourceOptions decides how the chat searches its data sources:
-
SEMANTIC_SEARCH(the default for templates): the AI searches the data sources itself, through the toolsemantic_search, whenever a question calls for it. This needs a model that can use tools, and the tool must not be switched off. -
EVERY_MESSAGE: AI Studio searches the data sources with every message, before the AI answers.
The data source IDs in an exported template stay as they are, because they point to the data sources of your organization. Check them against CONFIG["DATA_SOURCES"]: an ID that resolves to nothing is ignored.
| The template says | A chat started with it |
|---|---|
ProviderId |
Starts with that provider, if it exists and meets the confidence required for chats |
ProfileId |
Starts with that profile, if it exists. 00000000-0000-0000-0000-000000000000 means no profile. Ignored when AllowProfileUsage is false. |
WorkspaceName |
Goes into that workspace, which AI Studio creates when needed, instead of becoming a disappearing chat |
These are preselections, not locks: users can change the provider and the profile, and move the chat. Use IDs of providers and profiles from your configurations, which are the same on every device. A template exported from the app carries the IDs of the exporting computer, and the export starts with a comment saying so: replace them.
A profile tells the AI who the user is and what they want. Roll out profiles in CONFIG["PROFILES"] with Id, Name, NeedToKnow, and Actions. DataApp.PreselectedProfile and DataChat.PreselectedProfile preselect one.
The Document Analysis Assistant analyzes documents by policies. Roll out policies in CONFIG["DOCUMENT_ANALYSIS_POLICIES"]:
CONFIG["DOCUMENT_ANALYSIS_POLICIES"][#CONFIG["DOCUMENT_ANALYSIS_POLICIES"]+1] = {
["Id"] = "7b8c9d0e-1f2a-4b3c-8d4e-5f6a7b8c9d0e",
["PolicyName"] = "Compliance summary",
["PolicyDescription"] = "Summarizes obligations and deadlines in contracts.",
["AnalysisRules"] = [===[
Focus on obligations, deadlines, and required actions.
Flag ambiguous or missing information.
]===],
["OutputRules"] = [===[
Write a Markdown report with the headings Obligations, Deadlines, and Open Questions.
]===],
["MinimumProviderConfidence"] = "MEDIUM",
["AllowedToolIds"] = {},
["HidePolicyDefinition"] = false,
}-
MinimumProviderConfidencekeeps providers below that level away from this policy. -
AllowedToolIdsis a limit, not a preselection: tools that aren't listed can't be used with this policy. An empty or missing list means no tools. -
PreselectedProviderandPreselectedProfilepreselect a provider or a profile of your configuration. -
HidePolicyDefinition = trueshows users only the document selection, not the rules.
The Batch Processing Assistant can use these policies as well.
| What | How |
|---|---|
| Your own introductions |
CONFIG["INTRODUCTIONS"]: panels with Id, Title, Version, Index, and Markdown
|
| Notices users must accept |
CONFIG["MANDATORY_INFOS"]: Id, Title, Version, Markdown, AcceptButtonText, and RejectButtonText. AI Studio asks again when the version, the title, or the text change. |
| A prompt for the user's API key |
CONFIG["USER_API_KEY_PROMPT"], see Providers and API Keys
|
| The built-in panels |
DataApp.ShowQuickStartGuide, DataApp.ShowIntroduction, DataApp.ShowLastChangelog, DataApp.ShowVision
|
| The page AI Studio opens with |
DataApp.StartPage: HOME, CHAT, ASSISTANTS, INFORMATION, PLUGINS, SUPPORTERS, or SETTINGS
|
Assistant plugins are assistants written in Lua, by your organization or by others. You can roll them out in your configuration archive, see Configuration Server, or with your device management into the regular plugin folder, marked with DEPLOYED_USING_CONFIG_SERVER = true.
Before an assistant plugin can be enabled, AI Studio has an LLM check it for risks, a security audit. Instead, your organization can approve a plugin. An approval refers to the content of the plugin through a hash, not to its ID: when any Lua file of the plugin changes, the approval no longer applies.
CONFIG["SETTINGS"]["DataAssistantPluginAudit.EnterpriseApprovedPlugins"] = {
{
["PluginHash"] = "0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF",
["DisplayName"] = "Translation assistant of Example Organization",
["Comment"] = "Approved for internal rollout",
["ApprovedBy"] = "AI governance board",
["ApprovedAtUtc"] = "2026-10-01T09:30:00Z",
}
}-
Getting the hash: the security card of the plugin in AI Studio shows its "Current hash". With the source code of AI Studio, the command
dotnet run --project app/Build -- assistant-plugin-hash "<plugin folder>" --lua-snippetprints it together with a ready Lua fragment. -
Only your configurations may approve. AI Studio honors approvals only from configurations below
.config, which your server deployed, or.config-tests, which you staged for a test. It ignores approvals in other configuration plugins, because an approval switches off a safety check in your name. - Approvals add up. A department configuration can approve further plugins without repeating the approvals of the base configuration.
An approval says that a plugin is safe; whether it is enabled is a second decision. Two optional fields of an approval make it for your colleagues:
Activate |
AllowUserOverride |
Result |
|---|---|---|
| Not set | Any | Approved. Everybody enables the assistant themselves. |
true |
true |
AI Studio enables the assistant once. Users may switch it off again, and their decision lasts. |
true |
Not set | AI Studio enables the assistant and keeps it enabled. The switch on the "Plugins" page is locked. |
AI Studio enables only plugins that your organization actually rolled out: below .config or .config-tests, or marked with DEPLOYED_USING_CONFIG_SERVER. A copy of the same plugin that a user placed themselves stays approved, but isn't enabled for them. When several configurations approve the same plugin, one asking for the activation is enough, and users may switch it off only if every configuration that asks for it allows that.
| Setting | Effect |
|---|---|
DataAssistantPluginAudit.RequireAuditBeforeActivation |
Whether a plugin needs an audit or an approval before it can be enabled |
DataAssistantPluginAudit.PreselectedAgentProvider |
The provider that runs the audits |
DataAssistantPluginAudit.MinimumLevel |
The audit result a plugin must reach |
DataAssistantPluginAudit.BlockActivationBelowMinimum |
Whether a plugin below that level can't be enabled at all |
DataAssistantPluginAudit.AutomaticallyAuditAssistants |
Whether AI Studio audits plugins on its own |
DataApp.AllowUserToImportPlugins |
Whether users may import plugin archives |
DataApp.AllowUserToSharePlugins |
Whether users may share their plugins as archives |
The Slide Assistant plans slides for the layouts of a PowerPoint template (.pptx or .potx) and creates PowerPoint files in its design. OpenDocument templates can't serve as a template yet.
Put the template next to your plugin.lua, or in a folder below it, and name it relative to the plugin:
CONFIG["SETTINGS"]["DataSlideBuilder.TemplatePath"] = "Corporate.potx"
CONFIG["SETTINGS"]["DataSlideBuilder.TemplatePath.AllowUserOverride"] = true
CONFIG["SETTINGS"]["DataSlideBuilder.PreselectOptions"] = true- With
AllowUserOverride, your template is preselected and users may choose another one; without it, it is locked. - The template is one of the preselections of the Slide Assistant, so it applies only while preselections are on. Lock
DataSlideBuilder.PreselectOptionstotrueso that nobody works without it. - The path must stay inside the plugin folder. An absolute path, for example, on a network share, works as well, as long as every device can read it.
- A missing template isn't fatal. When a locked template can't be read at the moment, the assistant says so and plans an outline only.
- Every device downloads the whole configuration archive, template included, at every start and with every change of your configuration.
Further preselections, each with AllowUserOverride:
| Setting | Effect |
|---|---|
DataSlideBuilder.PreselectedFooterText |
The footer text of the slides |
DataSlideBuilder.PreselectedMaxBulletPointsPerSlide |
At most 1 to 7 bullet points per slide, or 0 to let the LLM decide by the room of each layout |
DataSlideBuilder.PreselectedKeepEmptyPicturePlaceholders |
true keeps picture placeholders that have no picture, for users who insert their own pictures |
DataSlideBuilder.PreselectedLayouts |
Which layout of your template to use for which kind of slide, such as TITLE, CHAPTER, or CONTENT, each by the layout's name in the slide master. The example plugin lists all kinds of slides. |
DataSlideBuilder.PreselectedTemplateSlideUses |
What to do with the slides of your template, by their number: OMIT (the default), KEEP, or EDIT
|
The Slide Assistant can choose pictures and icons from a folder. The LLM reads only the file names, so clear names such as rocket-launch.jpg help. Only PNG and JPEG files count. A file whose name, or the name of one of its folders, starts with icon counts as an icon. From a folder with more than 5,000 pictures, the LLM gets a random 5,000 each time.
CONFIG["SETTINGS"]["DataSlideBuilder.PreselectedPictureLibraryPath"] = "Pictures"
CONFIG["SETTINGS"]["DataSlideBuilder.PreselectedPictureLibraryPath.AllowUserOverride"] = trueThe same rules apply as for the template. For a large library, a network share is the better place, because every device downloads your whole archive.
Describes MindWork AI Studio v26.10.1 · Found a mistake? Open an issue
User guide
Basics
Chat
Assistants
- Overview
- General
- Business
- Learning
- Software Engineering
- AI Studio Development
More
Enterprise IT
Deployment
Configuring
Topics
- Providers and API Keys
- Confidence and Data Security
- Assistants and Templates
- Tools and Web Access
- Labeling and Usage Statistics
- Managing Backups
Scenarios and help
Developers
Deutsch