Extension Kit for M-Files | Unitfly
  • Solutions
  • Products
    • Extension Kit Core
    • Extension Kit Document AI
    • Extension Kit Cloud Connector
    • Extension Kit REST Object Type
    • Extension Kit Process Intelligence
  • Pricing
  • Resources
    • Learning
      • Insights
      • Extension Kit Academy
      • Newsletters
    • Technical
      • Documentation
      • Release notes
      • Download center
      • Free trial
    • Support
      • Community
      • Contact
  • Solutions
    • DOCUMENT ACTIONS

      • Work with barcodes, watermarks, and images
        Automatically add and read barcodes, or add or remove watermarks and images.
      • Encrypt and decrypt files
        Automatically encrypt and decrypt files in M-Files.
      • Work with electronic and digital signatures
        Automatically add signatures and digital certificates to your documents.
      • Gain more control over your PDF files
        Merge, split, convert, undo conversion, and revert to the original document.
      • Sync data between Excel or Word with M-Files
        Populate Excel and Word files or read data from documents to update/create objects in M-Files.
      • Perform advanced file export/import
        Import files from SFTP or file share and read associated metadata. Export files and metadata. Zip/unzip documents.
      • AI and ML classification and metadata extraction
        Use the power of AI and Machine Learning to automatically classify and extract important documents.

      OBJECT ACTIONS

      • Automate object creation and duplication
        Create and duplicate objects from templates and sync between vaults.
      • Validate objects and metadata
        Control object permissions and validate related objects and metadata.
      • Control object numbering and versioning
        Define any custom object versioning and numbering formats.

      INTEGRATIONS

      • Advanced SQL integration
        Set property values from SQL, call stored procedures, execute SQL functions, and more.
      • HTTP integrations
        Keep systems in synchronization using HTTPS and REST API.
      • Microsoft 365 and Microsoft Azure integration
        Use Azure or Microsoft 365 services to exchange data with M-Files.

      REPORTING AND ANALYTICS

      • Create reports from M-Files data
        Define the dataset and create scheduled or user-triggered reports in multiple formats.
      • Export M-Files data for process analysis
        Export M-Files data in event-based format to analyze processes.

      PROPERTY OPERATIONS

      • Automatically set property values
        Use prebuilt expressions like Math, Date, Regex, and other operations.
      • Copy and set property values
        Set properties on objects or copy from other based on different rules and triggers.
      • Count and math operations on related objects
        Enumerate related objects and apply math operations on properties.

      NOTIFICATIONS

      • Send emails to external parties
        Send branded emails to external parties based on predefined rules.
      • Send emails with attachments
        Define which documents you want to automatically attach to your emails.

      UI

      • Embed web pages in M-Files
        Display external reports and web pages directly in M-Files tabs.
  • Products
    • Extension Kit Core
    • Extension Kit Document AI
    • Extension Kit Cloud Connector
    • Extension Kit REST Object Type
    • Extension Kit Process Intelligence
  • Pricing
  • Resources
    • Learning
      • Insights
      • Extension Kit Academy
      • Newsletters
    • Technical
      • Documentation
      • Release notes
      • Download center
      • Community
    • Get started
      • Free trial
      • Demo Vault
    • Get in touch
      • Request a demo
      • Contact us
