Unique Custom Space
10 min read
Overview
Unique Custom Spaces enable admin users to customize spaces for company-specific use cases by incorporating custom modules and advanced settings. They can also feature fully self-developed AI modules.
Unique Custom Spaces that are modified by the Client or include fully custom assistants/modules are not covered under the SLA and will be supported exclusively at the daily rate, as specified in the commercial agreement with the Client.
If you're unable to access certain features or sections of this article, it's possible that your firm doesn't have access or hasn't upgraded to the latest version. Please reach out to your internal support team for further assistance.
What is Unique Custom Space?
Unique Custom Space is a modular orchestration framework designed to route user prompts through a flexible selection of specialized modules.
At its core, the architecture consists of:
An orchestrator – it interprets the user prompt and chat history and selects the most appropriate module to handle the task.
Modular execution – each module encapsulates specific capabilities (e.g., search, summarization, financial logic) and processes the task end-to-end.
Single-module flow – in this setup, the orchestrator chooses one module per prompt, the module then returns a response directly to the user.
This structure enables the creation of tailored spaces that specialize in distinct workflows, while maintaining clarity and control over how prompts are handled.
In Unique Custom Space, the orchestrator selects a single module based on the user's prompt. That module processes the task and returns the response, enabling modular and streamlined prompt handling.
Who is it for
This section is designed for admin users looking to customize spaces through advanced configurations, requiring a strong understanding of LLMs. It provides detailed guidance on managing and configuring custom spaces within Unique.
While this section focuses on configuring Unique through the UI, it does not cover using the SDK to develop agents or modules. For instructions on creating your own agent, please refer to this page: Software Development Kit SDK
Role Requirements: To create a new space, you must have the admin.space.write role. For more information about roles, click here: Understand Roles and Permissions
Benefits
Admins benefit from enhanced customization through Unique Custom Spaces and the flexibility to deploy their own developed modules in production.
Use Cases
Use self-developed custom modules in production to handle tasks such as:
Extracting company-specific KPIs from 10-K reports
Conducting directory lookups
Retrieving verbatim answers
And much more
Step-by-Step Guide
1. Creating a Space
Navigate to the "Manage All Spaces" section.
Click on Create Space.
Select Unique Custom
2. Add a Space Name
The Space name refers to the unique identifier of each chat environment. It helps distinguish between different use cases or topics for end-user interactions. This text will appear in the chat interface navigation.
Suggestion: Choose a short name that reflects the specific use case or topic of the Space.
2. Add a Space Description and Disclaimer
The About Space text serves as a brief description or introduction to the purpose and objectives of the Space. This text will appear in the Space's user interface.
The Space Usage Recommendation text provides essential insights and cautions that users should acknowledge before initiating prompts within the Space (Disclaimer).
Suggestion: Describe the focus or goal of the Space. It should help orient users and provides context for their interactions within the environment.
3. Add An AI Assistant
The AI Assistant refers to the virtual agent available within the Custom Space to assist users with their queries/tasks and provide relevant information/perform certain tasks.
An Assistant can contain one or more Modules. Each Assistant should be configured for a specific use case, meaning use case will likely require a unique set of Modules.
Not all AI Modules can be combined, even if the frontend allows it—they won't work after publishing. Check the following page for module compatibility: Add AI Assistant and Modules
When a user submits a prompt, the Assistant will determine which Module is best suited to generate a response.
OPTION 1: Create and add your own AI Modules
You can integrate your fully self-developed modules into the platform and add them as Module templates. To do this, you must first add your self-developed module through the AI Module Template. Learn more about the process here:
For instructions on creating your own agent, please refer to this page: Software Development Kit SDK
Discover how to add your fully self-developed module as a template to the platform here: AI Module Templates
OPTION 2: Select one or multiple existing AI Modules
Choose one or more modules from the dropdown based on your specific use case. You can find an overview of the available use cases, corresponding models, and their compatibilities here: Add AI Assistant and Modules
Not all AI Modules can be combined, even if the frontend allows it—they won't work after publishing. Check the following page for module compatibility: Add AI Assistant and Modules
Override Default Configurations and Tool Definition: The default settings of a module can be modified as needed, with changes applying exclusively to the Space being configured. Additionally, the module's description can be customized in the Tool Definition field. This description helps the assistant determine the most appropriate module for the user's request.
Changes to the configuration and tool description affect the performance of the module and are not covered under the SLA.
Specify a Fallback Module: The Fallback AI Module needs to be specified in the scenario the Assistant is not able to autoselect the best-fitting module given a user's prompt.
Export and Import Functionality: Assistant configurations can be exported and imported. This feature is particularly useful if you want to use the same configurations in another environment.
Advanced Settings
Advanced Settings encompass a range of configuration options and controls that allow admin users to customize and fine-tune the behavior of the Space and its associated components.
The Advanced Settings are configured as a JSON object. Below is the complete reference of all available fields.
Complete Advanced Settings Schema
{
"isPinned": false,
"modelChoosing": "BY_FUNCTION_CALL",
"userInterface": "CHAT",
"showPdfHighlighting": true,
"autoExecutePrompt": null,
"translationLanguages": [],
"disableFilePickerOnMobile": false,
"ingestionConfig": {},
"sttConfig": {
"grammarList": []
},
"magicTableConfig": {
"answerLibrary": true,
"hideSheetStatus": false
}
}Field Reference
isPinned
Property | Value |
|---|---|
Type | boolean |
Default |
|
Description: When set to true, the Space will be pinned at the top of the navigation for all members of the Space in the organization.
Example:
{
"isPinned": true
}modelChoosing
Property | Value |
|---|---|
Type | string |
Default |
|
Options |
|
Description: When users commit a prompt in a Space where the Assistant contains more than one module, the system will need to choose which module to generate a response.
Value | Description |
|---|---|
| Module selection is done with the function calling approach of OpenAI. This setting is only possible if models are used which allow function calling in the style of OpenAI. |
| The module descriptions are included in the system message of the LLM call to select the most appropriate module. This option is needed in case an LLM is used that does not allow function calling in the style of OpenAI. |
Example:
{
"modelChoosing": "BY_FUNCTION_CALL"
}userInterface
Property | Value |
|---|---|
Type | string |
Default |
|
Options |
|
Description: Defines which user interface type to display for this Space.
Value | Description |
|---|---|
| Standard chat interface. See more here: Custom Space |
| Split screen for translation. Recommendation: Use Translator Space instead. |
| Agentic Table / Magic Table interface for structured data workflows. Recommendation: Use Agentic Table Space instead. |
Example:
{
"userInterface": "CHAT"
}showPdfHighlighting
Property | Value |
|---|---|
Type | boolean |
Default |
|
Description: When set to true, and the user selects a reference, the application will open a PDF Viewer which highlights the content that the Assistant used to generate a response.
Example:
{
"showPdfHighlighting": true
}autoExecutePrompt
Property | Value |
|---|---|
Type | string | null |
Default |
|
Description: When set to a string value, this prompt will automatically execute when a user enters the Space. Useful for spaces that should immediately start a workflow or display information.
Example:
{
"autoExecutePrompt": "Welcome! What would you like to analyze today?"
}translationLanguages
Property | Value |
|---|---|
Type | string[] |
Default |
|
Description: Defines custom translation languages for the Translation UI. Provide a list of valid ISO Language Names. If not defined or empty, the translation UI will display the default languages (English, French, German, Italian, Spanish).
Example:
{
"translationLanguages": ["German", "English", "French", "Spanish"]
}disableFilePickerOnMobile
Property | Value |
|---|---|
Type | boolean |
Default |
|
Description: When enabled, the file picker (e.g., "Upload Files" button) is hidden on mobile devices, and only the "Take Photo" button is shown.
Note: "Upload in Chat" must be enabled for this to take effect.
Example:
{
"disableFilePickerOnMobile": true
}ingestionConfig
Property | Value |
|---|---|
Type | object |
Default |
|
Description: Controls how documents uploaded to the Space's chat are processed, chunked, and indexed. This configuration applies to all files uploaded within the chat interface of this Space.
For complete documentation of all ingestionConfig options, see: Additional ingestion configuration options
Common Options:
Field | Type | Default | Description |
|---|---|---|---|
| string |
| How to process PDF documents |
| string |
| How to process Word documents |
| number | 600 | Maximum tokens per chunk |
| string |
| Chunking algorithm |
| boolean | false | If true, content is indexed but hidden from chat search |
Example - Enable Microsoft Document Intelligence for PDFs:
{
"ingestionConfig": {
"pdfReadMode": "DOC_INTELLIGENCE_DEFAULT",
"wordReadMode": "INGEST_WORD_AS_PDF"
}
}Example - Custom API Ingestion:
{
"ingestionConfig": {
"pdfReadMode": "CUSTOM_SINGLE_PAGE_API",
"customApiOptions": [{
"customisationType": "CUSTOM_SINGLE_PAGE_API",
"apiIdentifier": "Unique Text and Image Extraction API",
"apiPayload": "{}"
}]
}
}sttConfig (Speech-to-Text Configuration)
Property | Value |
|---|---|
Type | object |
Default |
|
Description: Configures the Speech-to-Text (voice input) functionality for the Space. This allows you to improve voice recognition accuracy for domain-specific vocabulary.
sttConfig.grammarList
Property | Value |
|---|---|
Type | string[] |
Default |
|
Description: An array of phrases, words, acronyms, or technical terms that help the speech recognition engine (Microsoft Azure Speech-to-Text) better recognize domain-specific vocabulary that may not be in the standard vocabulary.
How it works: When voice input is used in the chat, the grammar list phrases are sent to Azure Speech-to-Text as a PhraseListGrammar. This significantly improves recognition accuracy for these specific terms, especially when they might otherwise be misinterpreted.
Use Cases:
Category | Examples |
|---|---|
Company Names |
|
Financial Acronyms |
|
Industry Terms |
|
Product Names |
|
Technical Terms |
|
Example - Financial Services Space:
{
"sttConfig": {
"grammarList": [
"EBITDA",
"YoY",
"MoM",
"QoQ",
"P&L",
"CAGR",
"ROI",
"ROE",
"NPV",
"IRR",
"DCF",
"LBO",
"M&A",
"IPO",
"SEC",
"10-K",
"10-Q"
]
}
}Example - Legal/Compliance Space:
{
"sttConfig": {
"grammarList": [
"KYC",
"AML",
"GDPR",
"FINMA",
"MiFID",
"Due Diligence",
"Compliance",
"Regulatory"
]
}
}Example - Company-Specific Terminology:
{
"sttConfig": {
"grammarList": [
"UniqueAI",
"Unique Finance",
"AgenticTable",
"MagicTable",
"Knowledge Base"
]
}
}Tip: Include acronyms that are commonly misrecognized by standard speech recognition. For example, "EBITDA" might be recognized as "eat a" without being in the grammar list
magicTableConfig
Property | Value |
|---|---|
Type | object |
Default |
|
Description: Configuration options for Magic Table / Agentic Table spaces. Only applicable when userInterface is set to "MAGIC_TABLE".
Field | Type | Default | Description |
|---|---|---|---|
| boolean |
| Enable/disable the answer library feature |
| boolean |
| Hide/show sheet status indicators |
Example:
{
"userInterface": "MAGIC_TABLE",
"magicTableConfig": {
"answerLibrary": true,
"hideSheetStatus": false
}
}Complete Configuration Examples
Example 1: Standard Chat Space with Voice Optimization
{
"isPinned": false,
"modelChoosing": "BY_FUNCTION_CALL",
"userInterface": "CHAT",
"showPdfHighlighting": true,
"autoExecutePrompt": null,
"sttConfig": {
"grammarList": [
"UniqueAI",
"EBITDA",
"Due Diligence",
"KYC",
"AML"
]
}
}Example 2: Financial Analysis Space with MDI Ingestion
{
"isPinned": true,
"modelChoosing": "BY_FUNCTION_CALL",
"userInterface": "CHAT",
"showPdfHighlighting": true,
"ingestionConfig": {
"pdfReadMode": "DOC_INTELLIGENCE_DEFAULT",
"wordReadMode": "INGEST_WORD_AS_PDF",
"chunkMaxTokens": 600,
"chunkStrategy": "RECURSIVE_CHUNKING"
},
"sttConfig": {
"grammarList": [
"EBITDA",
"YoY",
"MoM",
"P&L",
"CAGR",
"ROI",
"10-K",
"10-Q",
"SEC",
"IPO"
]
}
}Example 3: Compliance Space with Custom Ingestion
{
"isPinned": false,
"modelChoosing": "BY_FUNCTION_CALL",
"userInterface": "CHAT",
"showPdfHighlighting": true,
"ingestionConfig": {
"pdfReadMode": "CUSTOM_SINGLE_PAGE_API",
"customApiOptions": [{
"customisationType": "CUSTOM_SINGLE_PAGE_API",
"apiIdentifier": "Unique Text and Image Extraction API",
"apiPayload": "{}"
}]
},
"sttConfig": {
"grammarList": [
"KYC",
"AML",
"GDPR",
"FINMA",
"MiFID",
"Compliance",
"Regulatory"
]
}
}Example 4: Mobile-Optimized Space
{
"isPinned": false,
"modelChoosing": "BY_FUNCTION_CALL",
"userInterface": "CHAT",
"showPdfHighlighting": true,
"disableFilePickerOnMobile": true
}Knowledge Scopes
The Knowledge Scope is a specific set of rules that determine the scope of accessible information for users within the Space.
There are two main benefits:
Controlling the information accessible within a Space to ensure users are only presented with relevant content.
Focusing the AI Assistant's knowledge within a defined scope can lead to more accurate and relevant responses to user queries, improving overall user experience and satisfaction.
For more information on scope rules and how to configure them for a space, please visit: Defining Smart Rules through Knowledge Scope Rules
Upload in Chat
The Upload in Chat functionality toggle enables users to upload files directly within the chat interface of the Space.
When enabled, files uploaded in chat will be processed according to the ingestionConfig settings defined in the Advanced Settings.
Role Requirements: To create a new space, you must have the admin.space.write role. For more information about roles, click here: Understand Roles and Permissions
Add Suggested Prompts
Suggested Prompts are predefined queries or conversation starters recommended for users to initiate interactions with the AI Assistant within the Space. They help guide users who may be unsure about what to ask or discuss.
A Suggested Prompt contains a title and prompt line. The title appears above the input field of the chat interface. When a user selects a title, it will pre-fill the input field with the prompt line.
Suggestion: Offer a variety of prompts covering common topics or tasks related to the Space's objectives.
Add Members
Members represent the individual users or groups of users granted access to the Space.
Only members of the Space can view the Space in their chat interface navigation and interact with it.
By default, the user who creates the space is added as a member of that space.
When there are no members added to a Space, all users in the organization can view the Space in their chat interface navigation and interact with it.
Tips & Tricks
Leverage Unique AI Space to simplify the setup of spaces instead of Custom Unique Space.
Use
sttConfig.grammarListto improve voice recognition for industry-specific acronyms and company names.Configure
ingestionConfigto optimize document processing for your specific document types.If you would like to add your fully self-developed agent, refer to the SDK documentation.
Limitations
Unique Custom Spaces that are modified by the Client or include fully custom assistants/modules are not covered under the SLA and will be supported exclusively at the daily rate, as specified in the commercial agreement with the Client.