Workflow Engine Designer Documentation

Introduction

Welcome to the Workflow Engine Designer Documentation. Designed exclusively for administrators, this comprehensive guide is your key to unlocking the full potential of the Workflow Engine Designer application. From understanding core functionalities to mastering essential elements and basic administrative procedures, this documentation has been crafted to make your journey effortless and insightful. Whether you're a seasoned pro or just getting started, our aim is to empower you with the knowledge you need to manage and optimize the application with ease.

If this documentation doesn't answer your questions, please send us Email to treeinfo@aricoma.com.

Join TreeINFO community at Stack Overflow TreeINFO Team. If you need access, contact treeinfo@aricoma.com.


Release

Build 3.20.2505.14001 Microsoft 365 (22.5.2025)
  • Added Workflow Engine – Identifier Mapping – Identifier mapping has been introduced for new registrations in accordance with Microsoft’s updated requirements.
  • Added Azure OCR – Document Digitization – A new activity enables the processing of incoming documents using the Azure AI Document Intelligence (OCR) cloud service. The use of this service is billed based on the number of pages processed.

Note See all the latest features, enhancements, updates and more in Changelog here.


About

Workflow Engine Designer is your gateway to crafting dynamic process schemes for SharePoint documents and lists, revolutionizing the way automated actions are performed.

Workflow Engine Designer adopts a state diagram approach — depicting the system or process as a collection of finite states. Transitions between these states occur upon task completion, ensuring precision and control at every step.

Workflow Engine Designer does not store data by itself. All data are stored within the SP site collection.

settings configured within Workflow Engine Designer at the site collection level extend their influence to all associated subsites, streamlining administration and consistency.

A key advantage of Workflow Engine Designer lies in its non-disruptive nature. Modifying and saving workflow changes do not impact items that have already been generated within the list. This empowers you to refine your processes without retroactive complications, offering a hassle-free experience for administrators.


Installation

This chapter describes adding WFEngine application to individual sites or subsites.

The installation is different for SharePoint Online and SharePoint On-Premises.

SharePoint Online

To add the WFEngine.Online application to a site in the SharePoint Online environment, click on the gear icon and select the option Site contents.

In Site contents click add an app to add application to site.

After displaying the list of applications, click on the option in the side menu From Your Organization to see a list of applications from our organization and click WFEngine.Online.

Click on the button WFEngine.Online to get a popup window asking if we want to trust the application and give it full permissions on the site. Click on the button Trust It.

We will then be redirected back to the page Site contents where we can see the addition of our chosen application to the site. We are informed by a message We're adding your app.

After a while, the informative message disappears and the application gets an icon.

To add the application to the site properly and fully functional, we need to open the application in which we will automatically see a message about the need to upgrade or install. To complete the installation, click on the button Run install.

We are informed about the completion of the installation by a message in the log WFE installer finished and the installed version is displayed in the upper left corner of the screen. The application is fully ready for use.

SharePoint On-Premises

To add the WFEngine.OnPrem application to the site in the SharePoint On-Premises environment, you need to first copy the WFEngine.OnPrem.wsp file to SharePoint server.

Then use the command in PowerShell to connect to SharePoint Add-PSSnapin Microsoft.SharePoint.PowerShell and then add path to WFEngine.OnPrem.wsp via Add-SPSolution C:\Contoso\WFEngine.OnPrem.wsp and install via install-SPSolution WFEngine.OnPrem.wsp -GACDeployment.

We can check the progress of the application installation using the command Get-SPSolution.


How to access

To be able to open Workflow Designer user must be site collection administrator or must be added to automatically created SharePoint group wf-designers. If you see error below, you do not have the permissions.

Access is different for SharePoint Online and SharePoint On-Premises.

SharePoint Online

Navigate to settings menu accessible through gear icon, select Site contents and select WFEngine.Online.

In the opened window, we see a blank workspace ready for creation of a brand new workflow. Click Open to open list of existing workflows.

SharePoint On-Premises

To access Workflow Engine Designer go to settings menu accessible through gear icon. Under Site settings in Workflow engine section select Designer.

In the opened window, we see a blank list of existing workflows for brand new installation or list of existing workflows. We can modify existing ones or create a brand new workflow.


Workflow Designer

Activities grouped in group Workflow designer allow user to accomplish basic activities. The names are self-explanatory and suggest its action.

Click New to create brand New workflow.

icon

Click Open to open an existing workflow from workflow list available to your site.

icon

Click Save to save changes made in workflow.

icon

Click Close to close Workflow Engine Designer.

icon

Another basic functionality is represented by Undo and Redo steps.

icon icon

Set of activities in Designer tools helps to navigate in robust workflows. Zoom options simplify work with large workflows, Grid enables/disables dotted background.

icon icon icon icon

Workflow definitions can be exported and imported in XML files. It is possible to use the web service and PowerShell commands.

icon icon

Bulk delegation – tasks that already exist can be delegated manually in bulk by clicking the Delegate button:

  • From user – the user from whom the tasks will be delegated
  • To user – the user to whom the tasks will be newly delegated
  • Workflow – the workflow from which the tasks will be delegated
  • Include tasks with disabled delegation – If set to true, tasks that have the 'Is delegation allowed' property set to false will still be included in the delegation process. Does not take into consideration the 'Enable out of office automatic delegation' property
  • Comment – Comment to be displayed in the tasks description
icon

New workflow

Activity New creates brand new workflow from beginning. Steps how to create a new workflow are described in chapter How to create a workflow.

icon
Properties Description Value / Comment
Workflow name Specify workflow unique name HomeOffice Marketing
Associate with list Setup list association in order to be able to run workflow. You may setup list association later on in workflow settings. HomeOfficeList
Run workflow on Set trigger for workflow. You may setup workflow trigger later on in workflow settings. An item is added
Select template Empty or Single step approval with simple workflow to begin with Empty

Workflow can perform actions:

  • On start
  • On stop
  • On delegate

Workflow properties defined on Properties panel in the right.

Properties Description Value / Comment
Title Specify workflow unique name HomeOffice Marketing
Internal name Specify internal name for workflow HomeOffice_mrkt
Description Describe the purpose of the workflow HomeOffice approval for marketing department
Enabled If Enabled, workflow can be triggered ON

New state

The foundational elements of a workflow are states and transitions. A state reflects the condition of a task at a specific stage in the workflow. Drag & drop New state to designer workspace to start creating a workflow diagram.

icon
Properties Description Value / Comment
ID Automatic value set by Workflow Engine Designer 10
Title Specify name of a state Item in Approval
Internal name Specify unique name for a state Approval
Is default Workflow instance starts at this point
Is terminal Workflow instance terminates at this point
Color theme – state Assigns different color for states to better identify relations between states and transitions
Color theme – transition Assigns different color for transitions to better identify relations between states and transitions
Enable Enable/disable state in workflow

When entering or exiting a state workflow can perform certain actions. These actions can be performed:

  • On enter – e.g. creating task for a user
  • On leave – e.g. send notifications to a user

Actions are defined in chapter ACTIONS.


Transition

A transition is a link between two states that enables to move from one state to another. In order for workflow to move between two states, a transition must exist. A transition is a one-way link, so if workflow needs to move back and forth between two states, two transitions need to be created.

When multiple transitions are created the order of task outcomes on task form will be from first created to last.

Properties Description Value / Comment
ID Automatic value set by Workflow Engine Designer 28
Internal name Specify internal name for outcome option Approved_1
Button label Specify task outcome option name. Will be set as a task outcome in My tasks. Approve
Enable If enabled, task outcome option will be visible in task detail in My tasks ON
Comment mode Specify comments in task outcomes
  • Optional – user response is optional
  • Required – user response is forced
  • Hidden – field for comment is not available
Optional
Color theme Assigns different color for transitions to better identify relations between states and transitions

Layout

Tool Layout aligns states and transitions to cleaner form.

icon

From

To

Another useful feature is to set fix point by right click. You can drag point to find the best path for a transition.

From

To


Settings

Workflow settings allows you to change various adjustments.

icons

General settings

Properties Description Value / Comment
Start form If checked, user will be prompt to fill start form upon triggering workflow Cannot be change in UI structure
Custom form If checked, user will be prompt to fill custom form upon triggering workflow Cannot be change in UI structure
Allow multiple instances If checked, workflow can be started multiple times on same item. Otherwise, only one active running workflow instance is allowed for item
Task less workflow transitions allowed If set to enabled, it is not required to create tasks to move from one state to another (inherited)
Enabled
Disabled
Enable save item on task form Enable item saving on the task form. When enabled, the task form includes a button to save the item. However, progressing the instance of the related task will not occur through this action. (inherited)
Enabled
Disabled
Outcome mode Select the rendering mode for outcome options (inherited)
Radio buttons – the default choice, outcomes will be displayed in a list with a radio button beside each.
Drop down list – outcomes will appear in a dropdown selection menu.
Buttons – outcomes will be presented as individual buttons that the user can click on.

Out of office task delegation

Description

When activated, users who have configured out-of-office delegation can automatically assign incoming and existing tasks to a chosen user. The delegated user will receive the necessary permissions. Out-of-office functionality follows these guidelines:

  1. Chain automatic delegations are disabled (refer to the table below for specific examples).
  2. Tasks manually delegated to a user with automatic delegation enabled will not be further delegated. Users attempting manual delegation in this scenario will be warned that the selected user has automatic delegation enabled and to whom the task will be delegated
  3. Upon setting up automatic delegation, all incoming tasks are immediately delegate in the selected period of time.
  4. Tasks existing prior to setting up automatic delegation will be assigned after the next out-of-office timer tick. The timer is configured to tick every 6 hours.
  5. Out-of-office operates on a daily basis only and cannot be set up for specific hours.
For proper functionality, out-of-office settings must be correctly configured in the settings tab (as described below), and the respective "Assign task" actions must have "Enable out-of-office delegation" enabled.

Configuration
Properties Description Value / Comment
Enabled Enables out of office delegation
Site URL [Optional] – This property is filled only when the out-of-office list is hosted on a different site. In such instances, please provide the URL of the respective site. https://sabriscz.sharepoint.com/sites/WfConfig
List URL [Mandatory] – Relative URL path to OOF list. WF_OOF
lists/WF_OOF
Source user field internal name [Mandatory] – The internal name of the field where the source user will be entered. XWF_OOF_User
Destination user field internal name [Mandatory] – The internal name of the field where the user to whom the tasks will be delegated is entered. XWF_OOF_UserDelegate
Date from field internal name [Mandatory] – The internal name of a field that holds the date when the out-of-office automatic delegation will take effect. XWF_OOF_From
Date to field internal name [Mandatory] – The internal name of a field that stores the end date of the out-of-office automatic delegation. XWF_OOF_To
Value for histroy table [Optional but recommended] – The value to be shown in the task history table. {Func:GetSpDateTime}$${Wf:DelegationUser}$$Out of office delegation: {func:GetUserTitle({Wf:DelegationUserDelegate})}$${Task:Wf_Comment}
Examples of potentional scenarios

The table below illustrates various situations that may arise. For explanatory purposes, we introduce users A, B, and C, further refered to by their respective letters. The color of the arrows in the diagrams indicates the origin point of tasks relative to the color of the container. In the examples below, both "Enable out-of-office automatic delegation" and "Is delegation allowed" are enabled.

Example Diagram Outcome
On January 1st at 10:00, User A has configured automatic delegation to User B from January 1st to January 8th image All incoming tasks from User A are promptly assigned to User B, unless these tasks have already been automatically or manually delegated to User A. Any eligible tasks existing before the automatic delegation setup will be delegated by 12:00. Tasks that remain incomplete will return to User A on January 9th at 0:00.
User A has configured automatic delegation to User B. User B then configured automatic delegation to User C.

or

User B has configured automatic delegation to User C. User A then configured automatic delegation to User B.
image All applicable tasks originating from User A (i.e., tasks not previously automatically or manually delegated to User A) will be delegated to User B, but will not be further delegated to User C. All applicable tasks originating from User B will be delegated to User C. Upon the expiration of the out-of-office period, any incomplete tasks will be returned to their respective users.
After User B has configured automatic delegation to User C, User A attempts to manually delegate a task to User B. image User A will receive a warning indicating that User B has established automatic delegation to User C and the duration of this delegation. If User A proceeds to delegate the task to User B regardless, it will remain with User B and will not be automatically further delegated to User C.
User delegates a task to User B manually. However, User B fails to complete the task from User A and subsequently sets up automatic delegation to User C. image !!The task will remain assigned to User B. To transfer the task to User C or return it to User A, manual intervention by a user with administrative privileges will be required!!
User A configures automatic delegation to themselves. image All eligible tasks (i.e., tasks not previously automatically or manually delegated to User A) will be delegated to User A once. Upon the expiration of the out-of-office period, all tasks will be "returned" back to User A.
User A configures automatic delegation to User B, and User B configures automatic delegation to User A. image All eligible tasks (i.e., tasks not previously automatically or manually delegated to User A) will be delegated to User B and not further to User A. Conversely, all eligible tasks will be delegated from User B to User A and not further to User B. Upon the expiration of the out-of-office period, all tasks will be returned to their respective owners.
User A establishes automatic delegation to User B, and all eligible tasks (i.e., tasks not previously automatically or manually delegated to User A) are delegated to User B. Subsequently, User B manually delegates these tasks to User C. image The tasks delegated to User C are no longer subject to the out-of-office rules and will therefore remain with User C even after the out-of-office period from User A to User B expires.

Constants

Define constants for workflow. Constants can be used with replace tokens – e.g. {Const:greet} {Func:GetUserTitle({WF:Initiator})} will retrieve Dear Jan Novak. More in chapter REPLACE TOKENS.

Properties Description Value / Comment
Title Title of constant Greeting
Key Internal name to be called in workflow greet
Value Value to be set to constant Dear
Edit Edit an existing constant
Delete Delete an existing constant

List associations

Specify trigger to instruct workflow to run workflow instance.

Properties Description Value / Comment
Autostart lists Workflow runs automatically when item is added or item is updated depending on start type
List URL Select SharePoint list name where workflow instance will run TestWF
Start type Select trigger for workflow Item added
Expression
Buttons Workflow runs depending on action – ribbon button or context menu launch
List URL Select SharePoint list name where workflow instance will run TestWF
Button type Select whether workflow is triggered from context menu or ribbon button Ribbon
Title Specify name for workflow trigger to be visible in ribbon or context menu Run WF
Icon Specify icon URL for ribbon button

Matrix config

Configuration for approval matrix for routing an approval task through the workflow based on preset conditions. Define conditions, UI for adding specific values is defined within TreeINFO application.

There must exist a SharePoint list with approval matrix form that contains basic metadata for the WF Engine – for example, the order type, amount and approvers. These columns are the same as those on the item where the workflow is running. You do not only set the columns to be compared, but it is also necessary to set comparison conditions to desired columns.

Properties Description Value / Comment
Title Define display name Approval Matrix
Internal name Internal name of SharePoint list with approval matrix form Wf_ApprovalMatrix
Enabled If enabled, approval matrix can be applied to items in approval process
Config Set conditions to be met in matrix config. Use SharePoint column internal name

Task history config

