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

json
{
  "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:

json
{
  "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:

json
{
  "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:

json
{
  "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:

json
{
  "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:

json
{
  "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:

json
{
  "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:

json
{
  "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

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:

json
{
  "ingestionConfig": {
    "pdfReadMode": "DOC_INTELLIGENCE_DEFAULT",
    "wordReadMode": "INGEST_WORD_AS_PDF"
  }
}

Example - Custom API Ingestion:

json
{
  "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.

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

"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:

json
{
  "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:

json
{
  "sttConfig": {
    "grammarList": [
      "KYC",
      "AML",
      "GDPR",
      "FINMA",
      "MiFID",
      "Due Diligence",
      "Compliance",
      "Regulatory"
    ]
  }
}

Example - Company-Specific Terminology:

json
{
  "sttConfig": {
    "grammarList": [
      "UniqueAI",
      "Unique Finance",
      "AgenticTable",
      "MagicTable",
      "Knowledge Base"
    ]
  }
}

info

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:

json
{
  "userInterface": "MAGIC_TABLE",
  "magicTableConfig": {
    "answerLibrary": true,
    "hideSheetStatus": false
  }
}

Complete Configuration Examples

Example 1: Standard Chat Space with Voice Optimization

json
{
  "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

json
{
  "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

json
{
  "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

json
{
  "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.

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.grammarList to improve voice recognition for industry-specific acronyms and company names.

  • Configure ingestionConfig to 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.

Last updated