Unitfly Toolkit for M-Files logo color

Send custom notifications based on business rules inside M-Files. M-Files Notifications allow users to send notifications when property has changed or when an object entered workflow state, send notifications when someone has commented object, and much more.

Configuration #

After you have successfully installed the application, you can start adding calculation rules.

  1. Open M-Files Admin
  2. In the left-side tree view, expand the desired connection to M-Files Server.
  3. In the left-side tree view, expand the Document Vaults node.
  4. Still, in the left-side tree view, expand the vault where you installed the connector and select Configurations.
  5. Expand Other Applications
  6. Expand Extension Kit
  7. Click on Notifications.

Field description #

FieldValueDescription
EnabledYes/NoSpecifies whether the module is in use.
Configuration modeSimple/AdvancedDisplay basic or advanced options for module.
Mail server
SMTP serverTextServer from which e-mail will be sent.
SMTP server portIntegerPort on given server.
Transport SecurityOne of the following:
Auto
SSL
TLS
None
Specifies security protocol that will be used in transport.
UsernameTextUsername of e-mail account.
PasswordTextPassword for that account.
Local domainTextSpecifies the local domain.
Sender’s e-mail addressTextEmail address from which e-mail will be sent.
Rule groups > Group [n]
NameTextCustom rule name.
DescriptionTextOptional rule description.
EnabledYes/NoSpecifies whether the rule is in use.
Configuration modeSimple/AdvancedDisplay simple or advanced configuration for rule.
Notification typeOne of the following:
EventTriggered
Digest
Type of notification: send on event or send periodical digest.
Email send typeOne of the following:
SingleEmail
SeparateEmails
Displayed only if [Advanced] is selected as Configuration mode.
SingleEmail. If this option is selected, rule will send one combined email.
SeparateEmails. If this option is selected, rule will send one email to each email specified in ‘To’ section of configuration (and separate to everyone who edited the object if this flag is true). Note: All emails will have same cc, bcc, subject and body.
Notify everyone who edited objectYes/NoDisplayed only if [Advanced] is selected as Configuration mode.
If this is set to Yes, all users who edited the object will be added as recipients of e-mail.
Search Timeout (seconds)IntegerDisplayed only if [Advanced] is selected as Configuration mode.
This timeout is applied to any search that is executed inside operation.
Delivery notificationsYes/NoRequest delivery notifications from server for sent e-mails. Currently, if this is set to yes it will add an .eml file on source object.
Business criticalYes/NoIf set to true, rule will be logged in SEQ.
Rule group> Group > Rules > Rule [n] > EventTriggered
TriggerOne of the following:
ObjectCreated
ObjectChanged
ObjectEnteredState
OnComment
Scheduled
RunOnce
Type of event that triggers the execution of this rule. ObjectCreated. If this option is selected, rule will be executed when source object is created.
ObjectChanged. If this option is selected, rule will be executed when source object is changed. ObjectEnteredState. If this option is selected, rule will be executed when source object has entered a new state. OnComment. If this option is selected, rule will be executed when new comment is written to source object.
Rule group> Group > Rules > Rule [n] > Digest> Digest Setting
FrequencyOne of the following:
Once
Daily
Monthly
Weekly
Yearly
A periodical digest is meant to check if the specified property is changed in periodic time (hourly, daily, weekly, etc.) and send emails. For digest check, user need to specify which properties are used for tracking in the Monitored properties field.
Rule group> Group > Rules > Rule [n] > Trigger Source
Object TypeObject TypeObject type of source object.
ClassClassClass of source object.
WorkflowWorkflowWorkflow of source object.
StateStateWorkflow state of source object.
NOTE! If you have entered a state, you must also enter the workflow above.
Search filtersList of search filtersList of search filters, any of which the source
object needs to satisfy.
Look inOne of the following:
Latest obj version
All obj versions
When trying to matching source conditions, look in all object versions, or only the latest one.
Latest obj version. If this option is selected, the current object version must match the specified conditions for object to be treated as source for this rule.
All obj versions. If this option is selected, any object version must match the specified conditions for object to be treated as source for this rule.
Rule group> Group > Rules > Rule [n] > Source object > Search filters > Filter [n]
SearchConditionsSearch conditionsOptional additional conditions that source object needs to satisfy.
Conditions inside a single filter are combined with AND, while multiple filters are combined with OR operator.
Rule group> Group > Rules > Rule [n] > Monitored properties > Property definition [n]
Property definitionProperty definitionDisplayed only when Trigger is ObjectChanged.
Rule will be triggered only if any of specified properties has changed. If no property is specified rule will be triggered on any object change.
Rule group> Group > Rules > Rule [n] > Email > To [n] > Recipient [n]
Recipient typeOne of the following:
UserGroup
Dynamic
User. Email will be sent to user’s e-mail address as defined in M-Files admin.
Group. Email will be sent to all group members’ e-mail addresses as defined in M-Files admin.
Dynamic. Email will be sent to dynamically resolved e-mail address.
UserUserDisplayed only when Recipient type is User.
GroupUser GroupDisplayed only when Recipient type is Group.
ValueText with placeholdersDisplayed only when Recipient type is Dynamic.
Can be static e-mail address, or property on expression on source object that will resolve to an e-mail address, user, or user group.
Rule group> Group > Rules > Rule [n] > Email > CC [n]
Recipient typeOne of the following:
UserGroup
Dynamic
User. User’s email address as defined in M-Files admin will be added to CC.
Group. All group members’ email addresses as defined in M-Files admin will be added to CC.
Dynamic. Dynamically resolved email address will be added to CC.
UserUserDisplayed only when Recipient type is User.
GroupUser groupDisplayed only when Recipient type is Group.
ValueText with placeholdersDisplayed only when Recipient type is Dynamic.
Can be static email address, or property on expression on source object that will resolve to an e-mail address, user, or user group.
Rule group> Group > Rules > Rule [n] > Email > BCC [n]
Recipient typeOne of the following:
UserGroup
Dynamic
User. User’s email address as defined in M-Files admin will be added to BCC.
Group. All group members’ email addresses as defined in M-Files admin will be added to BCC.
Dynamic. Dynamically resolved email address will be added to BCC.
UserUserDisplayed only when Recipient type is User.
GroupUser groupDisplayed only when Recipient type is Group
ValueText with placeholdersDisplayed only when Recipient type is Dynamic
Can be static email address, or property on expression on source object that will resolve to an email address, user, or user group.
SubjectText with placeholdersSubject of the email that will be sent.
BodyText with placeholdersBody of the email that will be sent.
BodyTypeOne of the following:
PlainText
HTML
Type of body type of the email that will be sent. PlainText. If this option is selected, email body will be sent as plain text.
HTML. If this option is selected, email body will be sent as HTML.
Rule group> Group > Rules > Rule [n] > Email > Attachments [n]
ModeOne of the following:
CustomObjectS
ourceObject
Reference
Object selection mode.
CustomObject. Select any custom object from vault.
SourceObject. Select current source object.
Reference. Select any reference of the source object.
Filename wildcardTextFilename wildcard used to select file from
object.
Reference expressionReferenceDisplayed only if [Reference] is selected as a mode. Property reference expression.
Rule group> Group > Rules > Rule [n] > Email > Attachments [n]> Custom object
Search ConditionsConditionsOptional list of conditions that must be satisfied for finding custom object.
Rule group> Group > Rules > Rule [n] > Vault search > Search [n]
ConditionsProperty definitionOptional list of conditions that must be satisfied in vault in order for this rule to be executed.
Search result typeOne of the following:
Any
None
Any. If this option is selected, the vault search will be considered satisfied if at least one matching object is found in vault.
None. If this option is selected, the vault search will be considered satisfied if no matching objects are found in vault.
Rule group> Group > Rules > Rule [n] > Vault search > Search [n] > Conditions > Property condition [n]
PropertyProperty definitionSpecifies the property whose value will be checked.
OperatorOne of the following:
=
=!
<
>
<=
>=
Contains
Does not contain
Starts with
Does not start with
Operator to use for comparing actual and expected property value.
ValueProperty valueProperty value to compare actual value against.
Rule group> Group > Rules > Rule [n] > Vault search > Search [n] > Conditions > Property condition [n] > Value
ModeOne of the following:
Dynamic value
Static value
Empty value
No action
Dynamic value. If this option is selected, comparison value will be created dynamically from source properties.
Static value. If this option is selected, comparison value will be created statically i.e. constant value.
Empty value. If this option is selected, comparison value will be empty.
No action. If this option is selected, no action will be performed. This is invalid state.
Dynamic valuePlaceholder editorDisplayed only if Dynamic value is selected as a mode.
Specifies search comparison value using properties from source object.
Static valueTextDisplayed only if Static value is selected as a mode.
Specifies constant search comparison value.
Advanced settings
Retry interval (milliseconds)IntegerRetry time interval for failed actions
Number of retriesIntegerMaximum numbers of times COM errors are retried.
Time to wait (milliseconds)IntegerNumber of milliseconds to wait before executing any rule in background.
Periodic check frequency (minute)IntegerTime in which program will periodically check digest rules.

