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 Core Expert Tips
      • Extension Kit Academy
      • Newsletters
    • Technical
      • Documentation
      • Release notes
      • Download center
      • Community
    • Get started
      • Free trial
      • Demo Vault
    • Get in touch
      • Professional services
      • Become a reseller
      • Request a demo
      • Contact us
  • 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.
      • No-code app builder
        Create custom business applications without coding
  • Products
    • Extension Kit Core
    • Extension Kit Document AI
    • Extension Kit Cloud Connector
    • Extension Kit REST Object Type
    • Extension Kit Process Intelligence
    • Auclio ↗
  • Pricing
  • Become a reseller
  • Resources
    • Learning
      • Insights
      • Expert tips
      • Extension Kit Academy
      • Newsletters
    • Technical
      • Documentation
      • Release notes
      • Download center
      • Community
    • Get started
      • Free trial
      • Demo Vault
    • Get in touch
      • Professional services
      • Become a reseller
      • 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 Core Expert Tips
      • Extension Kit Academy
      • Newsletters
    • Technical
      • Documentation
      • Release notes
      • Download center
      • Community
    • Get started
      • Free trial
      • Demo Vault
    • Get in touch
      • Professional services
      • Become a reseller
      • Request a demo
      • Contact us
  • 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.
      • No-code app builder
        Create custom business applications without coding
  • Products
    • Extension Kit Core
    • Extension Kit Document AI
    • Extension Kit Cloud Connector
    • Extension Kit REST Object Type
    • Extension Kit Process Intelligence
    • Auclio ↗
  • Pricing
  • Become a reseller
  • Resources
    • Learning
      • Insights
      • Expert tips
      • Extension Kit Academy
      • Newsletters
    • Technical
      • Documentation
      • Release notes
      • Download center
      • Community
    • Get started
      • Free trial
      • Demo Vault
    • Get in touch
      • Professional services
      • Become a reseller
      • Request a demo
      • Contact us
Get started free
Property operations
  • 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
  • Property operations

Property operations

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

This page focuses on the Property Operations module group, which includes the following modules: Property Operations, Property Calculations, Extended Auto Properties, Auto Numbering Properties, Property Builder.

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


Skip non-working days or holidays when calculating with date properties

Skip non-working days or holidays when calculating with date properties #

In Extension Kit Core, you can calculate the difference between two dates while excluding non-working days. This feature is useful for scenarios like calculating how many working days you spent on vacation.

How does it work?

Let’s say you create a Vacation object in M-Files, and you need to fill in properties for the start and end dates of your vacation. We’ll call these “Start Date” and “End Date.” You also want a “Working Days” property, showing the number of working days spent on vacation.

This functionality can be achieved using the Extended Auto Properties module.

Example configuration

The key part of the configuration is the expression that calculates the number of days between the two dates:

<<DATEDIFF('%PROPERTY_{PD.StartDate}%','%PROPERTY_{PD.EndDate}%','DAYS')>>

However, for the calculation to exclude non-working days, you need to enable the Use calendar in Date functions option. This will allow you to define the calendar that includes days to be excluded from the calculation.

  1. Skip weekends: First, specify that weekends should be excluded. Set Weekly occurrence of Sundays and Saturdays as non-working days.
  2. Add holidays: Next, you can set up the calendar to include holidays. If you want all holidays to be skipped, enable the Use all holidays option. If you prefer to skip only specific holidays, disable this option and manually select the holidays to exclude.

This setup ensures that the “Working Days” property accurately reflects the number of working days during the vacation, excluding weekends and holidays.


Instantly update values with Recalculate properties

Instantly update values with Recalculate properties #

The Extended Auto Properties, Auto Numbering Properties, and Property Builder modules in Extension Kit Core don’t rely on triggers like state changes or user actions. Rules in these modules run automatically when a used property changes, and can be orchestrated if needed.

But what if you update the logic in your rule and want that change to apply to existing objects?

That’s where the Recalculate properties option on the Dashboard comes in.

When and how to use Recalculate properties

Let’s say you’re using Extended Auto Properties to generate the name of an invoice in this format: Supplier – Year – Invoice ID (Picture 1). The rule creates a name like Supplier_2025_12345.

Picture 1: Original rule configuration.

But later, the client asks to modify the naming convention to include the month, so you update the rule with this format: Supplier – Month/Year – Invoice ID (Picture 2).

Picture 2: Updated rule configuration.

Now, to apply this change to all existing invoices that were named using the old format, go to the Dashboard and click Recalculate properties (Picture 3). All matching documents will be renamed according to the updated rule.

Picture 3: Click Recalculate properties to apply updated rule logic to all matching objects.