Configuration for task history table. Only supported with TreeINFO application. UI is defined within TreeINFO application. There must exist configuration for Target field column in TreeINFO application. Culomn needs to be set as Advanced table.

image

RAW Editor code

{
"Table": {
"MaxItemsOnPage": 10,
"ReadOnly": true
},
    "Columns": [                                
		{
		"Name": "Date",
		"DateTime": {
			"Format": "DateAndTime"
            }
        },
        {
		"Name":"Employee",
		"User":{
            }
        },
        {
		"Name":"Action"
        },
        {
		"Name": "Note",
		"Multiline": true
        }
    ]
}

In workflow settings:

Properties Description Value / Comment
Enabled If enabled, task history is applied to items in workflow true
Item ID
Separator Separator of columns in task history table. Separator for outputting multiple values into output variable. Can be changed by user preferences $$
Target field Internal name of advanced table field to write data to s_approvalProcessHistory
Values Values to be written. Columns are separated by the value set in separator property {Func:GetSpDateTime}$$ {Task:AssignedTo}$$ {Wf:OutcomeLabel}$$ {Task:Wf_Comment}
Write on assign Specify whether any values should be written on assign true
Assign values Values to be written on task assign. Columns are separated by the value set in separator property {Func:GetSpDateTime}$$ {Task:AssignedTo}$$-$$-

The final table will be displayed on form:

Active Instances

List of active instances running on items in list associated to current workflow.

Properties Description Value / Comment
Item ID List item ID 43
List URL Name of list where the workflow is running Level4
Current state Internal name of current state where the workflow instance is running Level_4_Default
Instance ID Unique ID of workflow instance running on item 534d2993-ddbe-4d96-a366-82261160613f
Item URL View the item
Debug Instance Open selected instance on specified item in debbuger

Install and upgrade

icon

Creates or updates of all the Workflow Engine component. Valid only for this Workflow Engine application installation.

Displays which version of Workflow Engine is installed on site and current runtime version.

Enables to install newer version using the Run install button.


SP2SQL

icon

Data replication from SharePoint to SQL tables. It is not related to the workflow itself, it is a link to configuration. It is also accessible from settings menu through gear icon. Under Site settings in Workflow engine section select SP2SQL Settings.

The configuration UI is set up and works automatically, including the creation of a structure in SQL. It is possible to select for which lists / document libraries the export will be performed. The history of item data is also maintained in SQL.

First step is to create database project with desirable columns. Then in SP2SQL you set up connection string to this database in format Data Source=(local);Initial Catalog=XXX;Integrated Security=True where XXX is the name of database you have created. To save changes click the button in bottom.

NoteFor large item lists (over 5000 items) it is necessary to use custom PowerShell script.

Before:

After:

Next step is to add main tables such as Inbound Invoices and Inbound invoices archive. To save changes and deploy database click the button in bottom.

Check in database if tables are created correctly and then disable all settings made in SP2SQL.

If there are changes to schema – such as additional columns in library – you have to deploy the database again to sync all existing fields.


How to create a workflow

Below are shown easy workflow samples.

Single step approval

In the Workflow designer click on the New icon and set values.

We see a workspace with actions edit panel on the left and properties panel on the right.

The edit panel enables to add actions to your workflow. For more on actions see ACTIONS. Actions for whole workflow can be assigned on start, on stop or on delegate.

The properties panel show all possible properties for a selected activity. When no action is selected, workflow properties are displayed.

In properties panel we can change workflow name in the field Title and unique Internal name.

The first step is defining states. In this example we are creating simple approval workflow for documents. We must determine all states of the document‘s life cycle. For each state we drag & drop New state rectangle to workspace.

We have 3 types of states in Workflow Designer. Green state is the initial state where the workflow starts. Blue state that indicates the workflow instance ended. Workflow passes internal states in white to achieve a terminating state.

In this example, we will have 3 states – new, approved and not approved. So we drag & drop three states to workspace:

Click the New state to setup properties for this state. To make changes for the current state we have to see dashed line on the state.

icon

In the properties panel on the right we can set up properties for the state.

For new we set Is default – the workflow will start here. For Approved and Not Approved we set Is terminal – workflow instance will end there.

Next step is to establish transitions between states. We draw a line from input connection circle (blue) to output connection circle (green).

For each we define transition. This also works as task outcome option for approvers of the process.

To sum up – we have defined two transitions – Approving and Not Approving – which are leading to states Approved and Not Approved.

In order for workflow to know to whom assign tasks, we need to insert Assign task activity into the New state workflow actions.

On New state we drag & drop Assign task activity from Actions ribbon to action panel. It is necessary to be in New state – you see dashed line around the state.

icon

A state can have on enter and on leave action. When a workflow instance enters a state, any activities set on enter will be triggered. When the entry action is complete, the triggers for the state’s transitions are scheduled. When a transition to another state is confirmed, the activities on leave are executed.

The moment we click on Assign task in action panel, the properties panel will show. There is a wide range of options – for more see ASSIGN TASK.

For this example we put user name, Task title and Task body. User name is the person or group we assign task to. Task title and Task body are shown on task form.

The next step will use another feature from Actions – SET FIELD VALUE. We are going to assign values to SharePoint column Status. Drag & drop Set field value from Actions ribbon to New state and fill in necessary properties.

For Approved state we will assign value approved to column in SharePoint list with internal name Status – Rq_All_Status.

This way we will be able to see the workflow status on item properties in SharePoint My task screen.

For Not Approved we will set value to not approved.

The last thing to setup is workflow trigger. On Workflow Designer ribbon we choose Settings ->List associations. Workflow can be triggered in two ways – automatically when document / item is created, or manually from context menu or ribbon button. In this case we are running workflow automatically when item is added.

We need to setup list association with list where the workflow instance will run.


One-state workflow

Move item

In this example member of a selected group can move items to another folder.

We create new workflow and drag & drop a state. This state is default and also terminal.

To ensure that only members of SharePoint group can move items, we add IS USER IN GROUP action.

With this activity we will check if the workflow initiator (the one who starts workflow Moveitem) is in group wf-Accountants. Result will be stored in variable IsAccountant.

Then we add IF ACTION. The expression will be: '{wf:IsAccountant}' == 'True'.

We want to move item and start workflow for the item. So for True we add MOVE ITEM. For False we WRITE LOG.

For Move item we specify destination folder and destination type.

In write log action we set value and log type.


Actions

Workflow actions enable a wide variety of interactions between form fields.

To assign any user interaction you have to drag and drop it to left action panel, typically you add action to a state. To be able to configure properties, task needs to be chosen.


Assign task

icon

The 'Assign Task' workflow action enables the workflow to assign a task to a single user or multiple users. These tasks will appear in users' task list. When a task is created, user(s) can be notified via email that a new task has been created.

The 'Assign Task' activity assigns permissions to an item. By default, when a task is assigned, read permissions to the item are set to ensure the user will be able to open task. At the same time, the user is assigned with write permissions to the task item in order to be able to complete the task.

The 'Assign Task' activity can be used only once per one state instance (once per "New state" bubble).

The 'Assign Task' activity can also perform actions:

  • On Over Due – actions will be executed after the number of days set in 'Due days' in the 'Assign task' properties. Each action will be executed for all tasks. For instance, to send an email notification to all users assigned to this task, you need to inform every single one of them.
  • On Over Due Global – actions will be executed after the number of days set in 'Due days' in 'Assign task' properties. Actions will be executed only once for all tasks. For example, you can set a state or send an email to a supervisor. This needs to be done only once, eliminating the need to send multiple emails to one person.
  • On Remind – actions will be executed after the number of days set in 'Remind days' in 'Assign task' properties.
  • On Delegate – actions will be executed when the task is delegated.
  • On Assign Task – actions will be executed on assining a task.
  • On Complete Task – Specified actions will be executed after each instance of a task being completed.
Properties Description Value / Comment
User User specification – user(s) to assign task to. You may specify a user login, SharePoint group, Active Directory group and/or value from a variable. If more than one user is specified, multiple tasks will be created – one per each user. If a user group is specified, one task per user will be created. If you wish to enter more than one value, you may use a semicolon ';' to separate users/groups.
  • jnovak
  • dev\jnovak
  • AdminUsers
  • {WF:initiator}
Task title The task title, which will be displayed in the "My Tasks" table. New Item to approve
{Item:Title}
Task body Additional task text, which will be displayed in the task details on the task form. This Invoice needs your approval
Assign type For multiple users specified, tasks will be created for all users at once (parallel) or one by one task (serial). In case of serial task, new task will be created when current task is finished.
  • Parallel
  • Serial
User source type Specifies the source of user loading:
  • Static – Users are loaded from User data field
  • Rule Matrix – Users come from matrix rule specified in Matrix list property
  • Static
  • Rule matrix
Matrix list Specify an approval matrix list. When matrix list is specified, the User field is ignored.
Multi task mode There are four behavioral options to guide the Workflow engine in managing tasks with multiple assignees:
  • All Equal To - All assignees must reach a unanimous agreement on the same outcome. If an assignee responds with an outcome other than what is specified in the "Ref State" configuration field, all pending tasks will be marked as 'not required.' Afterwards the workflow will continue by moving to the state specified in the "Fall State" configuration field
  • First applies – The outcome from the first received response determines the overall outcome. All other pending tasks will be marked as 'not required'.
  • Any – Any outcome selected by the user will advance the process, and the outcome variable will contain the choice made by the last user.
  • Never ending – In this mode, the workflow will remain in the same state indefinitely. You can keep adding more users at any time using the 'Add User to Multitask' action.
  • All equal to
  • First applies
  • Any
  • Never ending
Ref state If "All equal to" multitask mode is specified, task outcomes (state name) are compared to the value specified in this field. If all selected outcomes are equal to the value in this field, multi task is evaluated as successfully completed. Level_4_Approved
State’s internal name
Fall state When 'All Equal To' multitask mode is selected if any task user selects an outcome different from the one specified in the "Ref state" configuration field, the multitask is considered unsuccessful and proceeds to the state defined in this field. Level_4_Rejected
State’s internal name
No user state Specify the state to which the workflow proceeds in the event that no user is specified in the user value or matrix list. If nothing is specified in this field and no user is provided, the workflow will terminate with an error. Level_4_RejectedError
State’s internal name
Default selected outcome These are the default task outcomes suggested to the user. If this field is empty, the user must select an outcome before marking the task as complete. By default, this field is empty. Level_4_Approved
State’s internal name
Read only item form Display a read-only item form within the task form. This feature is specific to the TreeINFO application.
  • Off
  • On
Task template Specify the TreeINFO task template for creating tasks. When a task template is specified, the task title and task body are disregarded. InvoiceForApproval
Mail template Specify the TreeINFO mail template for email notifications. When a mail template is applied, the Email body and Email subject attributes are overridden. This feature is exclusive to the TreeINFO add-on. WfEngineTaskNotify
Send notification email Toggle the option to send notifications to users on or off.
The activity value can be configured independently of the global value.
  • Inherit
  • Set
  • On
  • Off
Send cancel notification email Toggle the option to send notifications to users when a task is canceled (no longer required) on or off.
  • Inherit
  • Set
  • On
  • Off
Email body This field allows to specify the email body for task notification emails. Each time a new task is created, the assigned user will receive an email notifying them of the task's creation.
Email subject This field allows to specify the subject for task notification emails. Each time a new task is created, the assigned user will receive an email notifying them of the task's creation.
Due days Specify the number of days for task completion. To make the task duration unlimited, enter -1. By default value: -1
Remind days Specify the number of days to wait until 'OnRemind' actions are executed. To disable reminders, please enter -1. By default value: -1
Allow questions Enable users to initiate sub-workflows with questions for the workflow initiator or any other user. When enabled, the 'Ask question' button will be visible in the task detail.
  • Off
  • On
Question workflow If this field is left empty, the default question workflow will be used when the 'Ask question' workflow is initiated. Alternatively, users can enter the internal name of a custom workflow to be used. By default value:''
Is additional approval allowed Enable users to initiate a sub-workflow with additional approval. When enabled, users can choose the 'Additional approval' option as a way to complete the task.
  • Off
  • On
Additional approval workflow If this field is left empty, the default additional approval workflow will be used when the 'Additional approval' outcome is selected and confirmed. Alternatively, users can enter the internal name of a custom workflow to be used. By default value:''
Sync This option enables synchronous task processing. By default, it is disabled. When enabled and a user selects a task outcome, the page will not reload until all processing is complete. This feature is only relevant in an On-Premises environment.
  • Off
  • On
Work days Due date and Remind date are calculated based on working days, which includes weekends and Czech national holidays.
  • Off
  • On
Is delegation allowed When enabled, a user can delegate their task to another person, who will be assigned the necessary permissions. You can specify the users or groups to which a task can be delegated in the 'Delegation allowed users' property.
  • Inherit
  • Set
  • On
  • Off
Enable out of office automatic delegation Enables out-of-office automatic delegation during out-for tasks. Additional configurations must be made for this option to function properly. Please consult this section of the documentation for further details
  • Inherit
  • Set
  • On
  • Off
SQL Task Tasks are stored in SQL Server instead of a SharePoint list. SQL Tasks are designed for high-volume task sets, such as when you need to assign more than 100 tasks at once. Please note that this functionality will only work if 'SP2SQL' is configured correctly, and to display these tasks on the home page, the 'SQL tasks allowed' setting in the 'My tasks' web part must be enabled.
  • Inherit
  • Set
  • Off
  • On
Multiple approval transition internal name Specify the internal name for the transition to enable multiple task approvals. When this feature is enabled, users can approve multiple tasks simultaneously.
Bulk approval form template Specify the form template for bulk approval.
Enable save item on task form If checked, the task form includes a button to save the item without sending the task.
  • Inherit
  • Set
  • Off
  • On
Outcome mode Render controls based on outcome mode.
  • Radio Buttons — Displays the possible selectable outcomes as a list, allowing users to choose one option.
  • DropDown List - Displays the possible selectable outcomes in a dropdown menu, allowing the user to select a single option.
  • Buttons — Displays each possible outcome as an individual clickable button. Selecting a button counts as choosing and confirming the option in a single action.
Delegation allowed users You can specify SharePoint groups or users to whom delegation is allowed. Please enter the login names of users or groups, separated by semicolons. In the form, these users will be displayed in a dropdown. If left empty, users can delegate to any user.
{wf:delegateFinalUsers}
Set item permission level Ensures the permission level for the related item and the user for whom the task is created or delegated.
  • None
  • Read
  • Write
Label Descriptive label shown in the action editor.
Disabled The execution of a disabled action is skipped.

Add user to existing task

icon

Add users to already created task. Common usage is for never-ending tasks on start-form.

Properties Description Value / Comment
Users to add Specify login names of users or groups separated by semicolon
  • {WF:initiator}
  • jnovak
  • dev\jnovak
  • AdminUsers
Label Descriptive label shown in the action editor.
Disabled The execution of a disabled action is skipped.

Send mail

icon

Send email to users. You can specify Subject and Body or email template from TreeINFO.

Properties Description Value / Comment
Email recipients Specify AD usernames separated by semicolon
  • jnovak;
  • AdminUsers;
