Unitfly Customer Portal

HTTP Integration

Connect M-Files with other systems via API without coding. Make HTTP calls to third-party services based on triggers in the M-Files (object created, changed, left state, entered state, deleted, etc.) or based on a predefined schedule.

Configuration

After you have successfully installed the application, you should configure HTTP Integration. Open M-Files Admin

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

Field Description

FieldValueDescription
EnabledYes/NoSpecifies whether the module is in use.
Configuration modeSimple/AdvancedDisplay simple or advanced configuration options for module.
Rule groups [n] > Group [n]
NameTextSpecifies the name of the rule group.
Rule groups [n] > Group [n] > Rules [n] > Rule [n]
NameTextSpecifies the name of the rule.
DescriptionTextSpecifies rule description.
EnabledYes/NoSpecifies whether the rule is in use.
Configuration modeSimple/AdvancedDisplay simple or advanced configuration options for rule.
Trigger typeOne of the following:
• ObjectCreated
• ObjectChanged
• ObjectChangedSrare
• ObjectEnteredState
• OnComment
• Scheduled
• RunOnce
• OnDeleted
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.
ObjectChangedState. If this option is selected, rule will be executed when source object has changed state.
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.
OnDeleted. If this option is selected rule will be executed when source objet is deleted.
Error handling behaviourOne of the following:
Continue
SuspedTransaction
Defines how errors in event handlers are handled:
Continue: log errors and continue execution.
Suspend transaction: rollback transaction and show error message.
Rule groups [n] > Group [n] > Rules [n] > Rule [n] > Monitored properties [n] > Property definition [n]
Property definitionProperty definitionDisplayed only when Trigger type is ObjectChanged. Optional filter by properties on source object whose change triggers rule execution.
Business criticalYes/NoIf set to true, rule will be logged in SEQ.
Rule groups [n] > Group [n] > Rules [n] > Rule [n] > Trigger source
Object TypeObject TypeObject type of source object.
ClassClassClass of source object.
WorkflowWorkflowWorkflow of source object
StateStateWorkflow state of source object.
Rule groups [n] > Group [n] > Rules [n] > Rule [n] > Trigger source > Search filters [n] > Filter [n]
SearchConditionsSearch conditionOptional 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 groups [n] > Group [n] > Rules [n] > Rule [n] > Trigger source > Look in
Look inOne of the following:
• LatestObjVersion
• AllObjVersions
When trying to match the above 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 groups [n] > Group [n] > Rules [n] > Rule [n] > Vault search [n] > Status field condition
FieldOne of the following:
• ID
• Type
• Version
Specifies which type of field will be used in vault search.
OperatorOne of the following:
• =
• !=
• <
• >
• <=
• >=
Operator to apply in comparison of actual and expected property value.
ValueIntegerExpected property value.
Rule groups [n] > Group [n] > Rules [n] > Rule [n] > Vault search [n] > 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
Specifies the property whose value will be
checked.
Rule groups [n] > Group [n] > Rules [n] > Rule [n]> Search timeout (sec)
Search timeoutIntegerSearch timeout in seconds. This timeout is applied to any search that’s executed inside operation.
Rule groups [n] > Group [n] > Rules [n] > Rule [n] > Vault search
Search result typeOne of the following:
• Any
• None
Displayed only if Advanced is selected as configuration mode] Expected search result type.
Rule groups [n] > Group [n] > Rules [n] > Rule [n] > HTTP settings
ModeSimple/AdvancedDisplay simple or advanced configuration options for HTTP.
URLURLURL to invoke.
MethodOne of the following:
• GET
• POST
• PUT
• DELETE
HTTP method to invoke.
GET method is used to read information from server using given URL.
PUT method is used to update an existing resource.
POST is used to create subordinate resources.
DELETE method is used to delete a resource specified by its URL.
Rule groups [n] > Group [n] > Rules [n] > Rule [n] > Vault search sort
Sort byProperty definitionDisplayed only if Advanced is selected as configuration module.
Sort search results by property.
Sort directionOne of the following:
• Ascending
• Descending
Displayed only if Advanced is selected as configuration module.
Specifies in which direction results can be shown.
Rule groups [n] > Group [n] > Rules [n] > Rule [n] > HTTP settings >Query parameters [n] > Query parameter [n]
Name TextSpecifies parameter name.
Value type One of the following:
• Expression
• Property
Controls how value is specified. Use Expression Value type to specify either static values or dynamic property expressions. Use Property Value type to specify either name or ID of lookup-based property value.
Value ValueDisplay when Expression is Value type.
Parameter value expression.
Hide missing valuesYes/NoDisplay when Expression is Value type.
Hide missing values in dynamic property value expansion.
Rule groups [n] > Group [n] > Rules [n] > Rule [n] > HTTP settings >Query parameters [n] > Query parameter [n] > Value
PropertyProperty definitionProperty value to use in Query parameter.
AttributeOne of the following:
• ID
• Name
Use ID or name of referenced property value.
Rule groups [n] > Group [n] > Rules [n] > Rule [n] > HTTP settings > Headers [n] > Header
NameTextHTTP header name.
Value typeOne of the following:
• Expression
• Property
Controls how value is specified. Use of Expression Value type to specify either static values or dynamic property expressions. Use Property Value type to specify either name or ID of lookup-based property value.
ValueValueDisplay when Expression is Value type.
Parameter value expression.
Hide missing valuesYes/NoDisplay when Expression is Value type.
Hide missing values in dynamic property value expansion.
Rule groups [n] > Group [n] > Rules [n] > Rule [n] > HTTP settings > Headers [n] > HTTP header [n] > Value
PropertyProperty definitionDisplay only if Property is selected as Value type. Property value to use in Query parameter.
AttributeOne of the following:
• ID
• Name
Display only if Property is selected as Value type. Use ID or name of referenced property value.
Rule groups [n] > Group [n] > Rules [n] > Rule [n] > HTTP settings
Body typeOne of the following:
• None
• FormUrlEncoded
• Json
• Raw
Body type possibilities.
Json bodyJson Displayed only if Json is selected as Body type. HTTP Request body.
Raw bodyRawDisplayed only if Raw is selected as Body type. HTTP Request body
Value fromOne of the following:
• Source
• VaulSearch
Specifies whether to resolve placeholder expressions from trigger source or from vault search.
Rule groups [n] > Group [n] > Rules [n] > Rule [n] > HTTP settings > Form URL encoded body [n] > Parameter [n]
NameTextSpecifies a name of parameter.
Value typeOne of the following:
• Expression
• Property
Controls how value is specified: Value type to specify either static values, or dynamic property expressions. Use Property Value to specify either name or ID of lookup-based property value.
Rule groups [n] > Group [n] > Rules [n] > Rule [n] > Set properties [n] > TargetProperty [n]
Response transformationOne of the following:
• None
• JsonPath
• XPath
Optional response transformation can be applied to HTTP response to extract or modify data that will be set as property value.
Result kindOne of the following:
• Text
• Number
• Date
• Other
Kind of results.
Result cardinalitySingle/ArrayExpected results cardinality.
Result M-Files property typeOne of the following:
• None
• SimpleValue
• ObjectID
• ObjectName
• ValueListItemID
• ValueListItemName
Object type of results.
Result propertyProperty definitionProperty to set.
Rule groups [n] > Group [n] > Rules [n] > Rule [n] > Set properties on
Set properties onOne of the following:
• Source
• VaultSearch
Object to set properties on.
Execution modeOne of the following:
• EventHandler
• Background
Choose when rule will be executed:
EventHandler: during object check in
Background: in background, after object has been checked in
Advanced settings
Time to wait (milliseconds)IntegerNumber of milliseconds to wait before executing any rule in background.
Number of retriesIntegerMaximum number of times COM errors are retried.
Retry interval (milliseconds)IntegerNumber of milliseconds to wait between retries.
Rule [n]> Rule groups [n] > Network credentialsNetwork credentials to send with request.
Requires vault restart for changes to take effect.
Autentification typeOne of the following:
Basic
Digest
NTLM
Kerberos
Negotiate
DomainText
UsernameText
PasswordText

Use cases

Sync calendar event or contact persons to Office 365

Whenever objects of object type Event or Contact are created or modified in the M-Files, that information is sent to the Microsoft Azure Logic Apps which synchronizes data with the end-user’s calendar/contacts folder.

Configuration

Configuration of HTTP Integration
Data

How to send property in URL?

Although URL isn’t a dynamic editor, properties can still be used in URL, but they must be added manually, by writing property expressions, for example %PROPERTY_{PD.PropertyAlias}%.

Configuration

Table of Contents