Welcome to the M-Files Developer Portal
Overview
This website complements and extends our existing documentation, available either online or within repositories such as the M-Files Partner Portal. The purpose of this website is to provide tailored guidance, tutorials, and samples to software developers looking to extend or integrate with M-Files.
M-Files as a Platform
M-Files’ powerful approach to Enterprise Content Management allows businesses to work with what content is, instead of where it’s saved. This powerful metadata-based approach can be used to easily design, build and deploy systems that support businesses in almost any sector, of almost any size. Whilst M-Files’ out-of-the-box functionality allows deep integration with various platforms and technologies, it also has a broad set of developer-orientated APIs and frameworks which can be used to extend this even further.
We call this M-Files as a Platform.
Built-in functionality
M-Files provides significant built-in functionality which can be used by developers and non-developers to create integrated solutions. M-Files’ scripting environment allows VBScript to be executed in response to object or server events, or as objects move through workflows. Objects can be retrieved from remote ODBC-compatible data sources, or Custom External Object Type Data Sources can be created to extend this functionality to other sources, such as web services. Files can also be imported from External File Sources and can import content from XML files produced by various scanning and imaging software.
Our APIs
M-Files provides three Application Programming Interfaces for developers: the gRPC API, the COM/.NET API and the M-Files Web Service (MFWS).
For new development, use the gRPC API, especially when you build with AI coding agents. It is the complete and direct interface to M-Files Server, with no extra layer in between, so it offers the most functionality and the best performance. It can be called from any language and platform that has a gRPC implementation, and its documentation is written for coding agents as well as for people. Choose the COM/.NET API or the M-Files Web Service for new development only when a specific tool or technology calls for them.
Code that runs inside M-Files, such as Vault Application Framework applications and VBScript event handlers, uses the COM API that M-Files provides to it.
gRPC API
- The complete interface to M-Files Server: the API that the M-Files clients and M-Files Admin use, providing interfaces for both “user” and “administrative” functions.
- Can be called from any language and operating system that has a gRPC implementation; quickstarts and samples are available for C#, Python and Go.
- Works with both M-Files Cloud and on-premises servers.
- The COM/.NET API and the M-Files Web Service are layers on top of the same server interface and expose much, but not all, of its functionality.
More information is available in the gRPC API section.
COM/.NET API
- Provides interfaces for both “user” and “administrative” functions.
- Can only be run on Windows, where the M-Files COM object can be made available.
- Supports the same connection protocols as the desktop client.
- Supports the same authentication schemes as the desktop client.
- Can be run in “client” or “server” mode:
- Client mode requires a vault connection is already set up within the M-Files Desktop Settings, and can show M-Files dialogs such as the metadata card for object creation.
- Server mode does not require a vault connection to be set up on the host machine, but cannot show M-Files dialogs.
- Requires the same version of the API on the client machine as the server.
More information is available in the COM API section.
The M-Files Web Service (MFWS)
- A REST-like web service that is available from within M-Files Classic Web.
- Can be called from any environment that can make HTTP requests (e.g. mobile), and is not limited to Windows operating systems.
- Connections to the MFWS are done via HTTPS.
- Supports most “user” operations, but cannot be used to undertake “administrative” functions.
- Not tied directly to the M-Files Server version.
More information is available in the REST API section.
Our Frameworks
M-Files provides two separate frameworks for building applications that run within the M-Files software: the User Interface Extensibility Framework (UIX), and the Vault Application Framework (VAF). The User Interface Extensibility Framework (UIX) is used to create client-side applications that interact with, replace, or react to, the M-Files Desktop client or M-Files Classic Web. The Vault Application Framework (VAF) is designed as a replacement for using VBScript within M-Files vaults, allowing the use of .NET code instead.
User Interface Extensibility Framework (UIX)
- Used to create client-side applications.
- Can tailor the user interface, such as changing logos or showing or hiding UI elements.
- Can create buttons and menu items which can react to selected items.
- Can create “dashboards” which are shown on demand, and can be provided with content from M-Files.
More information is available in the User Interface Extensibility Framework section.
Vault Application Framework (VAF)
- Used to create server-side applications.
- Can be used to execute .NET code in response to object (e.g before an object is checked in) or vault events (e.g. before a view is deleted).
- Can be used to execute .NET code as an object moves through a workflow.
- Can be used to create asynchronous processes via task queues.
- Can be used to execute .NET code to calculate property values and/or provide property value validation.
More information is available in the Vault Application Framework section.
Development Licences
Development licences are available to M-Files resellers and members of the Solution Partner program. For more information contact your Channel Account Manager or the M-Files DevRel team. Alternatively, a 30-day trial of M-Files can be downloaded from https://www.m-files.com/customers/product-downloads/.