Email copy Specify copy recipient(s) – might be semicolon separated list or single recipient. A new task was
assigned to you:
{Task.Title}
Email subject Subject of the email. You can use also replace tokens and variables. A new task was
assigned to you:
{Task.Title}
Email body Text of email body with HTML content. You can use also replace tokens and variables.
<p> Direct link to
task: <a
href="{{Task.Url}}">
{{Task.Url}}</a> </p>
Message per recipient Send separate email message to each recipient specified. If user names are used and mail template defined for each language, email will reflect users’ languages.
  • Off
  • On
Message per recipient Send separate email message to each recipient specified. If user names are used and mail template defined for each language, email will reflect users’ languages.
Email template Email template name from TreeINFO App. This will override subject and body properties specified in this action. WfEngineTaskNotify
Label Descriptive label shown in the action editor.
Disabled The execution of a disabled action is skipped.

Send meeting request

icon

Send mail meeting invitation to users. You can specify Subject and Body or email template from TreeINFO.

Properties Description Value / Comment
Email to Specify AD usernames separated by semicolon
  • jnovak
  • AdminUsers
Email copy Specify copy recipient(s) – might be semicolon separated list or single recipient.
Email subject Subject of the email. You can use also replace tokens and variables. A new meeting was
assigned to you:
{Task.Title}
Email body Text of email body with HTML content. You can use also replace tokens and variables.
<p>To be discussed: 
<a href="{{Web.Url}}">
{{Web.Title}}</a></p>
Message per recipient Send separate email message to each recipient specified. If user names are used and mail template defined for each language, email will reflect users’ languages.
  • Off
  • On
Start time Start time and date of the meeting requests
End time End time and date of the meeting requests
Location Location of the meeting request
Date format Date format used in fields Start time and End time By default value:
dd.MM.yyyy HH:mm
Email template Email template name from TreeINFO App. This will override subject and body properties specified in this action. WfEngineMeetingNotify
Label Descriptive label shown in the action editor.
Disabled The execution of a disabled action is skipped.

Set task state

icon

Set task state by action instead of by natural workflow progression.

Properties Description Value / Comment
Task Instance id Workflow multitask ID of a task item. Setting this property is necessary for the action to operate. This action is limited to specific listed workflow tasks and does not apply to the entire instance.
New state Select listed tasks new state to be set.
Label Descriptive label shown in the action editor.
Disabled The execution of a disabled action is skipped.

Set task outcome

icon

Set task outcome by action instead of user interaction.

Properties Description Value / Comment
Task id SharePoint list item ID of task item. If not set or empty, current context task will be used.
Outcome Specify task outcome internal name to be set to task.
Label Descriptive label shown in the action editor.
Disabled The execution of a disabled action is skipped.

Delegate task

icon

Similar to delegate outcome. This action is usually bound to a button. Uses its own workflow that has to be specified in the Workflow internal name property to delegate specific task. Can be used in situations where user wants to delegate task for someone else (User only needs the permission to press the button and doesnt have to be the user that the delegated task was assigned to). In the case of a multi task, the other tasks will be cancelled and only the first task will be delegated.

Properties Description Value / Comment
User to delegate to Specify login name of user
  • jnovak - login username
  • dev\jnovak - login username with specified domain
  • AdminUsers - Sharepoint or Active Directory group name
  • {WF:Initiator} - Replace Token
Comment Optional comment to be displayed to the delegated user
Workflow internal name Specify internal name of the workflow that delegates the task.
Label Descriptive label shown in the action editor.
Disabled The execution of a disabled action is skipped.

Cancel task

icon

Cancel task can be only used in conjuction with Assign task action with multitask enabled. Sets all current task as not required. For example if used in On Delegate part then if one user delegates their task all other tasks will be set to Not required

Properties Description Value / Comment
Label Descriptive label shown in the action editor.
Disabled The execution of a disabled action is skipped.

Add list item

icon

Add a new item to list. Applicable only for Lists.

Properties Description Value / Comment
List URL Specify web relative list URL. Wf_tasks
Variable to store new ID A variable name to store newly created item ID. If empty, "ItemId" variable will be used. ItemId
Field values Values for item fields to be filled on item creation.
Folder URL Target folder path for creation.
Label Descriptive label shown in the action editor.
Disabled The execution of a disabled action is skipped.

Add file

icon

Add a new file to library. Applicable only for Libraries.

Properties Description Value / Comment
FileName Target file name
Content Content of file for creation.
Overwrite Overwrite
  • Off
  • On
ContentEncoding Type of content data encoding. Text/Binary
  • Text
  • Binary
Folder URL Target folder path for creation.
List URL Specify web relative list URL. Wf_tasks
Variable to store new ID A variable name to store newly created item ID. If empty, "ItemId" variable will be used.
Field values Values for item fields to be filled on item creation.
Label Descriptive label shown in the action editor.
Disabled The execution of a disabled action is skipped.

Set field value

icon

Set specified value to an item field. For updating current item you only need to set Target field and Value.

Properties Description Value / Comment
Target field Internal name of field to be updated s_status
Value Value to be set to field approved
Item id If empty, workflow associated item is processed. Otherwise you may specify item id of item to process. 3
List If empty, workflow associated item is processed. If List is specified, it is also required to specify item ID Level4
CAML query If empty, workflow associated item is processed. CAML query for item retrieval. Might be used instead direct entering of item id or instead of current context item
<Where><Eq>
<FieldRef Name='Location' />
<Value Type='Text'>Prague</Value>
</Eq></Where>
Item URL If empty, workflow associated item is processed. Instead of item ID you may use item full URL
  • For list items:
    /sites/wfengine/Wf_Items/140_.000
  • For library items:
    /sites/wfengine/DocLevel1/Invoice_18.pdf
Recursive If enabled, action is applied to item and if item is folder, also to items in folder.
  • Off
  • On
Scope Scope for CAML query
  • Default
  • Recursive
  • Recursive all
  • Files only
Behavior Behavior for retrieving an item
  • Default
  • ThrowError
  • Ignore
Label Descriptive label shown in the action editor.
Disabled The execution of a disabled action is skipped.

Possible combinations of configuration

The following configurations are mutually exclusive and cannot be executed simultaneously:
  • Item ID - The action is performed on an item with the specified ID in the list where the workflow was initiated.
  • Item ID + List - The action is performed on an item with the specified ID in the list identified by its provided internal name.
  • Item Url - The action is executed on an item with the provided URL adress
  • CAML Query - The action is performed on an item located using the provided CAML Query in the list where the workflow was initiated.
  • CAML Query + List - The action is performed on an item located using the provided CAML Query in the list identified by its provided internal name.

Azure OCR

icon

Digitization of incoming documents using the Azure AI Document Intelligence (OCR) cloud service. It enables automated extraction of text and key information from images and documents.

Supported Formats:
  • PDF
  • TIFF
  • PNG
  • JPEG
PDF Restrictions:
  • Password-protected PDFs must have the password removed before submission.

Azure service configuration and appropriate licensing are required for implementation based on the volume of documents processed. Cooperation is necessary for setup. For more information, please contact us via email treeinfo@aricoma.com.


Get field value

icon

Retrieve value of field from item and store it in variable. Suitable for cases when you need to get values from item to workflow. When you need to retrieve value of form field Approver to assign this person task in Assign task activity. You only need to fill in variable name (e.g. appr) and internal name of field (field_approver). In Assign task activity you set to User property {wf:appr}.

Another example for usage is when you want to obtain certain users/values according to chosen field on form. You have a SharePoint list DepartmentCodebook with columns Departments and to each department are assigned people or groups (column s_deptMembr). On form you are filling in lookup field Department (s_department) with values from this list (column Departments). So you set a variable name (perm), then you set field from form (s_department) which value will be compared to and you want to get corresponding value from field s_deptMembr in list DepartmentCodebook. This value is stored in variable perm. To use it in another action you can call it with replace token {wf:perm}.

Properties Description Value / Comment
Variable Name of variable where result value will be stored. var
Field Internal Name of field to read value from field_approver
Related item field Used with fields of type External Lookup, Advanced Table, or CheckboxList.
Internal name of a field of one of the speciefied types above.
If this configuration field is populated, the value of the specified field is retrieved. If multiple items are found, their values are combined using a separator and returned as a single string.
Department
Related item list Used with fields of type External Lookup, Advanced Table, or CheckboxList.
Internal name of a list from which the related item is atempted to be read.
If this configuration field is populated, the value of the field provided in the "Related item field" configuration field is retrieved. If multiple items are found, their values are combined using a separator and returned as a single string.
ApproversList
Related item list is in Root Related item list is in root web. Otherwise list is being looked for in current web.
  • Off
  • On
Separator Separator for multiple value output. If RelatedItemField property is not empty, field is supposed to be lookup (SP lookup or TreeINFO lookup). Value of field with internal name specified in RelatedItemField is attempted to be read from related item. If multiple items are found, values are joined with separator and retrieved as single string.
Item id If empty, workflow associated item is processed. Otherwise you may specify item id of item to process.
List If item id is specified, it is also required to specify list name.
CAML query CAML query for item retrieval. Might be used instead direct entering of item id or instead of current context item
<Where><Eq><FieldRef 
Name='Loc' /><Value
Type='Text'>Prague</Value>
</Eq></Where>
Item URL Instead of item Id you may use item full URL
  • For list items:
    /sites/wfe/Wf_Items/140_.000
  • For library items:
    /sites/wfe/DocLevel1/Inv_18.pdf
Recursive If enabled, action is applied to item and if item is folder, also to items in folder.
  • Off
  • On
Scope Scope for CAML query
  • Default
  • Recursive
  • Recursive all
  • Files only
Behavior Behavior for retrieving an item
  • Default
  • ThrowError
  • Ignore
Label Descriptive label shown in the action editor.
Disabled The execution of a disabled action is skipped.

Possible combinations of configuration

The following configurations are mutually exclusive and cannot be executed simultaneously:
  • Item ID - The action is performed on an item with the specified ID in the list where the workflow was initiated.
  • Item ID + List - The action is performed on an item with the specified ID in the list identified by its provided internal name.
  • Item Url - The action is executed on an item with the provided URL adress
  • CAML Query - The action is performed on an item located using the provided CAML Query in the list where the workflow was initiated.
  • CAML Query + List - The action is performed on an item located using the provided CAML Query in the list identified by its provided internal name.
  • Related item Field + Related Item list - The action is executed on a related item specified in the "Related Item Field" configuration within the list defined in the "Related Item List" configuration. This can only be used with fields of type External Lookup, Advanced Table, or CheckboxList

Move item

icon

Move item into new destination folder. This functionality is designed to move items in document library from one folder to another or from one library to other. Applicable only for Libraries. If you specify only destination and destination type, workflow will start on current item.

Properties Description Value / Comment
Destination Destination folder path (path type is dependent on "Destination type" property) InboundInvoices
Destination type depending on value of this field, destination property is treated:
  • List Relative URL – destination is treated as list relative URL (in the list to the subfolder).
  • Web Relative URL – destination field is treated as URL relative to the web (for the web to another document library).
  • Server Relative URL
  • ListRelativeUrl
  • WebRelativeUrl
  • ServerRelativeUrl
Expression Can be used instead of directly entered destination
Overwrite If item already exists in destination, will be overwritten
  • Off
  • On
Target variable If successfully executed, destination item URL will be written to variable.
File name Target file name – optional
Item id If empty, workflow associated item is processed. Otherwise you may specify item id of item to process.
List If item id is specified, it is also required to specify list name.
CAML query CAML query for item retrieval. Might be used instead direct entering of item id or instead of current context item
Item URL Instead of item Id you may use item full URL
Recursive If enabled, action is applied to item and if item is folder, also to items in folder.
  • Off
  • On
Scope Scope for CAML query
  • Default
  • Recursive
  • Recursive all
  • Files only
Behavior Behavior for retrieving an item
  • Default
  • ThrowError
  • Ignore
Label Descriptive label shown in the action editor.
Disabled The execution of a disabled action is skipped.

Possible combinations of configuration

The following configurations are mutually exclusive and cannot be executed simultaneously:
  • Item ID - The action is performed on an item with the specified ID in the list where the workflow was initiated.
  • Item ID + List - The action is performed on an item with the specified ID in the list identified by its provided internal name.
  • Item Url - The action is executed on an item with the provided URL adress
  • CAML Query - The action is performed on an item located using the provided CAML Query in the list where the workflow was initiated.
  • CAML Query + List - The action is performed on an item located using the provided CAML Query in the list identified by its provided internal name.

Copy item

icon

NoteDue to Sharepoint property, copying an item containing "%" symbol will result in a new item containing "%25" instead

Create new item in specified folder and copy all field values from source item. Applicable only for Libraries.

Properties Description Value / Comment
Copy system field Enter internal names or abbreviations of system fields separated by commas. Modified, Author, Editor, Created or M, A, E, C
Copy only document data Overwrite field data on target item.
  • Off
  • On
Destination Destination folder path (path type is dependent on "Destination type" property)
  • ListRelativeUrl
  • WebRelativeUrl
  • ServerRelativeUrl
Destination type Destination type – depending on value of this field, destination property is treated:
  • List Relative URL – destination is treated as list relative URL.
  • Web Relative URL – destination field is treated as URL relative to the web.
  • Server Relative URL.
  • List Relative URL
  • Web Relative URL
  • Server Relative URL
Expression Can be used instead of directly entered destination
Overwrite If item already exists in destination, will be overwritten.
  • Off
  • On
Target variable If successfully executed, destination item URL will be written to variable.
File name Target file name – optional.
Item id If empty, workflow associated item is processed. Otherwise you may specify item id of item to process.
List If item id is specified, it is also required to specify list name.
CAML query CAML query for item retrieval. Might be used instead direct entering of item id or instead of current context item.
Item URL Instead of item Id you may use item full URL.
Recursive If enabled, action is applied to item and if item is folder, also to items in folder.
  • Off
  • On
Scope Scope for CAML query.
  • Default
  • Recursive
  • Recursive all
  • Files only
Behavior Behavior for retrieving an item
  • Default
  • ThrowError
  • Ignore
Label Descriptive label shown in the action editor.
Disabled The execution of a disabled action is skipped.

Possible combinations of configuration

The following configurations are mutually exclusive and cannot be executed simultaneously:
  • Item ID - The action is performed on an item with the specified ID in the list where the workflow was initiated.
  • Item ID + List - The action is performed on an item with the specified ID in the list identified by its provided internal name.
  • Item Url - The action is executed on an item with the provided URL adress
  • CAML Query - The action is performed on an item located using the provided CAML Query in the list where the workflow was initiated.
  • CAML Query + List - The action is performed on an item located using the provided CAML Query in the list identified by its provided internal name.

Delete item

icon

Action enables delete current or related item. Workflow instances will be terminated and the item itself will be deleted from SharePoint.

Properties Description Value / Comment
Force Delete item without recycle to bin.
  • Off
  • On
Item id If empty, workflow associated item is processed. Otherwise you may specify item id of the item to process.
List If item id is specified, it is also required to specify list name.
CAML query CAML query for item retrieval. Might be used instead direct entering of item id or instead of current context item.
Item url Instead of item id you may use item full URL.
Recursive If enabled, action is applied to item and if item is folder, also to items in folder.
  • Off
  • On
Scope Scope for CAML query
  • Default
  • Recursive
  • Recursive all
  • Files only