Get started free
Extension Kit for M-Files | Unitfly
  • Solutions
  • Products
    • Extension Kit Core
    • Extension Kit Document AI
    • Extension Kit Cloud Connector
    • Extension Kit REST Object Type
    • Extension Kit Process Intelligence
  • Pricing
  • Resources
    • Learning
      • Insights
      • Extension Kit Academy
      • Newsletters
    • Technical
      • Documentation
      • Release notes
      • Download center
      • Free trial
    • Support
      • Community
      • Contact
  • Solutions
    • DOCUMENT ACTIONS

      • Work with barcodes, watermarks, and images
        Automatically add and read barcodes, or add or remove watermarks and images.
      • Encrypt and decrypt files
        Automatically encrypt and decrypt files in M-Files.
      • Work with electronic and digital signatures
        Automatically add signatures and digital certificates to your documents.
      • Gain more control over your PDF files
        Merge, split, convert, undo conversion, and revert to the original document.
      • Sync data between Excel or Word with M-Files
        Populate Excel and Word files or read data from documents to update/create objects in M-Files.
      • Perform advanced file export/import
        Import files from SFTP or file share and read associated metadata. Export files and metadata. Zip/unzip documents.
      • AI and ML classification and metadata extraction
        Use the power of AI and Machine Learning to automatically classify and extract important documents.

      OBJECT ACTIONS

      • Automate object creation and duplication
        Create and duplicate objects from templates and sync between vaults.
      • Validate objects and metadata
        Control object permissions and validate related objects and metadata.
      • Control object numbering and versioning
        Define any custom object versioning and numbering formats.

      INTEGRATIONS

      • Advanced SQL integration
        Set property values from SQL, call stored procedures, execute SQL functions, and more.
      • HTTP integrations
        Keep systems in synchronization using HTTPS and REST API.
      • Microsoft 365 and Microsoft Azure integration
        Use Azure or Microsoft 365 services to exchange data with M-Files.

      REPORTING AND ANALYTICS

      • Create reports from M-Files data
        Define the dataset and create scheduled or user-triggered reports in multiple formats.
      • Export M-Files data for process analysis
        Export M-Files data in event-based format to analyze processes.

      PROPERTY OPERATIONS

      • Automatically set property values
        Use prebuilt expressions like Math, Date, Regex, and other operations.
      • Copy and set property values
        Set properties on objects or copy from other based on different rules and triggers.
      • Count and math operations on related objects
        Enumerate related objects and apply math operations on properties.

      NOTIFICATIONS

      • Send emails to external parties
        Send branded emails to external parties based on predefined rules.
      • Send emails with attachments
        Define which documents you want to automatically attach to your emails.

      UI

      • Embed web pages in M-Files
        Display external reports and web pages directly in M-Files tabs.
  • Products
    • Extension Kit Core
    • Extension Kit Document AI
    • Extension Kit Cloud Connector
    • Extension Kit REST Object Type
    • Extension Kit Process Intelligence
  • Pricing
  • Resources
    • Learning
      • Insights
      • Extension Kit Academy
      • Newsletters
    • Technical
      • Documentation
      • Release notes
      • Download center
      • Community
    • Get started
      • Free trial
      • Demo Vault
    • Get in touch
      • Request a demo
      • Contact us
Get started free
Other modules
  • Do more with M-Files

Extension Kit for M-Files | Documentation

Getting Started

  • About Extension Kit Core
  • User Interface
  • Installation
  • Groups and Modules

Essentials

  • How to Create Rules
  • Rule Execution
  • Common Features

