Workflow Starting with Workflow Workflow is automatization of processes in system. Basic priciple How does it work? Workflow functionality uses server module that is watching change (create,update) on objects. If some change matches with workflow setting, workflow will run it's actions. A different kind is time-managed workflow. Admin will set period, how often will be workflow lanunched. It will take all objects that match the filter in workflow setting and run actions assigned to it. Workflow Setting structure Each workflow contains name, description and important switch "Workflow is active", which makes workflow enabled/disabled. There are three types of workflow settings: At Update - workflow is checked, when some object is changing At Create - worfklow is checked, when some object is creating Managed by time - workflow runs in some period, which will pick object that fits to filter At update Workflow setting is composed from: Filter after change Chagned fields Filter before change Actions At create Workflow setting is composed from Filter Actions Managed by time Workflow setting is composed from: Filter Execution interval Actions How does it really work Base of all is object like Timesheet, Project, Folder, Task etc. Each object is assigned to some module. Eg. Timesheet is in module scheduler, Folder is in module Project and so on.  These objects defines, what filters can be used for filtering. Workflow Time Filters Sometimes it may be confusing on how the workflow time-based filters work. Below you may find the explanation: FIlter type Description Example Day Filter data in one particular day in past or in the future. Comparison is +/- number of days = "date" of the record. You usually run this workflow once each day. + 30 days = 30 days in the future -30 days = 30 days in the past - 30 = Last contact date => Create action 30 days after Last contact date (of client). Workflow Example Best practice on how to explain workflow behavior is to show example on it. Workflow is based on: change -> call action. As an examle we will set-up workflow: if project type "Sales opportunity" under folder "Client" changes status to "Won" (from state "In process") we need to switch "Client" status to "Active" (from status "Potential") and create new project "Project realization". In order to execute this process we will split workflow into two workflow steps: "Won" Sales opurtunity -> change status of folder "Client" from "Initial" to "Active" and status when status of Client is changed to "Active" -> create new project "Project realization" 1.  Won Sales opportunity -> change state of folder to "Active" Create new Workflow setting click on "Settings" -> "Workflow settings" Sales opurtunity is project and change state of folder is action. So project is object that will call action for changing state. Select (module) "project" -> (Item) "Project" and click New. This will show form for editing workflow. Type name "Sales -> folder in progress" and check "Workflow is active". Let radiobutton "At Update" selected (do not select other radiobutton). Set filter In tab "Filter after change": Add state filter double click on "State" (table on left). This will add new filter condition (new item in table on right). Click into "Value" column and select state "Won" Add type filter double click on "Type" (table on left). This will add new filter condition (new item in table on right). Click into "Value" column and select type "Sales opurtunity" In tab "Changed fields": Double click on "State" - it means that workflow will react on change of state (otherwise it will react every time, when project is saved, and after this save is project in state "Won") We now set: If state is changed, project's type is Sales opurtunity and state, which is it switched in, is "Won", call action. Set action In tab "Actions: Click on button "Show actions settings" (it will show form of all actions for project object) Click "New" In right panel type title of new action: "Folder to Active" Select "Change folder's state" in combobox "Type" (under title) - you can see that form was changed. Select "Active" in combobox "Set folder to state" Click save and close window You can see that our new action is in left panel Double click on it - it will be added into actions, that will be called from this worklfow settings. Click on "Save" That's it. We jus created workflow, which will change state of folder, when state of project was chagned. You can test it. 2. In progress -> create project Project realization Workflow reacts also on chagnes caused by workflow (not only by user). This makes it really strong tool. Create new Workflow setting If you closed all windows, than click on Settings -> Workflow settings. Object, which caused action is folder, because (action) project creation will be called after folder state was changed. Select (module) project -> (Item) Folder and click New. Type name "In progress -> create Project realization" and check "Workflow is active". Let radiobutton "At Update" selected (do not select other radiobutton). Set filter In tab "Filter after change": Add state filter double click on "State" (table on left). This will add new filter condition (new item in table on right). Click into "Value" column and select state "Active" Add type filter double click on "Type" (table on left). This will add new filter condition (new item in table on right). Click into "Value" column and select type "Client" In tab "Changed fields": Double click on "State" - it means that workflow will react on change of state We now set: If state is changed, folders's type is Client and state, which is it switched in, is "Active", call action. Set action In tab "Actions: Click on button "Show actions settings" (it will show form of all actions for project object) Click "New" In right panel type title of new action: "Create Realization project" Select "Create project" in combobox "Type" (under title) - you can see that form was changed. Select "Template" in combobox "Project Realization" Click save and close window You can see that our new action is in left panel Double click on it - it will be added into actions, that will be called from this worklfow settings. Click on "Save" So we created workflow, thar reacts on folders change. If folder is swithed into state "Active", new project of type "Project realization" will be created. And If we have set workflow "Won Sales opurtunity -> change state of folder into In progress", than: If we set project "Sales opurtunity" into state "Won", than folder will be set to "In progress" and new project "Project realization" will be created. Sending messages Sending Task Notifications You can select message template and type of message (supported types are notice and message in present). Users from contact is available for email, becauce notice can not be sent to them. In message template you can use specific merge fields, which are replaced by corresponding content. Eg. If in content of message is "${DESCRIPTION} " , it can be replaced by comment from task. List of these merge fields is mentioned below: When message action is evoked from event/task: Name Meaning ${NAME} Event/task title ${DESCRIPTION} Comment ${LOCATION} Location ${DURATION} Duration (used from task) ${USERS} List of users ${TYPEOFWORK} Type of work ${STATUS} Event/task status ${START} Starting time ${END} End of event/ Task deadline ${CONTEXT} Context Interactive Workflow Actions Notice: this function is currently NOT SUPPORTED. Documentation here is used for future reference. Interactive actions are actions, that need user's interaction or user needs to be informated about something. Example 1 After creating project in some clients folder, workflow will ask user if the client is paying monthly, or quarterly. Workflow according to his choice will create 12 or 4 tasks for checking payment. Example 2 After project creation, manager (current user) will need to see the tasks, that were created on project, because he wants to redistribute created tasks or just to check them. Interaction types Only some actions can be interactive. It depends on, what they are doing. To set interaction, there are 4 options: Don't show - this action will be processed on background, user will be not asked for any interaction Normal (in list) - action will be shown in workflow actions list form with blue tooltip icon . User can close this form. High (in list) - the same as Normal (in list). But they are shown as exclamations in orange circle  and user can not close this window, until any Hight priority action will be in list. Blocker (blocking window) - dialog or target will be show directly to user. Workflow action list form: on this picture are also high-priority actions, so window can not be closed. Note for super-admins on how to delete interactive workflow actions that confuse users delete from features_workflow_action_queue_attributes where action in (select id from features_workflow_action_queue where isinteractive = 2); delete from features_workflow_action_queue where isinteractive = 2;Workflow Objects Overview This page contains list of objects, that can be used in workflow as source of actions. Some objects in system are represented by the same object in workflow like Event and Task. First level of list is module, second is object, the third is the definition of types (col_type). Scheduler Timesheet Event / Task Project Folder Project Activity Contact Contact Form globalform (form.globalform) customform (form.customform) Access User Finance Invoice / Order Messages mail msgtype msgstatus msgmailbox: id of mailbox of the recipient msgcustomtype: msg_messages.customtype->msg_messages_customtype Workflow Actions Workflow Action is main building block of Workflow module, which is part of Atollon Professional Edition. There are several Types of Actions that may be executed by Atollon Trolls during workflow process (ie Create Task, Run another Action, Create Activity, etc.). The list of Actions is growing during Workflow development. Please note that this module is still in experimental phase and Atollon can not guarantee all possible combinations to be fully tested in working environment. Please test your Workflows properly before putting it into production environment. Below are mentioned main Action types. List of Actions Each Action is filtered based on module & module domain, in which the Action is executed. For example, when Action (Create new Task) is executed during changing Project Status, the Action should be found (and created) in module Project > domain Project. New Action By creating New Action you prepare template of system process that will be executed by Atollon Trolls, when good time comes. New Action is created after you select module & module domain, where the Action will be used during Workflow process. Set the Action Title, select Action Type and fill-in Action attributes based on Action Type, more described below. Action Types Actions During Workflow process, you may run another Action. Another Action may be executed after the previous is finished or immediately several Actions at the same time, depending on Workflow set-up. In order to run more actions, select Action Type: Action and select other Actions to be executed at the same time. Be aware that you should not try to select Actions to be run in cycles. Cyclic Workflows may brake your system, create excessive data, etc. Even though Atollon Trolls will try to avoid system crash, under some conditions you may encounter system slow-down or too many data created during Workflow process. Copy Account's Model Item This Action Type is used when creating repeating Items to be charged to clients. This one alternative way how to enter recurring billing items during Workflow. (Requires further explanation). Create Activity When running workflow on Project, you may, during the Workflow process, want to create new Activity automatically. Activity is part of Project's life-cycle. Using Activity you may set-up new Project Phase, which needs to be completed to fulfill pre-set organization procedure. Activity Type: select which Activity Type is created. To create new Activity Type, go to Context Settings. Activity State: select which Activity Status is set, when Activity is created during Workflow. Title: set the Activity descriptive Title Create Task You can create Task based on Task Template. Therefore, before creating new Action that aims to create new Task, you should go to Task Templates and create new. Task Title: set the Title of the newly created Task Template ID: select Task Template, based on which the Task is created Reference Time: when creating the Task, what is the time to count from (used specially when setting start, deadline or Task recurrence) Add workflow index to offset: when creating multiple Tasks, should Reference Time be gathered from Workflow? (Requires further explanation). Show with priority: this Action may be created either in background or using User Interface (Web client). If there is necessity to achieve interaction with the user, select one of the priorities: Normal / High / Blocker. Choose Action This Action allows you to let users decide on how to continue with Workflow. Users may select one Action that is prepared as set of options. Message Title: what question is raised? Message Text: what description to that question is added? Text & Action: what description to available Action is added and what Actions are available in this particular Workflow step? Repeater This Action executes one selected Action several times. In combination with Create Task, it may, for example, create several Tasks at the same time, or several Actions, Projects, etc. This Action is used for example when creating service plans (create 12x service Activity in the next year), regular Professional Services Activities, eg. Accounting Deadlines to be processed, consulting sessions, etc. From number: 0 To number: 12 Step: 1 Repeat Action: select the action to be repeated (Requires further explanation). Send Message This Action allows you to send automatically any type of communication during Workflow process. Workflows managed by time also utilize this feature to send auto-respond communication in lead nurturing process, or during stepped evangelization, education or consulting. Message Type: what type of message is going to be sent? (eg. E-mail, Notice, Phone call, SMS, Document, etc.) Message Template: what message is going to be sent? Select the Message Template. Workflow supports multi-lingual Message Templates, which allow you to keep one Workflow set-up for several languages at the same time. The language of recipient is gathered in Preferred Language attribute on recipient's Contact. Send to: Responsible Users (on Project), all or just primary responsible, without duplications or External contacts on Project, all or just primary external contacts, without duplications Send message individually: when sending multiple messages at the same time, should only one message be generated, or each recipient should get one (individual) message? Ignore Empty Recipients: (Requires further explanation). Message Sender is: User, who caused action (current user executing the event, on which the Action was based) or particular e-mail address. Show with priority: this Action allows User's interaction. That means, the message (e-mail) can be prepared for user's review before it is actually sent to the recipient. Please read also additional attributes for sending the message. Show Text Once you want to show any dialog message to the user causing Action to be executed, you can add: Message Title: what is the subject of the message you want to tell the user? Message Text: what is the body of the message you want to show? Show Project Open the Project details during the Workflow. Simple Choice Do you want the user to select from few simple answers? Such as Yes/No or OK/Cancel? This Action will help you to prepare simple dialog, executing another Action or doing nothing.Workflow Filters Workflow Filters are used to set-up conditions under which Workflow is executed. One of the methods to filter objects, which need to fulfill specified conditions to be part of Workflow scenario is to match with Workflow filter. Workflow filter is pre-set view on Events or Tasks, Time Sheet records, Projects, Folders (Clients), Activities, Contacts or User database. You may condition the Workflow to be executed only in connection with specific Type of Project in particular Phase, for example. No matter whether Task, Activity or Message will be created, this Workflow Filter will make sure that the Project will meet the condition. Workflow Filters are (similar to Workflow Actions) stored in context of module & module dimension. Once you save Workflow Filter, it may be used as additional filtering criteria when defining the core filtering criteria for Workflow. View Settings New View Setting is used primarily to create new online view filter. This filter may be used to restrict objects that will act in workflow. Once you selected module & area, which you would like to create view for (for example Project > Project will enable you to filter for basic Projects fields), you will get all available fields to be filtered. Add one or more criteria into the Filter grid. You may use several Operators, such as =, does not include, begins with, starts at, ... based on type of the field filtered. Enter Value that you would like to filter for. Please note that tabs Columns and Sorting are not reflected in Atollon's interface. Views are used only for setting filters. By the time this article is written, they are used only for filtering criteria for selecting records in Workflow. We expect these filters will be used in online views as well in the near future (for example to enable creating custom views for Contacts, Calendar Events, Tasks, Projects, etc.).New Workflow New Workflow Properties Workflow Title: give your Workflow some descriptive name. Description: it is useful, don't be lazy to add it here, after some time you will see that it's useful. Workflow is Active: Yes/No When is the Workflow Triggered? At Update The Workflow is automatically started (Actions executed), once the object (Task, Project, Activity, etc.) is updated. After Create The Workflow is automatically started (Actions executed), once the object (Folder (Client), Sales Opportunity (Project), etc.) is created. Managed by Time Atollon Trolls poke the box every 15 minutes to see whether some Workflows that are managed by time meet conditions to be executed. Once Trolls find out that there are objects meeting conditions, it will automatically execute them. Workflow Conditions Workflow is executed automatically on all objects that meet one of the Workflow's conditions. Filter Before Change This is one of the crutial conditions, once you don't want to execute Workflow on all objects. You may, for example, set type & status of Project or Tasks that will cause the Workflow to be executed. You may also add Workflow Filters that will be additional criteria to those that are directly associated to the object. For example, when executing Workflow on Sales Opportunity (Project Type = "Sales Opportunity"), you may want to execute it only for active clients (set-up Workflow Filter for Folder Type = Client & Status = Active). Changed Fields This condition makes the Workflow appropriate only once one of the selected fields is changed. This condition has sence only on Workflows that are based on object Update. Use this criteria when running Workflow based on (for example) Project Status change. Scenario: Set-up WF leading to request feedback from client on contract Create Task "Request feedback in 3 days" (Execute Action based on Task Template) when Sales Opportunity status is switched to "Contract Phase" (Project Type = "Sales Opportunity" and Custom Status = "Contract"). Filter After Change Once you want to run the Workflow only if specific change happened in Atollon (after object was created or updated), use this filter to identify, what is the resulting state of the object that should trigger Workflow start. The Filter Before Change is applied at the same time, once you want to check what was the state of the object before change. Scenario: Start WF only once project status changed from "C" to "A" There might be will to execute Workflow only once the project was changed from state A to state B or vice versa. This will require to set-up Filter before change (Project Custom Status = "C") and set-up Filter After Change (Project Custom Status = "A"). Workflow Actions Select Actions that should be executed, once Workflow conditions are met. If no Action is selected, Workflow has no sense. Get more info on how to Create new Action.