Behavior Behavior for retrieving an item.
  • Default
  • ThrowError
  • Ignore
Label Descriptive label shown in the action editor.
Disabled The execution of a disabled action is skipped.

Possible combinations of configuration

The following configurations are mutually exclusive and cannot be executed simultaneously:
  • Item ID - The action is performed on an item with the specified ID in the list where the workflow was initiated.
  • Item ID + List - The action is performed on an item with the specified ID in the list identified by its provided internal name.
  • Item Url - The action is executed on an item with the provided URL adress
  • CAML Query - The action is performed on an item located using the provided CAML Query in the list where the workflow was initiated.
  • CAML Query + List - The action is performed on an item located using the provided CAML Query in the list identified by its provided internal name.

Read task property

icon

Enables to read metadata from existing tasks.

Properties Description Value / Comment
Task instance ID Multitask ID is generated ID for every new task action. To get the last task you can use replace token {wf:LastMultiTaskId} {wf:LastMultiTaskId}
Target variable Workflow variable name to store action result ResultRead
Property name Property to read – for example CurrentUser or AssignType. All properties and values you can find in Wf_Instances list in Workflow data. Properties from Assign task activity. By default value:
CurrentUser
Label Descriptive label shown in the action editor.
Disabled The execution of a disabled action is skipped.

Query SP

icon

Query list items in SharePoint lists.

Properties Description Value / Comment
List URL Specify web relative list URL Approvers
Target variable Specify variable name where result will be stored. Result is stored in variable as XML. delegateUsers
Scope
  • Default – Enumeration whose values specify that all list items and all list folders in the current list folder are returned in the list view.
  • Recursive – Enumeration whose values specify that all list items in the list are returned in the list view.
  • RecursiveAll – Enumeration whose values specify that all list items and all list folders in the list are returned in the list view.
  • FilesOnly – Enumeration whose values specify that all list items in the current list folder are returned in the list view.
  • Default
  • Recursive
  • Recursive all
  • Files only
Query CAML query.
<Neq><FieldRef 
Name='LinkTitle' /><Value
Type='Computed'>
dsa</Value></Neq>
View fields Specify fields in result. <FieldRef
Name="appr_approverUser" />
Output format Specify output format of result stored in variable. XML/JSON
  • XML
  • JSON
Label Descriptive label shown in the action editor.
Disabled The execution of a disabled action is skipped.

Read column

icon

Only supported with TreeINFO application. Read single column from TreeINFO Advanced table column and store output in variable. Aggregation function might be applied to data.

Properties Description Value / Comment
Target field Internal name of field with advanced table XW_Table
Target variable Variable to store action output aa
Column index Index of column in table to be read. Index is zero based. 2
Column type Type of data in column. Type is used by aggregation functions to calculate correct output.
  • Auto
  • Text
  • User
  • Lookup value
  • Lookup id
Aggregation Aggregation function to be applied to data. If none is chosen, all values will be present in output separated by separator set in separator property.
  • None
  • Min
  • Max
  • Sum
  • Count
Separator Separator for outputting multiple values into output variable. By default value: $$
Row number Match row by index. For write: Specifies row number to be updated. If empty, row is added at the end of the table. For read or delete: Specifies row number to be read or deleted. If empty, row is latest at the end of the table. By default value: 0
Row expression Match row by expression, ex: '[columnIndex]' == 'some value'. If not empty, row expression has higher priority than row number. For write: Specifies row numbers to be updated. If empty, row is added at the end of the table. For read or delete: Specifies row numbers to be read or deleted. If empty, row is latest at the end of the table. [3] == {Item:ID}
Item ID If empty, workflow associated item is processed. Otherwise you may specify item ID of item to process.
List If item ID is specified, it is also required to specify list name.
CAML query CAML query for item retrieval. Might be used instead direct entering of item ID or instead of current context item
Item URL Instead of item ID you may use item full URL
  • For list items:
    /sites/wfengine/Wf_Items/140_.000
  • For library items:
    /sites/wfengine/DocLevel1/Invoice_18.pdf
Recursive If enabled, action is applied to item and if item is folder, also to items in folder.
  • Off
  • On
Scope Scope for CAML query
  • Default
  • Recursive
  • Recursive all
  • Files only
Behavior Behavior for retrieving an item
  • Default
  • ThrowError
  • Ignore
Label Descriptive label shown in the action editor.
Disabled The execution of a disabled action is skipped.

Possible combinations of configuration

The following configurations are mutually exclusive and cannot be executed simultaneously:
  • Item ID - The action is performed on an item with the specified ID in the list where the workflow was initiated.
  • Item ID + List - The action is performed on an item with the specified ID in the list identified by its provided internal name.
  • Item Url - The action is executed on an item with the provided URL adress
  • CAML Query - The action is performed on an item located using the provided CAML Query in the list where the workflow was initiated.
  • CAML Query + List - The action is performed on an item located using the provided CAML Query in the list identified by its provided internal name.

Read row

icon

Only supported with TreeINFO application. Read single row from TreeINFO Advanced table column and store output in variable. Aggregation function might be applied to data.

Properties Description Value / Comment
Target field Field to store the result of action XW_Table
Target variable Variable name to store the result of action.
Separator Data separator string. Separator for outputting multiple values into output variable. By default value: $$
Row number Match row by index. For write: Specifies row number to be updated. If empty, row is added at the end of the table. For read or delete: Specifies row number to be read or deleted. If empty, row is latest at the end of the table. By default value: 0
Row expression Match row by expression, ex: '[columnIndex]' == 'some value'. If not empty, row expression has higher priority than row number. For write: Specifies row numbers to be updated. If empty, row is added at the end of the table. For read or delete: Specifies row numbers to be read or deleted. If empty, row is latest at the end of the table. true
Item ID If empty, workflow associated item is processed. Otherwise you may specify item id of item to process.
List If item ID is specified, it is also required to specify list name.
CAML query CAML query for item retrieval. Might be used instead direct entering of item id or instead of current context item
Item URL Instead of item ID you may use item full URL
  • For list items:
    /sites/wfengine/Wf_Items/140_.000
  • For library items:
    /sites/wfengine/DocLevel1/Invoice_18.pdf
Recursive If enabled, action is applied to item and if item is folder, also to items in folder.
  • Off
  • On
Scope Scope for CAML query
  • Default
  • Recursive
  • Recursive all
  • Files only
Behavior Behavior for retrieving an item
  • Default
  • ThrowError
  • Ignore
Label Descriptive label shown in the action editor.
Disabled The execution of a disabled action is skipped.

Possible combinations of configuration

The following configurations are mutually exclusive and cannot be executed simultaneously:
  • Item ID - The action is performed on an item with the specified ID in the list where the workflow was initiated.
  • Item ID + List - The action is performed on an item with the specified ID in the list identified by its provided internal name.
  • Item Url - The action is executed on an item with the provided URL adress
  • CAML Query - The action is performed on an item located using the provided CAML Query in the list where the workflow was initiated.
  • CAML Query + List - The action is performed on an item located using the provided CAML Query in the list identified by its provided internal name.

Write table

icon

Only supported with TreeINFO application. Write to TreeINFO Advanced table column. Aggregation function might be applied to data.

Properties Description Value / Comment
Target field Advanced table field internal name. XW_Table
Values Value to be written. Columns are separated by the value set in separator property. {Func:GetSpDateTime}$${Wf:initiator}$${Item:XWF_Choice}
Keep tokens If true, TreeINFO replace tokens are not replaced on write. for multi-language translations
  • Off
  • On
Separator Separator of columns in row value. Separator for outputting multiple values into output variable. Can be changed by user preferences. By default value: $$
Row number Match row by index. For write: Specifies row number to be updated. If empty, row is added at the end of the table. For read or delete: Specifies row number to be read or deleted. If empty, row is latest at the end of the table.
Row expression Match row by expression, ex: '[columnIndex]' == 'some value'. If not empty, row expression has higher priority than row number. For write: Specifies row numbers to be updated. If empty, row is added at the end of the table. For read or delete: Specifies row numbers to be read or deleted. If empty, row is latest at the end of the table.
Item ID If empty, workflow associated item is processed. Otherwise you may specify item ID of item to process.¨
List If item ID is specified, it is also required to specify list name.
CAML query CAML query for item retrieval. Might be used instead direct entering of item id or instead of current context item
Item URL Instead of item ID you may use item full URL
  • For list items:
    /sites/wfengine/Wf_Items/140_.000
  • For library items:
    /sites/wfengine/DocLevel1/Invoice_18.pdf
Recursive If enabled, action is applied to item and if item is folder, also to items in folder.
  • Off
  • On
Scope Scope for CAML query
  • Default
  • Recursive
  • Recursive all
  • Files only
Behavior Behavior for retrieving an item
  • Default
  • ThrowError
  • Ignore
Label Descriptive label shown in the action editor.
Disabled The execution of a disabled action is skipped.

Possible combinations of configuration

The following configurations are mutually exclusive and cannot be executed simultaneously:
  • Item ID - The action is performed on an item with the specified ID in the list where the workflow was initiated.
  • Item ID + List - The action is performed on an item with the specified ID in the list identified by its provided internal name.
  • Item Url - The action is executed on an item with the provided URL adress
  • CAML Query - The action is performed on an item located using the provided CAML Query in the list where the workflow was initiated.
  • CAML Query + List - The action is performed on an item located using the provided CAML Query in the list identified by its provided internal name.

Delete table row

icon

Only supported with TreeINFO application. Delete row from TreeINFO Advanced table.

Properties Description Value / Comment
Target field Advanced table field’s internal name. XW_Table
Separator Separator of columns in row value. Separator for outputting multiple values into output variable. Data separator string. By default value: $$
Row number Match row by index. For write: Specifies row number to be updated. If empty, row is added at the end of the table. For read or delete: Specifies row number to be read or deleted. If empty, row is latest at the end of the table.
Row expression Match row by expression, ex: '[columnIndex]' == 'some value'. If not empty, row expression has higher priority than row number. For write: Specifies row numbers to be updated. If empty, row is added at the end of the table. For read or delete: Specifies row numbers to be read or deleted. If empty, row is latest at the end of the table.
Item ID If empty, workflow associated item is processed. Otherwise you may specify item id of item to process.¨
List If item ID is specified, it is also required to specify list name.
CAML query CAML query for item retrieval. Might be used instead direct entering of item id or instead of current context item
Item URL Instead of item Id you may use item full URL
  • For list items:
    /sites/wfengine/Wf_Items/140_.000
  • For library items:
    /sites/wfengine/DocLevel1/Invoice_18.pdf
Recursive If enabled, action is applied to item and if item is folder, also to items in folder.
  • Off
  • On
Scope Scope for CAML query
  • Default
  • Recursive
  • Recursive all
  • Files only
Behavior Behavior for retrieving an item
  • Default
  • ThrowError
  • Ignore
Label Descriptive label shown in the action editor.
Disabled The execution of a disabled action is skipped.

Possible combinations of configuration

The following configurations are mutually exclusive and cannot be executed simultaneously:
  • Item ID - The action is performed on an item with the specified ID in the list where the workflow was initiated.
  • Item ID + List - The action is performed on an item with the specified ID in the list identified by its provided internal name.
  • Item Url - The action is executed on an item with the provided URL adress
  • CAML Query - The action is performed on an item located using the provided CAML Query in the list where the workflow was initiated.
  • CAML Query + List - The action is performed on an item located using the provided CAML Query in the list identified by its provided internal name.

Delete permissions

icon

Remove role permission association from item.

Properties Description Value / Comment
Principal Principal identification to be removed.
  • jnovak
Level Level to be removed. If empty, all levels will be removed. Use Read/Write or permission levels in site collection.
  • None
  • Read
  • Write
Item id If empty, workflow associated item is processed. Otherwise you may specify item id of item to process. 3
List If empty, workflow associated item is processed. If List is specified, it is also required to specify item ID Level4
CAML query If empty, workflow associated item is processed. CAML query for item retrieval. Might be used instead direct entering of item id or instead of current context item
<Where><Eq>
<FieldRef Name='Location' />
<Value Type='Text'>Prague</Value>
</Eq></Where>
Item URL If empty, workflow associated item is processed. Instead of item ID you may use item full URL
  • For list items:
    /sites/wfengine/Wf_Items/140_.000
  • For library items:
    /sites/wfengine/DocLevel1/Invoice_18.pdf
Recursive If enabled, action is applied to item and if item is folder, also to items in folder.
  • Off
  • On
Scope Scope for CAML query
  • Default
  • Recursive
  • Recursive all
  • Files only
Behavior Behavior for retrieving an item
  • Default
  • ThrowError
  • Ignore
Label Descriptive label shown in the action editor.
Disabled The execution of a disabled action is skipped.

Possible combinations of configuration

The following configurations are mutually exclusive and cannot be executed simultaneously:
  • Item ID - The action is performed on an item with the specified ID in the list where the workflow was initiated.
  • Item ID + List - The action is performed on an item with the specified ID in the list identified by its provided internal name.
  • Item Url - The action is executed on an item with the provided URL adress
  • CAML Query - The action is performed on an item located using the provided CAML Query in the list where the workflow was initiated.
  • CAML Query + List - The action is performed on an item located using the provided CAML Query in the list identified by its provided internal name.

Get permissions

icon

Read permission settings into variable. Values retrieved might be filtered by level, mask or regular expression. Able to get permissions for specific person.

Properties Description Value / Comment
Target variable Name of variable to store result of action. ReadPerm
Principal Mask Principal name filter. Might be only part of name. to match "JanNovak", enter "Jan"
Use Regular Expression If enabled, principal mask can contain regular expression.
  • Off
  • On
Level Level name filter. Might be only part of the level name. Use Read/Write or permission levels in site collection.
  • None
  • Read
  • Write
Item id If empty, workflow associated item is processed. Otherwise you may specify item id of item to process. 3
List If empty, workflow associated item is processed. If List is specified, it is also required to specify item ID Level4
CAML query If empty, workflow associated item is processed. CAML query for item retrieval. Might be used instead direct entering of item id or instead of current context item
<Where><Eq>
<FieldRef Name='Location' />
<Value Type='Text'>Prague</Value>
</Eq></Where>
Item URL If empty, workflow associated item is processed. Instead of item ID you may use item full URL
  • For list items:
    /sites/wfengine/Wf_Items/140_.000
  • For library items:
    /sites/wfengine/DocLevel1/Invoice_18.pdf
Recursive If enabled, action is applied to item and if item is folder, also to items in folder.
  • Off
  • On
Scope Scope for CAML query
  • Default
  • Recursive
  • Recursive all
  • Files only
Behavior Behavior for retrieving an item
  • Default
  • ThrowError
  • Ignore
Label Descriptive label shown in the action editor.
Disabled The execution of a disabled action is skipped.

Possible combinations of configuration

The following configurations are mutually exclusive and cannot be executed simultaneously:
  • Item ID - The action is performed on an item with the specified ID in the list where the workflow was initiated.
  • Item ID + List - The action is performed on an item with the specified ID in the list identified by its provided internal name.
  • Item Url - The action is executed on an item with the provided URL adress
  • CAML Query - The action is performed on an item located using the provided CAML Query in the list where the workflow was initiated.
  • CAML Query + List - The action is performed on an item located using the provided CAML Query in the list identified by its provided internal name.