Configurations

  • Orchestrator
    • About the Module
    • Configuration
    • Use Cases
  • Embedded Dashboards
    • Module Introduction
    • Configuration
  • Environments
    • Calendar
    • Mail server
  • Object Templates
    • About the Module
    • Configuration
    • Use Cases
  • Property Calculations
    • Module Introduction
    • Use Cases
    • Simple Rule Configuration
      • Triggering options
      • Calculation options
    • Advanced Rule Configuration
      • Advanced rule configuration
  • Property Operations
    • Module Introduction
    • Use Cases
    • Simple Rule Configuration
      • Trigger-related Options
      • Target-related Options
      • Property error handling behaviour and Act as user
    • Advanced Rule Configuration
      • Advanced Rule Configuration
  • Document Processing
    • Module Introduction
    • Use Cases
    • Simple Rule Configuration
      • Triggering options and State actions
      • Action: Convert to PDF, Undo PDF conversion or Convert to searchable PDF
      • Action: Add or Remove watermark
      • Action: Add or Remove signature
      • Action: Add digital signature
      • Action: Merge or Undo merge documents
      • Action: Restore original / Sync file names with object title
      • Action: Add or Read barcode
      • Action: Add, Replace or Remove file / Add blank page
      • Action: Split document
      • Action: Encrypt or Decrypt file
    • Advanced Rule Configuration
      • Advanced Rule Configuration
  • E-mail Notifications
    • Module Introduction
    • Use Cases
    • Extension Kit – O365 OAuth Setup Manual
    • Simple Rule Configuration
      • Triggering options
      • Mail server and email configuration
      • Delivery notification and Properties
    • Advanced Rule Configuration
      • Advanced rule configuration
  • Auto State Transition
    • About the Module
    • Configuration
    • Use Cases
  • Extended Assignments
    • About the Module
    • Configuration
    • Use Cases
  • Extended Auto Properties
    • About the Module
    • Configuration
    • Use Cases
  • Extended Permissions
    • Module Introduction
    • Use Cases
    • Simple Rule Configuration
      • Trigger-related Options
      • Permission Options
    • Advanced Rule Configuration
      • Advanced Rule Configuration
  • Auto Numbering Properties
    • About the Module
    • Configuration
    • Use Cases
  • Object Operations
    • Module Introduction
    • Use Cases
    • Simple Rule Configuration
      • Trigger-related Options
      • Action: Create objects
      • Action: Duplicate objects
      • Action: Delete objects
    • Advanced Rule Configuration
      • Advanced Rule Configuration
  • Property Builder
    • About the Module
    • Configuration
    • Use Cases
  • Validation
    • Module Introduction
    • Use Cases
    • Simple Rule Configuration
      • Triggering options
      • Property validation rules
    • Advanced Rule Configuration
      • Advanced rule configuration
      • Advanced Property validation rule configuration
  • SQL Integration
    • Module Introduction
    • Use Cases
    • Simple Rule Configuration
      • Triggering options and Execution mode
      • SQL settings: Query and Rollback query
      • Property setting options
      • SQL settings: Value from and Connection string
    • Advanced rule configuration
      • Advanced rule configuration
  • HTTP Integration
    • About the Module
    • Configuration
    • Use Cases
  • Excel Reader
    • About the Module
    • Use Cases
    • Configuration
  • Excel Writer
    • About the Module
    • Configuration
  • Word Reader
    • About the Module
    • Configuration
  • Word Writer
    • About the Module
    • Configuration
  • Extension Methods
    • About the Module
    • Use Cases
    • Configuration
  • Versioning
    • About the Module
    • Configuration
    • Use Cases
  • Reporting
    • About the Module
    • Configuration
    • Use Cases
    • Extension Kit – O365 OAuth Setup Manual
  • Data Transfer
    • Configuration
    • Use Cases
  • Vault to Vault
    • About the Module
    • Configuration
    • Use Cases
  • Logging
    • Logging
    • Targets
    • Logging: Best practices
    • Sending logs to support
  • Archiving
    • Module Introduction
    • Simple Rule Configuration
      • Triggering options
      • Action type: Compress
      • Action type: Decompress
    • Advanced Rule Configuration
      • Advanced Rule Configuration

Resources

  • Roadmap
  • Release Notes
  • Extension Kit Academy
  • Community and Support
  • FAQs
  • Expert tips
    • General features
    • Integrations
    • Property operations
    • Object operations
    • Content operations
    • Other modules
View Categories
  • Home
  • Documentation
  • Extension Kit Core
  • Resources
  • Expert tips
  • Other modules

Other modules

Welcome to Expert Tips — a growing collection of practical, real-world tips to help you get the most out of Extension Kit Core.

This page focuses on the following modules: E-mail Notifications, Reporting, Environments, Orchestrator, Embedded Dashboards, Extension Methods, Auto State Transition, plus Logging.

Use the table of contents to jump to any tip and find practical guidance, examples, and visuals to support your implementation.

To get a new expert tip delivered to your inbox every week, subscribe to the Tip of the Week newsletter here.


Table Of Contents

  • HTML formatting and attachments in email notifications
  • Automatically send documents as email attachments
  • Understanding rule execution in the Reporting module
  • Reduce repetitive configuration with Environments
  • How to embed web pages in M-Files
  • How to orchestrate rules in Extension Kit Core
  • Why and how to use the Orchestrator module
  • Best practices for efficient Logging in Extension Kit Core

E-mail Notifications

HTML formatting and attachments in email notifications #

Want your M-Files email notifications to look clean, professional, and visually appealing (think branded headers, styled sections, or CTA buttons)?

With the Email Notifications module in Extension Kit Core, you can send emails that not only reflect your brand using custom HTML but also include attachments directly from M-Files.

Why use this module?

The Email Notifications module gives you the flexibility to design emails that match your communication style:

  • Create rich, styled layouts using custom HTML
  • Attach documents or files from M-Files objects
  • Trigger notifications based on any event or condition

Example configuration

Let’s say you want to send a notification when an object enters a specific state. The email should:

  • Match your brand style
  • Include a document attachment
  • Feature a call-to-action button

Here’s how you can configure it (Picture 1):

Picture 1: The example configuration in Email Notifications.

And here’s what the final email looks like — clean, styled, and effective (Picture 2):

Picture 2: Branded and styled email notification from M-Files.