A few things to keep in mind

  • The Recalculate properties setting in the rule configuration Within the rule configuration, the Recalculate Properties option is enabled by default (Picture 4), meaning property values will be updated when you click Recalculate properties on the Dashboard. If you set it to No, the values won’t be recalculated even if you click the button.
  • Stop conditions You can also define Stop conditions to prevent rule execution once certain criteria are met. For example, you may not want the invoice name to change once the invoice is archived. In this case, setting a condition like State = Archive ensures the rule will not run and the values will not be recalculated for those objects (Picture 4).
Picture 4: Example of a stop condition for archived invoices.

Recalculate properties is a quick and reliable way to apply rule changes across your vault, without relying on triggers or manual edits. It keeps your data aligned with your latest configuration in just a few clicks.


How to build error-free nested expressions

How to build error-free nested expressions #

Expressions in the Extended Auto Properties module of Extension Kit Core can range from very simple to complex, especially when combining functions.

This tip shows you how to build expressions step by step and avoid the most common mistakes.

Simple expressions: one value, one function

Expressions based on a single property are straightforward and don’t require quotation marks. Just wrap the property in curly braces.

In Picture 1, the MONTH expression extracts the month from the Start Date property. For example, if Start Date = 1.7.2025, the result is 7.

Picture 1

Expressions with multiple values or properties

When using functions with multiple variables (like DATEADD), make sure to wrap each variable in single quotes, whether it’s a fixed value or a property reference.

In Picture 2, the DATEADD expression calculates a new date by adding 7 days to the Start Date. For example, if Start Date = 1.7.2025, the result is 8.7.2025.

Nested expressions: Build them step by step

When using expressions within expressions — especially with conditional logic — it’s easy to miss a quote or bracket. One small typo can cause the entire expression to fail.

Let’s say:

If the invoice amount is over €10,000, set the payment due in 60 days. Otherwise, set it in 30 days.

To create this, follow a structured approach:

  1. Start with the Ternary expression parser: <<'text' operator 'text' ? 'text' : 'text'>>
  2. Insert the DATEADD expressions. To make sure quotes are in place, carefully select the word “text” and replace it with the new expression: <<'text' operator 'text' ? '<<DATEADD('date','value','units')>>' : '<<DATEADD('date','value','units')>>'>>
  3. Insert actual values and properties, keeping the quotes: <<'{Amount Due}' < '10000' ? '<<DATEADD('{Start Date}','30','DAYS')>>' : '<<DATEADD('{Start Date}','60','DAYS')>>'>>

Bonus tip: Use the Expression Parsers section

The Expression parsers section in the Extended Auto Properties module contains all available parsers and their syntax (Picture 3). Use it as a reference to copy expressions until you’re familiar with them.

Picture 3

Nesting expressions in Extended Auto Properties

Nesting expressions in Extended Auto Properties #

We’re diving into a useful feature within the Extended Auto Properties module: nesting expressions. Nesting expressions allows you to simplify processes by reducing the need for additional properties, rules, or actions, making your configurations cleaner and more efficient.

Scenario

Consider a customer who needs to create a Case object with a name that combines the Address and City fields. The challenge arises when the external system receiving the Case object has a name field limited to 50 characters. Often, the concatenated string exceeds this limit, requiring you to extract the first 50 characters from the combined Address and City.

Solution

Instead of creating multiple properties or rules, you can achieve the desired outcome in a single step by nesting expressions within the Extended Auto Properties module.

For example, let’s say you have the following fields:

  • Address: 123 Main St
  • City: Springfield

You need to create a property that combines these fields but ensures the final result does not exceed 50 characters. Here’s how to do it:

  1. In the Extended Auto Properties module, configure a rule to fill the Name or title property on the class Case with concatenated Address and City fields, truncated to the first 50 characters.
  2. Enter the following expression as the property value: <<REGEX('<<CONCATENATE('{Address}','{City}')>>', '^.{0,50}', '0')>>

And here’s how this configuration looks like in Extension Kit Core (Picture 1):

Picture 1

Using Expression Type in Extended Auto Properties

Using Expression Type in Extended Auto Properties #

When configuring property values using the Extended Auto Properties module, you can make use both of any of our parser expressions and regular M-Files expressions.

When doing that, adjust the Expression Type setting to further control expression capabilities and optimize expression expansion performance.

You can find the Expression Type setting under Advanced Settings when a rule is configured in the advanced configuration mode. Each option offers specific benefits depending on your expression needs. Here are the options:

  • Complex: Choose this option if your expression uses advanced placeholder editor functionality, such as transitive referencing, properties from the object’s history, or keywords other than ObjID and ObjVer.
  • Simple: This option improves performance when your expression involves only top-level properties and uses keywords like ObjID or ObjVer.
  • None: Use this option to improve performance further when the expression contains only static values and no properties or placeholders.

Updated on November 7, 2025
On This Page
  • Skip non-working days or holidays when calculating with date properties
  • Instantly update values with Recalculate properties
  • How to build error-free nested expressions
  • Nesting expressions in Extended Auto Properties
  • Using Expression Type in Extended Auto Properties
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