Set permissions

icon

Add permission assignment for a user principal to item.

Properties Description Value / Comment
Principal Principal name to assign permissions TestGroup
Level Permission level to assign. Use Read/Write or permission levels in site collection.
  • None
  • Read
  • Write
Overwrite If enabled, user permissions not specified in action will be removed
  • Off
  • On
Item id If empty, workflow associated item is processed. Otherwise you may specify item id of item to process. 3
List If empty, workflow associated item is processed. If List is specified, it is also required to specify item ID Level4
CAML query If empty, workflow associated item is processed. CAML query for item retrieval. Might be used instead direct entering of item id or instead of current context item
<Where><Eq>
<FieldRef Name='Location' />
<Value Type='Text'>Prague</Value>
</Eq></Where>
Item URL If empty, workflow associated item is processed. Instead of item ID you may use item full URL
  • For list items:
    /sites/wfengine/Wf_Items/140_.000
  • For library items:
    /sites/wfengine/DocLevel1/Invoice_18.pdf
Recursive If enabled, action is applied to item and if item is folder, also to items in folder.
  • Off
  • On
Scope Scope for CAML query
  • Default
  • Recursive
  • Recursive all
  • Files only
Behavior Behavior for retrieving an item
  • Default
  • ThrowError
  • Ignore
Label Descriptive label shown in the action editor.
Disabled The execution of a disabled action is skipped.

Possible combinations of configuration

The following configurations are mutually exclusive and cannot be executed simultaneously:
  • Item ID - The action is performed on an item with the specified ID in the list where the workflow was initiated.
  • Item ID + List - The action is performed on an item with the specified ID in the list identified by its provided internal name.
  • Item Url - The action is executed on an item with the provided URL adress
  • CAML Query - The action is performed on an item located using the provided CAML Query in the list where the workflow was initiated.
  • CAML Query + List - The action is performed on an item located using the provided CAML Query in the list identified by its provided internal name.

Reset permissions

icon

Reset specific item permissions.

Properties Description Value / Comment
Reset type Reset permissions action:
  • Reset role inheritance – delete all custom permission settings and restore permissions to inherited state.
  • Break role inheritance – delete all custom permission settings and break permission inheritance.
  • Break role inheritance with copy – delete all custom permission settings and break permission inheritance, but copy permission settings from parent.
  • Break and author read – delete all custom permission settings and break permission inheritance, then adds read permission for author of the item
  • Break and author write – delete all custom permission settings and break permission inheritance, then adds contribute permission for author of the item
  • Reset role inheritance
  • Break role inheritance
  • Break role inheritance with copy
Item id If empty, workflow associated item is processed. Otherwise you may specify item id of item to process. 3
List If empty, workflow associated item is processed. If List is specified, it is also required to specify item ID Level4
CAML query If empty, workflow associated item is processed. CAML query for item retrieval. Might be used instead direct entering of item id or instead of current context item
<Where><Eq>
<FieldRef Name='Location' />
<Value Type='Text'>Prague</Value>
</Eq></Where>
Item URL If empty, workflow associated item is processed. Instead of item ID you may use item full URL
  • For list items:
    /sites/wfengine/Wf_Items/140_.000
  • For library items:
    /sites/wfengine/DocLevel1/Invoice_18.pdf
Recursive If enabled, action is applied to item and if item is folder, also to items in folder.
  • Off
  • On
Scope Scope for CAML query
  • Default
  • Recursive
  • Recursive all
  • Files only
Behavior Behavior for retrieving an item
  • Default
  • ThrowError
  • Ignore
Label Descriptive label shown in the action editor.
Disabled The execution of a disabled action is skipped.

Possible combinations of configuration

The following configurations are mutually exclusive and cannot be executed simultaneously:
  • Item ID - The action is performed on an item with the specified ID in the list where the workflow was initiated.
  • Item ID + List - The action is performed on an item with the specified ID in the list identified by its provided internal name.
  • Item Url - The action is executed on an item with the provided URL adress
  • CAML Query - The action is performed on an item located using the provided CAML Query in the list where the workflow was initiated.
  • CAML Query + List - The action is performed on an item located using the provided CAML Query in the list identified by its provided internal name.

Store permissions

icon

Store item permission state to variable. It is possible to restore permissions by Restore permissions activity.

Properties Description Value / Comment
Target variable Name of variable to store permission data StoredPerm
Item id If empty, workflow associated item is processed. Otherwise you may specify item id of item to process. 3
List If empty, workflow associated item is processed. If List is specified, it is also required to specify item ID Level4
CAML query If empty, workflow associated item is processed. CAML query for item retrieval. Might be used instead direct entering of item id or instead of current context item
<Where><Eq>
<FieldRef Name='Location' />
<Value Type='Text'>Prague</Value>
</Eq></Where>
Item URL If empty, workflow associated item is processed. Instead of item ID you may use item full URL
  • For list items:
    /sites/wfengine/Wf_Items/140_.000
  • For library items:
    /sites/wfengine/DocLevel1/Invoice_18.pdf
Recursive If enabled, action is applied to item and if item is folder, also to items in folder.
  • Off
  • On
Scope Scope for CAML query
  • Default
  • Recursive
  • Recursive all
  • Files only
Behavior Behavior for retrieving an item
  • Default
  • ThrowError
  • Ignore
Label Descriptive label shown in the action editor.
Disabled The execution of a disabled action is skipped.

Possible combinations of configuration

The following configurations are mutually exclusive and cannot be executed simultaneously:
  • Item ID - The action is performed on an item with the specified ID in the list where the workflow was initiated.
  • Item ID + List - The action is performed on an item with the specified ID in the list identified by its provided internal name.
  • Item Url - The action is executed on an item with the provided URL adress
  • CAML Query - The action is performed on an item located using the provided CAML Query in the list where the workflow was initiated.
  • CAML Query + List - The action is performed on an item located using the provided CAML Query in the list identified by its provided internal name.

Restore permissions

icon

Restores item permission to state previously saved into variable by Store permissions action.

Properties Description Value / Comment
Source variable Name of variable with stored user permission data StoredPerm
Item id If empty, workflow associated item is processed. Otherwise you may specify item id of item to process. 3
List If empty, workflow associated item is processed. If List is specified, it is also required to specify item ID Level4
CAML query If empty, workflow associated item is processed. CAML query for item retrieval. Might be used instead direct entering of item id or instead of current context item
<Where><Eq>
<FieldRef Name='Location' />
<Value Type='Text'>Prague</Value>
</Eq></Where>
Item URL If empty, workflow associated item is processed. Instead of item ID you may use item full URL
  • For list items:
    /sites/wfengine/Wf_Items/140_.000
  • For library items:
    /sites/wfengine/DocLevel1/Invoice_18.pdf
Recursive If enabled, action is applied to item and if item is folder, also to items in folder.
  • Off
  • On
Scope Scope for CAML query
  • Default
  • Recursive
  • Recursive all
  • Files only
Behavior Behavior for retrieving an item
  • Default
  • ThrowError
  • Ignore
Label Descriptive label shown in the action editor.
Disabled The execution of a disabled action is skipped.

Possible combinations of configuration

The following configurations are mutually exclusive and cannot be executed simultaneously:
  • Item ID - The action is performed on an item with the specified ID in the list where the workflow was initiated.
  • Item ID + List - The action is performed on an item with the specified ID in the list identified by its provided internal name.
  • Item Url - The action is executed on an item with the provided URL adress
  • CAML Query - The action is performed on an item located using the provided CAML Query in the list where the workflow was initiated.
  • CAML Query + List - The action is performed on an item located using the provided CAML Query in the list identified by its provided internal name.

Ensure group

icon

Checks for existence of a specified group either in Sharepoint or AD. If such group does not exist, it is created instead. Active Directory groups supported in On-Premises environment.

Properties Description Value / Comment
Group name Group name
GroupType Group type
  • SharePoint
  • Active Directory
Owner Owner
Description
Parameters Parameters for creation group
Label Descriptive label shown in the action editor.
Disabled The execution of a disabled action is skipped.

Group membership

icon

Activity enables multiple action with groups. Active Directory groups supported in On-Premises environment.

Properties Description Value / Comment
Group name Specify group name
Operation Define operation for group
  • Add member
  • Remove member
  • Clear all members
  • Count
  • Store all to target variable
  • Check user if exists in group
UserData Data to be either added, removed or checked. Works only with Add member, Remove Member and Check user if exists in group operations
Recursive If enabled, action is applied to item and if item is folder, also to items in folder.
  • Off
  • On
TargetVariable Variable to store action output
Label Descriptive label shown in the action editor.
Disabled The execution of a disabled action is skipped.

If action

icon

The If activity checks a condition to determine if a Success or Else activities should be taken. For easier editing of longer expressions there is a "Edit" button, which opens a modal window with the editor.

Properties Description Value / Comment
Expression Expression which is evaluated and by the result of expression it is decided if "Success" or "Else" actions will be processed.
Label Descriptive label shown in the action editor.
Disabled The execution of a disabled action is skipped.

With this If action we are evaluating if approval date is empty. It is a value that is automatically set when workflow is started. In this example workflow can be return to start state for cases when author needs to adjust some data on the form/item. But we want to keep the initial start date. We use expression '{Item:s_approvalStart}'.trim() === '' to determine if the field s_approvalStart is empty. If it is true, we set its value to get the date:

And then the workflow continues to execute the other actions. If the condition is not true, nothing will happen and workflow continues with other actions.

In this example, we set different state to different document types. Document type is dropdown field on form. In first If action we use condition, where we compare field s_invoiceType where the invoice type is stored to value CAPEX. The expression is '{Item:s_invoiceType}' == 'CAPEX'. If this is true (the value in form field s_invoiceType is CAPEX), workflow will set state to Capex and actions on Capex state will be executed. If it is not true, actions in Else will be executed. There is another If action to evaluate value of s_invoiceType field. The expression is '{Item:s_invoiceType}' == 'Material'. If true, workflow will set state to Material and actions on Material state will be executed. This will repeat until we compare all invoice types. In Else of the last If action is Set state where workflow set state to Cancelled. This will happen if the all the above condition are not met. For example invoice type is empty.


Loop action

icon

Use a Loop activity to automatically control the extraction of data from an array.

This activity lets you take a row at a time from the array and pass it through the workflow before looping back to get the next row. For example, to send an email to a list of resources, you would perform a query to return the list.

Variables during process:
LOOP_INDEX – the current index being processed
LOOP_ITEM_KEY – current processed key (default index – 0, 1, 2..)
LOOP_ITEM_VALUE – current processed value (value of the key)
LOOP_ITEM_COUNT – number of processed indexes

Example of variables used in Write Table activity:

<WriteTiSaTable Disabled="false" Recursive="false" TargetField="s_approvalProcessHistory" Values="{Func:GetSpDateTime}$${Wf:initiator}$$$$### {wf:LOOP_ITEM_KEY} {wf:LOOP_ITEM_VALUE}" KeepTiSaTokens="false" />
Properties Description Value / Comment
Expression If an expression is defined, the loop ends according to its evaluation.
Limit Max loop iterations By default value: 1000
Type Select type of data source
  • InfinityLoop
  • Numeric
  • SeparatedString
  • JSON
  • SP
  • XML
DataSource Set data source by type
DataSourceConfiguration Set data source configuration by type
Label Descriptive label shown in the action editor.
Disabled The execution of a disabled action is skipped.

Numeric

The "Numeric" type is used to handle a series of numbers, separated by a specific delimiter. This is particularly useful when you need to process a list of numeric values within a single string input.

Configuration Options

  • Separator: The character used to divide each number in the string. Common separators include a comma (,), a pipe (|), or a semicolon (;).
  • Javascript Field: Optionally, a JavaScript field can be used to dynamically modify or calculate values in this list.
<DataSource>5..8</DataSource>
<DataSource>6,8,79,6,-12,0</DataSource>
                            

Separated string

The "Separated String" is a data structure used to handle lists of values within a string. Each value in the string is separated by a designated delimiter, making it possible to extract individual entries. This is particularly useful when processing or iterating over multiple entries from a single string input.

Configuration Options

  • Separator: The character or characters used to divide values in the string. For example, a semicolon (;), a pipe (|), or any other delimiter.
  • Trim: When set to true, this option removes any leading or trailing whitespace from each entry in the separated string.
  • Reverse: If set to true, the separated string entries will be processed in reverse order.
  • RemoveEmptyEntries: When enabled (true), this option removes any empty entries from the separated string. This is helpful if there are multiple delimiters in a row, which might otherwise create empty entries in the list.
<DataSource>jedna;dva;tři;čtyři</DataSource>
<DataSource>jedna|dva a dva||tři  |čtyři|</DataSource>
<DataSourceConfiguration>
    {"Separator": ["|"], "Trim": true, "Reverse": false, "RemoveEmptyEntries": true}
</DataSourceConfiguration>

Json

The "JSON" type allows processing structured data, enabling you to work with complex objects or arrays within a JSON string. This setup is ideal when extracting specific fields or values from JSON-based data structures.

Configuration Options

  • DataSourceConfiguration: Configures the JSON parsing behavior with several options:
    • KeyExpression: Defines the index or key name to identify each item within the JSON. If not explicitly set, the system automatically assigns an index.
    • ValueExpression: Specifies the attribute to extract from each JSON object. This expression uses JSONPath notation (e.g., $.Value1).
    • Reverse: If set to true, processes the JSON items in reverse order.

SP

This configuration is set up to retrieve and use specific data from a SharePoint list or data source using CAML queries and JSON expressions.

Configuration Options

  • DataSource: Required – a relative path to a list on the current website is expected, e.g., Lists/TestList or SiteAssets.
  • DataSourceConfiguration: The configuration is entered here in JSON format. If a property is not needed, it does not need to be specified.
    • CAML : (optional) – If set, the selection of items from the list is restricted based on the CAML query (depending on the "Scope" property setting).
    • KeyField : (optional) – Selects the value of a field from the item. The value is available in the automatically created variable LOOP_ITEM_KEY. If not defined, the variable is automatically populated with the item's ID.
    • ValueField : (optional) – Selects the value of a field from the item. The value is available in the automatically created variable LOOP_ITEM_VALUE. If not defined, the variable is automatically populated with the item's title.
    • UseContextItem : If set to true, the current item is set as the context item for the duration of the loop. This setting is useful when working with items from the source beyond the KeyField/ValueField and the original context item is not required. For example, bulk updating item properties.
    • Scope : (optional) – Changes the scope for the CAML query, with the default value being Default. Possible values are: Default, Recursive, RecursiveAll.

    <DataSource>
    SiteAssets
    </DataSource>

    Default configuration
    <DataSourceConfiguration>
    {
    "CAML": "",
    "KeyField": "",
    "ValueField": "",
    "UseContextItem": true,
    "Scope": "Default"
    }
    </DataSourceConfiguration>

    Example 1.
    Generating the AT table based on a query to the contacts list. The contacts list contains folders organized by departments, and it is necessary 