You can still send plain-text notifications if you prefer. But if you’re aiming for a branded or more complex layout, HTML gives you full creative control.


E-mail Notifications

Automatically send documents as email attachments #

With Extension Kit Core, you can easily set up rules to automatically send selected documents from M-Files via email, exactly when you need and to the right recipients. A smart way to save time and make sure the right files reach the right people.

Use case

A simple example: when a project moves to the Approved state, the project manager (PM) automatically receives all related documentation via email.

Configuration

All project documentation is attached to the Project OT, containing both PDF and DOCX files (Picture 1).

Picture 1: Project documentation contains both PDF and DOCX files.

The rule is configured to select only PDF files and send them to the PM (Picture 2), using the

*.pdf filename wildcard.

Picture 2: Configuration in the E-mail Notifications module.

Result

The PM receives an email with only the project’s PDF files attached (Picture 3).

Picture 3: The email with only PDF files attached.


Reporting

Understanding rule execution in the Reporting module #

In the Reporting module, it’s important to note a key behavior when using certain trigger types combined with a specific export destination.

Prevented rule execution

In the Reporting module’s rule configuration, if the Trigger type is set to ObjectChanged or ObjectMetadataChanged and the Export destination is Vault, the rule will not be executed. This occurs because adding a report to the source object is detected as an object change, which would normally re-trigger the rule, potentially causing a loop. To prevent the looping, the system will not execute the rule. This event will be persisted in the log and noted in the validation messages within the configuration.

How to resolve the issue

If your rule is not executing as expected due to this configuration, there are two main solutions:

  1. Change the Trigger Type: Modify the trigger type to something other than ObjectChanged or ObjectMetadataChanged.
  2. Use Monitored Properties: Add a specific property to Monitored properties, ensuring that the rule executes only when the specified property changes on the source object.

Environments

Reduce repetitive configuration with Environments #

In Extension Kit Core, the Environments option is designed to help reduce repetitive configuration by allowing you to define common settings once and use them across multiple rules.

Example

Currently, Environments are available for Calendar settings. You can define non-working days in your Calendar environment (Picture 1) and then apply it to any Extended Auto Properties rule that uses calendar data (Picture 2).

Picture 1: Example of Calendar environment configuration.
Picture 2: Using Environments as a Calendar setting source in Extended Auto Properties.

Instead of manually defining non-working days for each rule, you can simply reference the environment, saving time and reducing errors.


Embedded Dashboards

How to embed web pages in M-Files #

Tired of switching between browser tabs to check a dashboard or an external tool while working in M-Files? With the Embedded Dashboards module in Extension Kit Core, you can bring external content — like reports, dashboards, or websites — directly into M-Files.

Display external content in M-Files

Depending on your use case, you can choose between two ways to display external content:

  • Persistent dashboards These appear in a dedicated tab for all users, regardless of the object they’re viewing. Perfect for company-wide tools, such as reporting dashboards or help guides.
  • Floating dashboards These appear conditionally, based on object properties. Ideal when you want to show content related to the currently selected object. Let’s say a manufacturing company maintains a product catalog on its website. You could store each product’s URL in a property and configure a floating dashboard that displays the matching product page when that object is selected in M-Files.

Example: Displaying dynamic dashboards

Here’s an example of configuring floating dashboards using national parks (Picture 1).

Each national park object in M-Files has a property with a link to its official webpage. A rule in the Embedded Dashboards module is configured to show a webpage in the Website tab based on the selected park.

Picture 1

The result

The user sees external content (like a public webpage) seamlessly displayed within M-Files (Pictures 2 and 3):

Picture 2
Picture 3

Technical notes

  • Works only in the new M-Files Web and new M-Files Desktop clients.
  • Some websites (e.g., Google Maps, YouTube) may restrict embedding due to browser security policies.

This feature helps you centralize external tools, reduce context switching, and keep key resources directly in the M-Files interface.


Orchestrator

How to orchestrate rules in Extension Kit Core #

The Orchestrator module enables you to coordinate and manage the execution of rules in Extension Kit Core. However, linking rules to the Orchestrator requires defining an alias. Follow these steps to set it up correctly:

  1. Enable Advanced configuration mode for the rule you want to orchestrate. Otherwise, the alias field won’t be available.
  2. Enter the alias and save your changes – After defining the alias, click Save. (Picture 1)

Picture 1: Define the Alias in the rule you want to orchestrate.

