Skip to main content



Please note that these samples are provided “as-is” and with no warranty, explicit or otherwise. You should ensure that the functionality of these samples meet your requirements, and thoroughly test them, prior to using in any production scenarios. The items linked below are designed as teaching tools and may not be fully complete.

Please refer to Installing Applications on how to install UI Extensions into your M-Files environment.

Hello world

Hello World is a simple application demonstrating how to create the most basic UI Extension which only displays a dialog box after the UI Extension has been succesfully started.


The Commands sample creates a basic User Interface Extensibility Framework application consisting of one ShellUI module which adds buttons to the main menu and context menu that are shown/hidden depending upon the user's actions.

Built-in commands

The Built-in commands sample creates a basic User Interface Extensibility Framework application consisting of one module which reacts when built-in commands are clicked. Also it shows how to execute a built in command.

The Popup dashboard sample creates a User Interface Extensibility Framework application that shows a popup dashboard when a custom command is clicked. The dashboard is provided with details about the views that the user has navigated into.

The Popup dashboard with accent color sample extends the above application by also showing how to use the accent color that has been defined for this vault.

ShellFrame and dashboard

The ShellFrame and dashboard sample shows how to replace the default listing area with a custom dashboard (and how to revert it). The sample shows how a ReactJS component could be used within the UIXv2 framework for this.

Assign to me

The Assign to me sample creates a more complex UI Extension that allows users to select object(s) and create assignments that refer to them. This example interacts with the vault to both query vault structure and also create new objects.