to select items where the condition Age >= 21 is met. The data source configuration might be as follows: <DataSourceConfiguration> { "CAML": "21" "Scope": "Recursive" } </DataSourceConfiguration> Example 2. In the register, it is necessary to synchronize the company name for entries with the same Company ID (IČO). The values will be stored in variables,
and within the loop, the context item will be changed. <DataSourceConfiguration> { "CAML": "{item:ico}" "UseContextItem": true } </DataSourceConfiguration>

Xml

You can configure the loop to target specific elements or attributes in an XML structure by using XPath expressions in SourceExpression, KeyExpression, and ValueExpression. This allows you to navigate the XML document, select nodes, and retrieve attributes or text values.

Configuration Options

  • SourceExpression: Defines the path to select elements in XML.
  • KeyExpression: Specifies an attribute to use as a unique identifier.
  • ValueExpression: Specifies the text content of an element or leaves blank for default text.
  • Reverse: Optionally reverses the loop iteration.
<DataSource>
  <root>
    <items>
      <item key="a1">
        <somevalue>abc</somevalue>
      </item>
      <item key="a2">
        <somevalue>def</somevalue>
      </item>
    </items>
  </root>
</DataSource>

<DataSourceConfiguration>
{
	"SourceExpression":"//item",          // XPath to select all <item> elements
	"KeyExpression":"@key",               // Selects the "key" attribute in <item> (e.g., "a1", "a2")
	"ValueExpression":"somevalue",        // Selects the <somevalue> element text (e.g., "abc", "def")
	"Reverse": false                      // Optional, set to true to iterate in reverse order
}
</DataSourceConfiguration>
<DataSource>
  <root>
    <items>
      <item key="a1">
        <somevalue x="11">abc</somevalue>
      </item>
      <item key="a2">
        <somevalue x="12">def</somevalue>
      </item>
    </items>
  </root>
</DataSource>

<DataSourceConfiguration>
{
	"SourceExpression":"//somevalue",     // XPath to select all <somevalue> elements
	"KeyExpression":"@x",                 // Selects the "x" attribute (e.g., "11", "12")
	"ValueExpression":"",                 // An empty string means to use the element text (e.g., "abc", "def")
	"Reverse": false                      // Optional, iterate in normal order
}
</DataSourceConfiguration>

Infinity loop

In this setup, you’re configuring an infinite loop that continues until a specified condition is met. This kind of loop doesn’t use a data source to iterate over, but rather relies on an expression to control the loop's duration and stop criteria.

Loop will continue to execute as long as the specified expression evaluates to true. This can be useful for cases where you need to repeat an action a certain number of times or until a condition is met, but be cautious as it could lead to infinite processing if the condition is never met.

Be mindful to set the expression and limit carefully to avoid an actual infinite loop that could strain resources or cause errors in the workflow system.

Expression="{wf:LOOP_INDEX} < 5"
Limit="10"

Try-Catch

icon

A Try-Catch activity tries to execute its Try actions. If the Try activity throws any exception, the TryCatch activity uses its Catch collection to match the exception.

Properties Description Value / Comment
Error Message Variable Name of variable for store Error Message.
Stack Trace Variable Name of variable for store Stack Trace.
Label Descriptive label shown in the action editor.
Disabled The execution of a disabled action is skipped.

Throw error

icon

Activity to throw error statement.

Properties Description Value / Comment
Error Message Define Error message text.
Label Descriptive label shown in the action editor.
Disabled The execution of a disabled action is skipped.

Break

icon

The Break activity enables you to stop the loop at a chosen point, and then continues with the next activity.

Properties Description Value / Comment
Label Descriptive label shown in the action editor.
Disabled The execution of a disabled action is skipped.

Continue

icon

Enables you to skip the remaining steps in the current iteration inside a loop activity.

Properties Description Value / Comment
Label Descriptive label shown in the action editor.
Disabled The execution of a disabled action is skipped.

Wait for value

icon

Define a value for which the workflow will wait. Use this when you need repeatedly check to see if a condition is met (an automatic number is generated by receiver or wait for external source to fill in the value).

Properties Description Value / Comment
Timeout Web service or web request call timeout in milliseconds. By default value: 30
Tick Tick interval for testing field value. By default value: 5
Target field Field to store the result of action.
WaitFor Reason for wait for activity.
  • AnyValue
  • Specific Value
  • IsNotSpecificValue
  • ChangedValue
  • Expression
  • Delay
Value Value to be processed by action.
Expression Expression to be evaluated.
Item id If empty, workflow associated item is processed. Otherwise you may specify item id of item to process.
List If item id specified, it is also required to specify list name.
CAML query CAML query for item retrieval. Might be used instead direct entering of item id or instead of current context item.
Item URL Instead of item ID you may use item full URL
  • For list items:
    /sites/wfengine/Wf_Items/140_.000
  • For library items:
    /sites/wfengine/DocLevel1/Invoice_18.pdf
Recursive If enabled, action is applied to item and if item is folder, also to items in folder.
  • Off
  • On
Scope Scope for CAML query
  • Default
  • Recursive
  • Recursive all
  • Files only
Behavior Behavior for retrieving an item
  • Default
  • ThrowError
  • Ignore
Label Descriptive label shown in the action editor.
Disabled The execution of a disabled action is skipped.

Possible combinations of configuration

The following configurations are mutually exclusive and cannot be executed simultaneously:
  • Item ID - The action is performed on an item with the specified ID in the list where the workflow was initiated.
  • Item ID + List - The action is performed on an item with the specified ID in the list identified by its provided internal name.
  • Item Url - The action is executed on an item with the provided URL adress
  • CAML Query - The action is performed on an item located using the provided CAML Query in the list where the workflow was initiated.
  • CAML Query + List - The action is performed on an item located using the provided CAML Query in the list identified by its provided internal name.

Convert document

icon

Convert document from word to PDF using Word automation service. Not applicable for SharePoint Online.

Properties Description Value / Comment
Source URL If empty, workflow associated item is processed. Otherwise you may specify full file URL. http://sps/sites/site1/Docs/document.docx
Destination URL If empty, workflow associated item is processed and the extension will be changed to PDF. Otherwise you may specify full file URL. http://sps/sites/site1/Docs/document.pdf
Label Descriptive label shown in the action editor.
Disabled The execution of a disabled action is skipped.

To ensure proper functionality, additional configurations are required in the central administration:

  • Navigate to the following path and verify that "Word Automation Services" has the "Started" status: Application Management/Service Applications/Manage services on server. Service Check
  • If the service status is "Not started", it needs to be installed first. Proceed to the following path and click on "New", then select "Word Automation Services": Application Management/Service Applications/Manage service applications. New Service
  • On the subsequent page, provide a name and choose whether to add this service to an existing application pool or create a new one. Click "Next". New Service Settings One
  • Fill in the Database Server and Name fields for where this service will run, then click "Finish". New Service Settings Two
  • Once the installation is complete, navigate to the following path and select the SharePoint Web Application: Application Management/Service Applications/Service Application Associations. Service Application Associations Settings One
  • On the subsequent page, switch from "Default" to "Custom" and ensure that all previously selected options in the default setting are checked, along with your Word Automation Service. Service Application Associations Settings Two
  • Finally, verify if the service is running correctly by accessing the following path: Application Management/Service Applications/Manage services on server. Service Check

Set variable

icon

Set variable value. If variable doesn’t exist, new is automatically created.

Properties Description Value / Comment
Variable name Specify name of the variable. After setting the variable you can use replace token {WF:VariableName} where VariableName is specified name in this action. VariableName
Value Specify value of the variable. You can use replace tokens and other variables. {Item:Departments}
Workflow internal name Specify internal name of the workflow you want to start. May differ from the current workflow instance.
Label Descriptive label shown in the action editor.
Disabled The execution of a disabled action is skipped.

Set state

icon

Set specific state in current workflow to skip task interaction. Common usage is in "If" action you can set different states based on expression.

There is limited number of hops to new state, workflow is only allowed to do 50 Set state actions per event processing (e.g. in one processinf of completed task or one start of workflow event).

Properties Description Value / Comment
State internal name Specify state Internal name. In the designer it will be displayed as dashed transition. NotApproved
Transition internal name Optionally specify a transition, when multiple transitions is defined.
Disable transition Disable process actions from transition if exist.
  • Inherit
  • Set
  • Off
  • On
Label Descriptive label shown in the action editor.
Disabled The execution of a disabled action is skipped.

Write log

icon

Write log entry into WF Engine log.

Properties Description Value / Comment
Value Log entry value. You can use also replace tokens and variables. "Starting workflow in item with title {Item:Title}"
Log level Log level severity
  • Trace
  • Debug
  • Info
  • Warn
  • Error
  • Fatal
Label Descriptive label shown in the action editor.
Disabled The execution of a disabled action is skipped.

Start workflow

icon

Start an additional workflow. If you specify only internal name, workflow will start on current item.

Properties Description Value / Comment
Workflow run options
  • Default – if the instance is already running, it throws an error
  • Force – terminates the previous instance and starts a new instance
  • Try – does not raise an error if it is already running, the original instance is running
  • Default
  • Force
  • Try
Workflow variables You can add variables used in start form.
Variable needs to be initialized in XML of target form as well as StartForm attribute to be set to true in order for this function to work properly.
Workflow internal name Specify internal name of the workflow you want to start. Approval
Item ID If empty, workflow associated item is processed. Otherwise you may specify item id of item to process.
List If item ID is specified, it is also required to specify list name.
CAML query CAML query for item retrieval. Might be used instead direct entering of item id or instead of current context item
Item URL Instead of item ID you may use item full URL
  • For list items:
    /sites/wfengine/Wf_Items/140_.000
  • For library items:
    /sites/wfengine/DocLevel1/Invoice_18.pdf
Recursive If enabled, action is applied to item and if item is folder, also to items in folder.
  • Off
  • On
Scope Scope for CAML query
  • Default
  • Recursive
  • Recursive all
  • Files only
Behavior Behavior for retrieving an item
  • Default
  • ThrowError
  • Ignore
Label Descriptive label shown in the action editor.
Disabled The execution of a disabled action is skipped.

Possible combinations of configuration

The following configurations are mutually exclusive and cannot be executed simultaneously:
  • Item ID - The action is performed on an item with the specified ID in the list where the workflow was initiated.
  • Item ID + List - The action is performed on an item with the specified ID in the list identified by its provided internal name.
  • Item Url - The action is executed on an item with the provided URL adress
  • CAML Query - The action is performed on an item located using the provided CAML Query in the list where the workflow was initiated.
  • CAML Query + List - The action is performed on an item located using the provided CAML Query in the list identified by its provided internal name.

Stop workflow

icon

Stop an additional workflow. If you specify only internal name, workflow will stop on current item.

Properties Description Value / Comment
Workflow run options
  • Default – if the instance is already running, it throws an error
  • Force – terminates the previous instance and starts a new instance
  • Try – does not raise an error if it is already running, the original instance is running
  • Default
  • Force
  • Try
Workflow internal name Specify internal name of the workflow you want to stop. Approval
Item ID If empty, workflow associated item is processed. Otherwise you may specify item ID of item to process.
List If item ID is specified, it is also required to specify list name.
CAML query CAML query for item retrieval. Might be used instead direct entering of item id or instead of current context item
Item URL Instead of item ID you may use item full URL
  • For list items:
    /sites/wfengine/Wf_Items/140_.000
  • For library items:
    /sites/wfengine/DocLevel1/Invoice_18.pdf
Recursive If enabled, action is applied to item and if item is folder, also to items in folder.
  • Off
  • On
Scope Scope for CAML query
  • Default
  • Recursive
  • Recursive all
  • Files only
Behavior Behavior for retrieving an item
  • Default
  • ThrowError
  • Ignore
Label Descriptive label shown in the action editor.
Disabled The execution of a disabled action is skipped.

Possible combinations of configuration

The following configurations are mutually exclusive and cannot be executed simultaneously:
  • Item ID - The action is performed on an item with the specified ID in the list where the workflow was initiated.
  • Item ID + List - The action is performed on an item with the specified ID in the list identified by its provided internal name.
  • Item Url - The action is executed on an item with the provided URL adress
  • CAML Query - The action is performed on an item located using the provided CAML Query in the list where the workflow was initiated.
  • CAML Query + List - The action is performed on an item located using the provided CAML Query in the list identified by its provided internal name.

Is running

icon

Check if workflow is running.

Properties Description Value / Comment
Target variable Variable name to store the result of action.
Workflow internal name Specify internal name of the workflow you want to start.
Item ID If empty, workflow associated item is processed. Otherwise you may specify item ID of item to process.
List If item ID is specified, it is also required to specify list name.
CAML query CAML query for item retrieval. Might be used instead direct entering of item id or instead of current context item.
Item URL Instead of item ID you may use item full URL.
  • For list items:
    /sites/wfengine/Wf_Items/140_.000
  • For library items:
    /sites/wfengine/DocLevel1/Invoice_18.pdf
Recursive If enabled, action is applied to item and if item is folder, also to items in folder.
  • Off
  • On
Scope Scope for CAML query
  • Default
  • Recursive
  • Recursive all
  • Files only
Behavior Behavior for retrieving an item
  • Default
  • ThrowError
  • Ignore
Label Descriptive label shown in the action editor.
Disabled The execution of a disabled action is skipped.

Possible combinations of configuration

The following configurations are mutually exclusive and cannot be executed simultaneously:
  • Item ID - The action is performed on an item with the specified ID in the list where the workflow was initiated.
  • Item ID + List - The action is performed on an item with the specified ID in the list identified by its provided internal name.
  • Item Url - The action is executed on an item with the provided URL adress
  • CAML Query - The action is performed on an item located using the provided CAML Query in the list where the workflow was initiated.
  • CAML Query + List - The action is performed on an item located using the provided CAML Query in the list identified by its provided internal name.

Web request

icon

Call web request. Web request is an activity that can execute HTTP request without the need for Web Service proxy (e.g. to call REST services).

Properties Description Value / Comment
URL Web service URL.
Method name Web service method to be called.
  • Get
  • Post
UserAgent User agent value for request. If empty, value is "Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.1; WOW64; Trident/6.0)"
Accept Accept value for request. If empty, value is: "text/html,application/xhtml+ xml,application/xml;q=0.9,*/*;q=0.8"
Content type Content type value for request. If Empty, value is: "application/x-www-form-urlencoded"
Response encoding Response data format.
  • Text
  • Binary
  • ContentLenght
PreAuthenticate Enable PreAuthenticate.
  • Off
  • On
Async Enable async call.
  • Off
  • On
Form data Request input data.
Web request POST body Raw body of the web request.
Headers Request additional headers.
User name Authentication user name
Password Authentication password
Timeout Web service or web request call timeout in milliseconds.
Error Action Workflow activity behavior when errors occur.
  • ThrowError
  • Continue
Target variable Variable name to store the result of action.
Label Descriptive label shown in the action editor.
Disabled The execution of a disabled action is skipped.

Call webservice

icon

Call web service. Allowed web service type is only service with WSDL definition.

Properties Description Value / Comment
URL Web service URL
Method name Web service method to be called
Service name Optional attribute, if service WSDL contains multiple services, name must be specified. In other cases, default service name is used and property should be empty.
Parameters Web service method parameter values.
User name Authentication user name.
Password Authentication password.
Timeout Web service or web request call timeout in milliseconds.
Error Action Workflow activity behavior when errors occur.
  • ThrowError
  • Continue
