Skip to main content


User Interface Extensibility Framework applications are JavaScript applications that run within the M-Files Web client. The framework provides a set of objects that allow you to interact with the user interface by adding commands to various menus, to add your own tabs/dashboards, or to react when various events fire within the user interface. Applications can also use the M-Files Vault API to perform tasks within the vault such as searching or creating objects.

What can be done using the User Interface Extensibility Framework?

The User Interface Extensibility Framework allows third-party developers to extend the M-Files client interface in a number of ways:

  • By reacting when events fire within the user interface, such as reacting when a user selects an object of a known type.
  • By adding commands to either the main menu or context menu, and reacting when those commands are clicked.
  • By adding custom tabs to the user interface, allowing custom HTML pages ("dashboards") to be shown within M-Files.
  • By showing popup dashboards, for example when a command is clicked.
  • By interacting with other components of the user interface through the UIX API, or interacting with the vault via the Vault API.
  • Using any combination of the above.

How are UI applications structured?


More information on the application structure is available in the dedicated page.

UI applications are deployed as a .mfappx file, which is a renamed .zip file. This archive contains the files that the application needs to run, including:

  • A manifest file named appdef.xml which defines the application ID, name, modules, and dashboards.
  • At least one module file which declares the application entry point.
  • Zero, one, or more dashboard HTML file, along with any supporting files such as CSS, JavaScript, or images.

How do I deploy and test my UI applications?