3. Refresh the configuration (Picture 2) – This step is essential for the alias to appear in the Orchestrator. Without refreshing, the newly created alias won’t be visible in the Orchestrator’s dropdown menu.

    Picture 2: To refresh the configuration, right-click on Configurations in the vault and select Refresh.

    Once you’ve saved the changes and refreshed the configuration, the alias will become available in the Orchestrator, allowing you to orchestrate the rule as needed. (Picture 3)

    Picture 3: After saving and refreshing the configuration, you’ll find the alias in the Orchestrator rule.


    Orchestrator

    Why and how to use the Orchestrator module #

    The Orchestrator module allows you to coordinate multiple rules in Extension Kit, giving you more control over how and when rules are executed. With Orchestrator, you can:

    • Chain multiple rules and define the execution order. You can set rules to run sequentially or simultaneously, ensuring they happen in the correct order or at the same time.
    • Define specific conditions for rule execution. For example, you can trigger rules based on rule success or failure, such as “execute this rule only if another rule succeeds” or “trigger this rule if a previous one fails.”

    Rules can be orchestrated within the same module or across different modules. To orchestrate a rule:

    1. Set a Trigger type to Orchestrated within the rule configuration of a desired module.
    2. Create a rule within the Orchestrator module.
    3. Within Orchestrator, choose the module and the rule to be orchestrated and configure the additional conditions.

    The example below shows the configuration of the rule Offer – Set discount and total amount based on offer type within the Orchestrator module. The rule is set with one orchestration condition, with separate configurations for rule execution depending on whether the condition is met or not.

    Example of orchestrated rule configuration within Orchestrator


    Logging

    Best practices for efficient Logging in Extension Kit Core #

    Effective logging is essential for maintaining a well-optimized and easily manageable system. Here are some best practices to ensure your logs are structured, accessible, and optimized for performance:

    Separate Logs by Vault

    Store logs for each vault in a dedicated folder to simplify locating relevant information when troubleshooting or analyzing activities.

    Use the Appropriate Logging Level

    For normal system operation, it’s best to use the Info logging level for a balance of detail and performance.

    Customize File Log Format

    Define a clear and consistent log format for easier readability and analysis. In the Advanced Settings of the File Targets configuration, you can customize log formatting. If you want to maintain the formatting of previous log structures (pre-v5.0.0), we recommend using the following custom Log Message Format:

    ruby Copy code ${longdate} [${level:uppercase=true:padding=3}] ${logger} [Task: ${mdlc:TaskID}] [${mdlc:ModuleName}] ${mdlc:Vault} ${mdc:Rules} ${message}${onexception:${newline}${exception:format=ToString:innerformat=ToString:separator=\\r\\n}} 

    For more details, refer to this page: Version 5.0.0 of Extension Kit for M-Files released! – Announcements – Unitfly Community.

    Set a Log Retention Period

    Define the retention period for logs based on the specific needs of each vault. This helps manage storage while retaining essential data for audits or debugging.

    Define Maximum File Size

    It’s crucial to set a maximum file size to ensure logs remain accessible and can be easily opened and reviewed, especially if you use a one-file-per-day configuration.

      By following these best practices, you can streamline log management, improve performance, and ensure your system runs smoothly.


      Updated on October 24, 2025
      On This Page
      • HTML formatting and attachments in email notifications
      • Automatically send documents as email attachments
      • Understanding rule execution in the Reporting module
      • Reduce repetitive configuration with Environments
      • How to embed web pages in M-Files
      • How to orchestrate rules in Extension Kit Core
      • Why and how to use the Orchestrator module
      • Best practices for efficient Logging in Extension Kit Core
      Extension Kit for M-Files | Unitfly
      Extension Kit for M-Files | Unitfly
      • Solutions

      Products

      • Extension Kit Core
      • Extension Kit Document AI
      • Extension Kit REST Object Type
      • Extension Kit Cloud Connector
      • Extension Kit Process Intelligence

      Resources

      • Documentation
      • Insights
      • Extension Kit Academy
      • Release notes
      • Join the community
      • Contact support

      Get started

      • Pricing
      • Free trial
      • Contact us
      • Download center
      Get updates and tips on Unitfly products!
      Products Newsletter
      Extension Kit Tip of the Week
      Auclio Newsletter
      • Privacy & Cookie policy

      © 2025 Unitfly

      zicer logo negative
      hamag bicro logo