Target variable Workflow variable name to store web service call result.
Label Descriptive label shown in the action editor.
Disabled The execution of a disabled action is skipped.

Query XML

icon

Query XML data using XPath.

Properties Description Value / Comment
XML Value Insert XML here or use variable with XML document (Usually its output from Query SP Action)
XPath expression Insert XPath expression.
Target variable Variable where is result stored
Output format If multiple values are retrieved by XPath query, output format specifies in which format data will appear in result.
  • XML
  • Delimited
Record delimiter For delimited output, this property specifies what record delimiter will be.
Field delimiter For delimited output, this property specifies what field delimiter will be.
Label Descriptive label shown in the action editor.
Disabled The execution of a disabled action is skipped.

Query SQL

icon

Query SQL data

Properties Description Value / Comment
Connection string Connection string for connecting to SQL database
Command text SQL query command text for executing
Input parameters Input parameters collection
Output mode Defines formatting SQL result output
  • Text
  • Separated string
  • JSON
Output variable Output variable where result value is stored
Output variables Variables for mapping result values
Label Descriptive label shown in the action editor.
Disabled The execution of a disabled action is skipped.

Change context

icon

Change context of executions of actions specified in this container

Properties Description Value / Comment
Site URL If not empty, item is looked up in different site. Url needs to be specified in this field
Item id If empty, workflow associated item is processed. otherwise you may specify item id of item to process
List If item id is specified, it is also required to specify list name
CAML query CAML query for item retrieval. Might be used instead of direct entering of item id or instead of current context item
Item url Instead of item Id you may use item full URL
Recursive If enabled, action is applied to item and item is folder, also to items in folder.
Scope Scope of CAML query
  • Default
  • Recursive
  • RecursiveAll
  • Files only
Behavior Behavior for retrieving an item
  • Default
  • ThrowError
  • Ignore
Label Descriptive label shown in the action editor
Disabled The execution of a disabled action is skipped.

Possible combinations of configuration

The following configurations are mutually exclusive and cannot be executed simultaneously:
  • Item ID - The action is performed on an item with the specified ID in the list where the workflow was initiated.
  • Item ID + List - The action is performed on an item with the specified ID in the list identified by its provided internal name.
  • Item Url - The action is executed on an item with the provided URL adress
  • CAML Query - The action is performed on an item located using the provided CAML Query in the list where the workflow was initiated.
  • CAML Query + List - The action is performed on an item located using the provided CAML Query in the list identified by its provided internal name.

Is user in group

icon

Check if specified user is member of Active Directory group and result is set to specified variable (True / False). Not applicable for SharePoint Online.

Properties Description Value / Comment
Target variable Specify variable where action result is stored. Result is True or False. IsAccountant
User name Specify user name or use replace token. {wf:Initiator}
Group name Specify SharePoint group name. wf-Accountants
Label Descriptive label shown in the action editor. Member of accountants?
Disabled The execution of a disabled action is skipped.

Action container

icon

Container for activities. Action that does not have a function – only stores action to logical units. Can be copied with all nested actions.

Properties Description Value / Comment
Label Descriptive label shown in the action editor.
Disabled The execution of a disabled action is skipped.

Save Changes

icon

Save changes made to context item. In case of problems with data storage and troubleshooting. A workflow stores data only after it has processed all activities.

Properties Description Value / Comment
Label Descriptive label shown in the action editor.
Disabled The execution of a disabled action is skipped.

Cancel Changes

icon

Cancel all changes made to context item and reload context item. In case of problems with data storage and troubleshooting. A workflow stores data only after it has processed all activities.

Properties Description Value / Comment
Label Descriptive label shown in the action editor.
Disabled The execution of a disabled action is skipped.

Replace Tokens

Replaceable parameters, or tokens, can be used to provide values for SharePoint solution items which actual values aren't known at design time. Replace tokens integrate the use of certain functions in the workflow. Allows to repurpose or reuse variable set to SharePoint columns to customize email notifications, user tasks or fields on form.

Replace token is defined with keyword followed by colon and block of code designed to perform a particular task.

The code to be executed is placed inside curly brackets: {}.

Parameters are listed inside the parentheses () separated by commas. Add custom text inside "".

Replace tokens can be merged together – as a nested function {Func:GetUserTitle({Func:GetMatrixUsers(Wf_ApprovalMatrix)})} or by adding different replace tokens together with custom text – New item to approve {Item:Title} by {Wf:initiator}.


Prefix Item

Replace token with keyword Item {Item:xxx}. Will return field values from current Item running the workflow. Allows to repurpose or reuse values set to SharePoint columns to customize email notifications, user tasks or conditions in workflow. For xxx can be used any SharePoint column that is defined for item.

Example: Definition {Item:Title} will return to specified field value from Title field.

User type of field

Designed for user data fields – user login, SharePoint group and / or Active Directory group.

To better display values use properties which return more detailed values.

Replace token Description Value / Comment
{Item:Approvers} Retrieves value of Author field in system format.
Retrieves internal name for field defined by SP group.
Retrieves value for field defined by AD group.
i:0#.w|dev\jnovak
AdminUsers
DEV\testgroup
{Item:Approvers.Id} Property ID retrieves user ID within the site 2
{Item:Approvers.Name} Property Name retrieves display name of the user Jan Novák
{Item:Approvers.IsSiteAdmin} Retrieves value true / false depending on whether the user is site collection administrator True
{Item:Approvers.email} Retrieves email address jan.novak@aricoma.com

Multiple User usage

Multiple users are defined within a field.

Replace token Description Value / Comment
{Item:Users} Retrieves field value in system format. i:0#.w|dev\jnovak;i:0#.w|dev\test1
{Item:Users.Id} Property Id retrieves user ID within the site, separated by a semicolon 2;10
{Item:Users.Name} Property Name retrieves display name of the user Jan Novák;Test User 1
{Item:Users.IsSiteAdmin} Retrieves value true / false depending on whether the user is site collection administrator True / False
{Item:Users.email} Retrieves email address jan.novak@aricoma.com; test1@aricoma.com

Frequently used tokens

Replace token Description Value / Comment
{Item:Id} Retrieves ID value 45
{Item:Url} Retrieves current item relative URL address /sites/wfengine/Level3/46_.000
{Item:ContentTypeName} Retrieves content type internal name WFItem
{Item:ContentTypeId} Retrieves content type ID 0x010080D03C4FB376944E9E623EE81E9C21E50035AE86AADD1C03
{Item:DisplayFormUrl} Retrieves display form relative URL address /sites/wfengine/Level3/DispForm.aspx?Id=49
{Item:EditFormUrl} Retrieves edit form relative URL address /sites/wfengine/Level3/EditForm.aspx?Id=50
{Item:DisplayFormFullUrl} Retrieves display form absolute URL address http://devsp/sites/wfengine/Level3/DispForm.aspx?Id=51
{Item:EditFormFullUrl} Retrieves edit form absolute URL address http://devsp/sites/wfengine/Level3/EditForm.aspx?Id=52
{Item:ListId} Retrieves list ID value da8181b9-6ee9-48e9-b417-30e90e408479
{Item:ListUrl} Retrieves parent list URL Level3
{Item:FileExtension} Retrieves file extension for file in a document library .pdf
{Item:FileName} Retrieves file name for file in a document library Invoice_06
{Item:Attachments} Retrieves true or false, depending on whether the native SharePoint attachment field contains values True / False

Prefix WF

Workflow Engine sets some variables automatically. For active instances user can see values in Workflow data in ACTIVE INSTANCES. Prefix {WF:xxx} can be used to call variable defined by a workflow action, e.g. SET VARIABLE.

Replace token Description Value / Comment
{WF:Initiator} Retrieves the user account under which the instance was created i:0#.w|dev\irevilakova
{WF:InstanceId} 0e4ab564-0f26-4b2a-b1a3-efdff3c9c32b
{WF:LastMultiTaskId} 093020f2-7e69-4b51-b4d3-41138521ae16
{WF:TaskAssignedToUsers} Retrieves user to whom the task was assigned i:0#.w|dev\jnovak
{WF:LastTaskComment} Retrieves the last task comment I approve the document.
{WF:OutcomeLabel} Retrieves the value of selected outcome. approve
{wf:TASK_LAST_USER} Retrieves last user who processed the task. i:0#.w|dev\jnovak

Prefix Task

Prefix {Task:xxx} allows you to retrieve values from current task to email notification for Task approvers in workflow.

Replace token Description Value / Comment
{Task:AssignedTo} Retrieves value of users with current assigned task.
{Task:Wf_Comment} Retrieves value of task comment. Used for workflow history table entry.

Prefix TiSp

Prefix {TiSp:xxx} retrieves values from templates defined in TreeINFO application.


Functions

Replace token with keyword Func. With {Func:xxx} you can define a set of statements that performs a task or calculates a value to repurpose or reuse variable set to SharePoint columns.

Parameters are listed inside the parentheses () separated by commas.

Parameter6 – Optional, boolean – removes redundant symbols (such as dots and spaces) from the name of the file if set to true
Replace token Description Value / Comment
{Func:IsOnline} Retrieves value true/false depending on whether it is SharePoint Online or SharePoint On-Premises true/false
{Func:GetVariable(AssignTo,Review)} Archaic function – better option is {WF:variable}. Useful when workflow A calls workflow B and we need to retrieve variable AssignTo from workflow Review.
GetVariable(parameters)
lvl1appr
{Func:IsRunningWorkflow(Acquaint,{wf:publishedItemId},ISOValidDocuments)} Retrieves value true/false whether workflow is running.
{Func:IsRunningWorkflow(parameter1, parameter2, parameter3)}
Parameter 1 – workflow internal name
Parameter 2 – list item ID
Parameter 3 – list name
true/false
{Func:GetSpDate} Retrieves current date in format yyyy-MM-dd 2022-10-10
{Func:GetSpDateTime} Retrieves current date in format yyyy-MM-ddTHH:mm:SS 2022-10-10T22:27:17
{Func:GetWebUrl} Retrieves web full URL https://sp2022dev.local.int/sites/orders
{Func:GetWebRelativeUrl} Retrieves web relative URL /sites/orders
{Func:GetAppUrl} Retrieves url of current SP application https://sp2022dev.local.int
{Func:GetTiSaAppUrl()} Retrieves url of TiSa application https://sp2022dev.local.int/tisa
{Func:GetTiSaVariable(SystemUserName)} Retrieves variable value defined in TreeInfo application. Alternative to {TiSp:xxx} Administrator
{Func:GetItemId} Retrieves item ID. Alternative for Item.ID 2
{Func:GetParentFolderId} Retrieves parent folder ID. Applicable to libraries 1
{Func:FormatDate({Item:DueDate},MMMM)} Retrieves date in the specified format
{Func:FormatDate(parameter1, parameter2)}
Parameter1 – date
Parameter2 – date format according to DOCUMENTATION
august
{Func:DateAdd({Item:IssuedDay},month,1)} Add value to date
{Func:DateAdd(parameter1, parameter2, parameter3)}
Parameter1 – date
Parameter2 – datePart – year, month, day, hour, minute, second, workday
Parameter3 – amount
2022-08-22T08:51:14.0000000 -> 2022-09-22T08:51:14.0000000
{Func:DateDiff({Item:IssuedDay},{Item:DueDate},day,onlyPart)} Retrieves difference between two dates
{Func:DateDiff(parameter1, parameter2, parameter3, ?parameter4)}
Parameter1 – start date
Parameter2 – end date
Parameter3 – datePart – year, month, day, hour, minute, second, workday
Parameter4 – optional – onlyPart – without decimals
3
{func:DateCompare(Item:DueDate),{func:getspDatetime},true)} Compares first parameter with second one. If the first parameter is bigger then returns true.
{func:DateCompare(parameter1, parameter2, parameter3)}
Parameter1 – Date that is being compared
Parameter2 – Date that is being compared to
Paramater3 – boolean (default false) – optional – If set to true only date will be compared, if set to false time will be taken into consideration if provided
true
{Func:GetMatrixUsers(Wf_ApprovalMatrix)} Retrieves relevant approvers from the approval matrix if applied i:0#.w|local\test4;i:0#.w|local\test6
{Func:GetLookupValue({Item:Departments})} Retrieves lookup value without ID#; 1#;HR -> HR
{Func:GetLookupID({Item:Departments})} Retrieves ID value from lookup 1#;HR -> 1
{Func:Expr('{Item:amountWithoutVat}'.replace(',','.'))} Retrieves Javascript expression 857900,00 -> 857900.00
GetManagedMetadataTextField
{Func:GetUserTitle({Item:Author})} Retrieves user display name. For multiple users (separated by a semicolon) separates output. Jan Novák
{Func:GetUserEmail({Item:Author})} Retrieves user email jan.novak@example.com
{Func:GetUserId({Item:Author})} Retrieves user ID 12
{Func:ExpandUsers(AdminUsers)} Retrieves list of system names from AD / SP Group separated by semicolon i:0#.w|dev\jnovak;i:0#.w|dev\test1
{Func:JsonPath('{WF:LOOP_ITEM_KEY}', $[0].Key)} Function for extracting data out of json files
{Func:XPath(parameters)} Function for extracting data out of xml files
{Func:Substring('{Item:RequestDescription}', 60)} Function for trimming strings.
{Func:SubString(parameter1, parameter2, parameter3)}
Parameter1 – input
Parameter2 – max length of final string
{Func:GetValidName('{Item:ord_Applicant}', 40)} Function for trimming invalid characters #% *: <> \ / | `" '& {} $ @!
{Func:GetValidName(parameter1, parameter2, parameter3, parameter4, parameter5, parameter6)}
Parameter1 – input
Parameter2 – max length of final string
Parameter3 – true/1 will keep file extension
Parameter4 – file path
Parameter5 – host URL
i:0#.w|local\jnovak -> i_0_.w_local_jnovak
{Func:Enc(value,value)} Retrieves encoded value without special characters(/,) used in workflow arguments
{Func:Replace('{Item:Note}','Lorem', 'Dolor')} Replaces value in the text.
{Func:Replace(parameter1,parameter2,parameter3,parameter4)}
Parameter1 – input;
Parameter2 – what is being replaced
Parameter3 – replacing string
parameter4 – regex option
Lorem ipsum dolor sit amet, consectetuer adipiscing elit. -> Dolor ipsum dolor sit amet, consectetuer adipiscing elit.
{Func:Match({WF:str},abcd?(\\d+), 1, '')} For extracting a string from a text or regular expression
{Func:Match(parameter1, parameter2, parameter3, parameter4, ?parameter5)}
Parameter1 – string / input
Parameter2 – pattern
Parameter3 – matchGroups
Parameter4 – regexOptions
Parameter5 – optional – separator
{Func:Match({WF:str},(?[A-Za-z]+)(?\\d+), 'name,num', i, |)} -> ABC|789|abc|123|fgh|1298
{Func:EncText({Item:Comment})} For encoding invalid symbols; useful in workflow conditions
{Func:EncJson({Item:CurMessages})} For encoding invalid symbols in json files
{Func:EncLineBreak({Item:Comment})} Removes line breaks
{Func:Delegate({WF:signator}, sign)} Function for using workflow delegation function out of out of office settings. Definition is within workflow xml in configuration section. Not available in designer UI. Example code below.
{Func:UserProp({Task:AssignedTo}, Manager)} Retrieves user properties from Active Directory. For SharePoint Online, Workflow Engine must have read only permissions to Azure Active Directory. SharePoint On-Premises has automatically assigned rights.