Use Case #

Send notification that Deal end date has been changed #

Customer is using M-Files to control deals with other partners about business licenses renewals. When contract is near expiring, their legal team is notified three months before, so that can start working on a new condition for next year lease. They are notified by Notification rule and then when they negotiate new terms and sign new contract, Deal is extended. When Deal is extended, their management is notified by Notification with all necessary details.

Configuration #

Every contract has Responsible person who is notified when contract is expiring, and every Deal have Responsible person who is notified when End Date is changed, Picture 1.

Structure of M-Files objects for Contracts
Picture 1. M-Files simplified structure

Customer is monitoring Expiring (days) property, and action is triggered when expiring is equal to 90 days.

configuration of M-Files Notifications
Picture 2. Configuration – Source and trigger

When specific object is changed, rule will be triggered and we will send notification to a responsible person, or Person.Login, where Login is list of M-Files login accounts, Picture 3.

configuration of M-Files Notifications
Picture 3. Configuration – E-mail
configuration of M-Files Notifications
Picture 4. Configuration – Deal End Date has changed

Sending attachment with email #

Customer wants to send only PDF document in attachment when Project entered state Approved.

Configuration #

configuration of M-Files Notifications

Result

automatic  email notification based on trigger in M-Files

Send notification when training schedule has been changed #

Customer is using M-Files for a training management. When training schedule is changed, all other participants are notified that schedule has changed.

Send notification when customer is having a birthday #

Customer is using M-Files as a CRM. They KAMs are notified when their customer is having a birthday.

Your one-stop hub for Unitfly Toolkit for M-Files!

Unitfly Toolkit Community is live!

News and updates on our products • Frequently asked questions • Support page