Unique Custom Space — Unique AI Documentation

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:

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

Use Cases

Use self-developed custom modules in production to handle tasks such as:


Step-by-Step Guide

1. Creating a Space

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.

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 false

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 "BY_FUNCTION_CALL"
Options "BY_FUNCTION_CALL", "BY_PROMPT"

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
BY_FUNCTION_CALL 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.
BY_PROMPT 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 "CHAT"
Options "CHAT", "TRANSLATION", "MAGIC_TABLE"

Description: Defines which user interface type to display for this Space.

Value Description
CHAT Standard chat interface. See more here: Custom Space
TRANSLATION Split screen for translation. Recommendation: Use Translator Space instead.
MAGIC_TABLE Agentic Table / Magic Table interface for structured data workflows. Recommendation: Use Agentic Table Space instead.

Example:

{
  "userInterface": "CHAT"
}

showPdfHighlighting

Property Value
Type boolean
Default true

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 null

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 [] (shows default languages)

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 false

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.

Common Options:

Field Type Default Description
pdfReadMode string "DOC_INTELLIGENCE_DISABLED" How to process PDF documents
wordReadMode string "MAMMOTH_ONLY" How to process Word documents
chunkMaxTokens number 600 Maximum tokens per chunk
chunkStrategy string "RECURSIVE_CHUNKING" Chunking algorithm
hideInChat 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 { "grammarList": [] }

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.

Use Cases:

Category Examples
Company Names "UniqueAI", "Acme Corp", "TechCo"
Financial Acronyms "EBITDA", "ROI", "P&L", "YoY", "MoM", "CAGR"
Industry Terms "KYC", "AML", "Due Diligence", "M&A"
Product Names "UniqueChat", "MagicTable", "AgenticTable"
Technical Terms "chunking", "embeddings", "vectorization"

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"
    ]
  }
}

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 { "answerLibrary": true, "hideSheetStatus": false }

Description: Configuration options for Magic Table / Agentic Table spaces. Only applicable when userInterface is set to "MAGIC_TABLE".

Field Type Default Description
answerLibrary boolean true Enable/disable the answer library feature
hideSheetStatus boolean false 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:

  1. Controlling the information accessible within a Space to ensure users are only presented with relevant content.

  2. 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.

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.

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.

Tips & Tricks


Limitations