Delegation definition example:

<Configuration SchemaVersion="3" StartForm="false" CustomForm="false" IsFormAsync="false" AllowMultipleInstances="false" IsTemplate="false" TemplateColor="" TemplateIcon="" TemplateSortOrder="0">
    <UserDelegations>
        <UserDelegation ListUrl="Wf_OOF" SiteUrl="{const:RootUrl}" UserField="XWF_OOF_User" UserDelegateField="XWF_OOF_UserSign" DateFromField="XWF_OOF_From" DateToField="XWF_OOF_To" Name="sign" />
    </UserDelegations>
    <Designer HasLayout="true" />
</Configuration>

Debugging

Activities grouped in group Debug allow user to accomplish debugging function.

The Workflow Designer provides the ability to debug workflows and custom activities. Debugger provides the possibility to test workflow functionality in the context of a particular instance. Like in debug programs written in other programming languages, you can trace events step by step, stop the instance at some point and try to observe behavior and variable values.

You can connect to a running instance, see the current values in it, and eventually try to run the activity in context of that instance and examine the result.

When connected to a workflow instance in the debugger, you can try functionality of various replace tokens.

In designed workflow click the Debug tab from ribbon.

Property Description Value / Comment
Run Runs the instance
Select instance Select from list of active instances running on items in list associated to current workflow.
List item ID Retrieves selected item ID
List URL Retrieves selected list URL

Click select instance to open a specific item with running instance. When selected, the ribbon changes – the item ID and list URL will be added.

icon

To practice the basic properties and functionalities (e.g. replace tokens) is ideal to use basic activity such as SET FIELD VALUE. You add it to your workflow and set required properties or choose from already existing actions. Go back to debug window. The action have to be selected (you see dotted line) to click the Run button..

A window will appear showing the properties related to selected action.

icon

Properties can be changed. Clicking the Run button in the lower right of the window will start the action in the background. Clicking Run will display the loading wheel so the user has information that the activity is being processed.

After the workflow is completed, the application log appears in the right part of the window. If the test action is successful, the tested value is overwritten in specified item field.

On tab Variables is list of replace tokens with values related for running instance.


Log

SharePoint Online

With the SharePoint Online solution, logs are recorded to our in-house Azure database and are therefore inaccessible to users. Production logs are kept for a period of four months.

SharePoint On-Premises

Application logs can be set to both the file and the database or to both places at the same time. Logs are stored in one database, it cannot be distinguished, it is shared within the SharePoint farm.

The setup is done in the nlog.nlog file where the paths for log records are set.

Example of logs from the file system.

Example of database table dbo.Log.

Example of query results over the dbo.Log table.


FAQ

A FAQ is a list of frequently asked questions (FAQs) and answers on a particular topic.

More questions can be found in dedicated Stack Overflow TreeINFO Team. If you need access, contact treeinfo@aricoma.com.

For Workflow Engine to support subsites it must be installed on site collection and also on the subsite.
Out of office is set for each workflow separately – you can define different users for each process. List with out of office definition can be set locally or globally.
Use replace token {wf:TASK_LAST_USER}
There will be no impact to running instances. Changes in starting trigger will only effect the way new workflows are started.
If there is a change to the workflow definition, there will also be a change for existing instances. So the running workflows will run according to the changed alogirtm.
Active instances are stored in hidden SharePoint Wf_Instances. https://contoso-domain/sites/contoso/Wf_Instances

Support

If this documentation doesn't answer your questions, please send us an email at treeinfo@aricoma.com.


Changelog

See the changes, fixes, improvements and updates released in the latest versions.

Build 3.20.2505.14001 Microsoft 365 (22.5.2025)
  • Added Workflow Engine – Identifier Mapping – Identifier mapping has been introduced for new registrations in accordance with Microsoft’s updated requirements.
  • Added Azure OCR – Document Digitization – A new activity enables the processing of incoming documents using the Azure AI Document Intelligence (OCR) cloud service. The use of this service is billed based on the number of pages processed.

Build 3.19.2502.18001 (27.2.2025)
  • Updated Manual bulk delegation function – Updated the From User field in Workflow Designer to search for specified users in the task list instead of Active Directory, allowing delegation from users removed from Active Directory but who still have assigned tasks in SharePoint.
  • Updated Serial Assign Task delegation entries – Optimized history entry during delegation when using serial Assign task with approval matrix.
  • Updated SP2SQL Function Logging Enhancement – Extended SP2SQL function logging for more detailed analysis of errors occurring during performed actions.
  • Fixed Try-Catch OnError action – Resolved an issue where, after placing an action in the OnError section of the Try-Catch action and saving the workflow, the state could not be opened again when reloading the workflow in Designer.
  • Fixed Add File action – Replace Tokens in Content property – Resolved an issue where replace tokens in the Content property were not recognized, causing the action to return the specified configuration instead of desired values.
Build 3.14.2410.18002 On-Premises (5.11.2024)
  • Added Assign Task On Complete Event – Introduced a new "On Complete" event that triggers after a task is completed. This event activates for each instance of a completed task. It will be in the upcoming release online.
  • Fixed Convert Document Action Bug – Resolved an issue that prevented the Convert Document action from functioning correctly.
  • Fixed SP2SQL Full Sync Child Items Bug – Fixed an issue where the SP2SQL full sync functionality failed to synchronize items located outside the root folder of a list.

Build 3.15.2409.10003 Hotfix (10.9.2024)
  • Fixed Delegation to Oneself Bug – Fixed an issue where the delegation function failed to work correctly if a user delegated a task to themselves.
  • Fixed Set Permission with Overwrite Bug – Fixed an issue where existing permissions were deleted when the Set Permission action was used with the Overwrite property enabled.

Build 3.14.2406.19001 (19.06.2024)
  • Fixed TaskForm and DocumentPreview relative URL update – Updated the relative URLs for TaskForm (/sitepages/tisa/TaskFrom.aspx -> /tisa-sitepages/tisa/TaskFrom.aspx) and DocumentPreview (/sitepages/tisa/tisa.preview.aspx -> /tisa-sitepages/tisa/tisa.preview.aspx) in response to the latest Microsoft update, which prevents .aspx files from being added to the SitePages document library.
Build 3.13.2404.16001 (18.04.2024)
  • Added Workflow start command – try parameter – Implemented the "try" parameter in the Workflow start command. When this parameter is added, errors occurring during the start or stop of the workflow will not generate an error. Additionally, attempting to stop a workflow with the "try" parameter will not cause the workflow to halt; instead, it will provide informational feedback that it is a feasible action.
  • Updated Out of office action documentation – Revised the Out of Office section of the documentation to include essential configuration steps required for proper functionality. Included are basic rules governing Out of Office behavior and examples of potential scenarios along with their respective outcomes.
  • Fixed Delegation loop – Resolved an issue that resulted in delegation being sent multiple times in the online environment.
  • Fixed TiSa/WFE workflow desync fix – Resolved an issue leading to workflow desynchronization between the WFE version and the TiSa version.
  • Fixed Convert document action fix – Resolved an issue that was causing the convert document action to malfunction. Additionally, the documentation regarding this action has been expanded to include essential configuration requirements for proper functionality.

Build 3.12.2402.05002 (08.02.2024)
  • Added Property 'Folder URL' for the 'Add List Item' action – added the 'Folder URL' property for the 'Add List Item' action for cases when it is necessary to add a list item at a different URL address.
  • Added System workflow overview in workflow menu – The system workflows have been added to the workflow overview. A new column has been added to indicate whether a specific workflow is system, non-system, or based on a system workflow with the ability to roll back to the system version.
  • Updated Workflow start/stop failure logging – Logging modified by adding the 'try' parameter. If the 'try' parameter is used, workflow start/stop failures will not be logged as errors.
  • Updated Online environment logging optimalization – Optimization of logging in online environment by removing dependency logging for AppInsights
  • Fixed Additional approval workflow bug – Fixed an issue in the system workflow for additional approval, which allowed editing the item over which the workflow was initiated
  • Fixed Online workflow instance optimalization – Optimization of online workflow instances, addressing cases where workflows occasionally would fail to start
  • Fixed MultiTask ID generation bug – Fixed an issue in MultiTask ID generation, which led to the creation of duplicate tasks under the same instance if the instance was re-saved or if a similar action was performed, has been resolved.
  • Fixed AD group in SP group bug – Fixed an issue causing an error whenever a SharePoint group containing an Active Directory group was called within the workflow.
  • Fixed Try Catch saving bug – Fixed an issue causing entered configuration not to be saved in the Try-Catch action.
  • Fixed Bulk delegation fix in online environment – Resolved an issue where the bulk delegation function was not working properly in the SharePoint Online environment.
Build 3.12.2310.30001 (08.11.2023)
  • Added New tabs for activities – Workflow activities are now grouped into separate tabs for an improved user experience – Actions [workflow], Actions [SharePoint] and Actions [other].
  • Added Query SQL action – Added Query SQL action in the Actions [other] category. Can be used to create queries to SQL database in Scalar, Par, JSON and SEP format.
  • Added Disable option in every Action – Added a Disable parameter to every Action in Workflow Engine Designer. Setting this parameter to true will skip this action.
  • Added Bulk delegation in Workflow Engine Designer – Added an option to manually delegate tasks of specified workflow in bulk through Workflow Designers UI.
  • Updated Expanded logging – Updated logging to include exceptions related to name duplicity and similar validation errors.
  • Updated Workflow Engine Designer workflow creation – Updated Workflow Engine Designer workflow creation so user can create workflow right after opening workflow designer without the need to press New button in Workflow designer tab.
  • Updated SP2SQL UI update – Updated SP2SQL UI popup messages to standardize the visual aspect and enhance usability.
  • Updated Assign Task – Write on assign – Updated Assign Task action to contain Write on assign tab. Actions placed in this tab will be executed after assigning a task.
  • Fixed GetFieldValue fix – Fixed an issue that would trigger an error when the 'GetFieldValue' action was referencing a user who had already been deleted.
  • Fixed UserProp multidomain fix – Fixed an issue that prevented 'UserProp' from being able to differentiate between users with the same name originating from different domains.
  • Fixed StartForm metadata read issue – Fixed an issue that caused metadata to be incorrectly read in StartForm. For example if there was a boolean checkbox present in StartForm with default value "true" the checkbox would not be checked.
  • Fixed Workflow Engine tasks overflow fix – Fixed an issue with the task list exceeding 5000 items by indexing default columns.
  • Fixed Default AskQuestion workflow fix – Fixed an issue in the default AskQuestion workflow that caused the QuestionUser variable to not change if the questioned user was delegated.
  • Fixed Move item / Copy item new folder Online fix – Fixed an issue where the 'Move item' or 'Copy item' action would result in an error when referencing a non-existing folder, instead of creating one.

Build 3.11.2308.21001 (24.08.2023)
  • Added PartialSyncList SP2SQL Online Added PartialSyncList functionality to Online SP2SQL
  • Added Reset permissions + break and author read/write Added break and author read/write options to Reset permissions actions that break permissions on selected item and then add read or write permition to the author of the item
  • Added Automatic repair of stuck Instances Added function that if turned on can automaticaly repair stuck instances
  • Added Automatic Retry function Added automatic retry function if an item was updated during scope procedure
  • Updated SP2SQL UI feedback update – Updated the UI visuals to better fit with the rest of Sharepoint UI
  • Fixed Replace function bug – Fixed an issue that caused certain forbidden symbols to be incorrectly copied to destination file (symbol '%' still causes issues, if coppied the resulting file will contain '%25' instead of '%')
  • Fixed Automatic delegation and manual delegation bug – fixed an issue that caused tasks to not be created if automatic delegation or manual delegation was used in a certain order on a member of a group
  • Fixed Time window during creation of new item – fixed an issue that caused time window to occur during creation of an item in which no user has any rights towards the item
  • Fixed UserProp and IsUserInGroup bug – fixed an issue that caused UserProp function and IsUserInGroup action to no take into consideration domain name in multidomain environment

Build 3.11.2305.25001 (25.05.2023)
  • Added GetValidName – Simplify property Added Simplify property to GetValidName function. If set true redundant symbols (such as spaces and dots) will be removed from the name of the file
  • Fixed Nonfunctional SP2SQL configuration for online environment – fixed an issue that caused SP2SQL configuration sequence to end in an error
  • Fixed Copy bug – fixed an issue that caused file to be incorectly coppied to a root folder if target folder was nested
  • Fixed Subweb OOF bug – fixed an issue that caused automaticaly delegated task to end in an error if used in a subweb
  • Fixed OOF multitask bug – fixed an issue that caused tasks to be incorrectly generated if used in combination with multitask mode and if the target user was from the same group. Only delegated task would be generated and not the target users own task.

Build 1.12.2301.23001 (26.01.2023)
  • Added Additional approval – Added additional approval function. Can be activated on Assign task action in Workflow Engine Designer. Can be used to request additional approval from selected user.
  • Updated Out of office new features – Added a new option to Assign task in Workflow Engine Designer called "Enable out of office automatic delegation" which enables separate use of delagation and out of office functions.
  • Updated SP2SQL configuration feedback – Added a feature that warns the user if an error occurred during configuration of SP2SQL function.
  • Updated Number of uses of Set State function during one instance of Workflow – Increased the number of possible uses of Set State functions during one instance of Workflow from 10 to 50.
  • Updated GetParentFolderId – wider usage – GetParentFolderId can now be used in list in addition to library.
  • Fixed Workflow Engine Definitions Cache – Fixed an issue where Workflow designer showed incorrect WF according to cache.
  • Fixed Number field to number field conversion bug – Fixed an issue that cause decimal numbers to be rounded to whole numbers if a decimal number was assigned through set field value from a number field to another number field.
  • Fixed ShowOnStartForm bug – Fixed an issue that caused the property ShowOnStartForm to not function properly.
  • Fixed WaitForFieldValueAction online bug – Fixed an issue that caused WaitForFieldValueAction to not function properly if global inmemory cache was not set up.
  • Fixed Difference in exported Workflow Engine fix – Fixed an issue that caused difference in exported Workflow Engine when exported by User Interface as oppose to by script.
  • Fixed Serialization of string if Web Service is used fix – Fixed an issue that caused strings to be serialized if web service was called.
Build 3.10.2210.27001 (21.11.2022)
  • Updated WFE Online optimalization – Workflow Engine Online optimalization in response to increased number of error instances.

Build 3.10.2210.14001 (13.10.2022)
  • Updated Extend activity permissions – Setting permissions is now possible with WF activities to other than the current item.

Release Q2 (2022)
  • Added Workflow with start form can be now launched for multiple items
  • Added EncText function
  • Updated Binary parameter – The web service call activity now supports Binary data (byte[]).
  • Fixed Remind task – If an error occurred in On Remind, the deadline was not moved and activities repeated after 15 minutes in an infinite loop.
  • Fixed Send email – If the subject and body are not filled in, the email will not be sent.