Most Conditions and Actions for Rules are self-explanatory. Here are a few notes on how to use specific Conditions and Actions, that might not be obvious.

In addition to these tips, note that you can use Flowsana's Variable Substitution capability in rule conditions and actions; see Variable Substitution in Flowsana for details.


Starts or due...
Date-based rule conditions are evaluated in two ways: (1) when a task's date is changed, and (2) between approximately midnight and 1 am in your time zone.

When using any of the date-based rule conditions, you must properly set the My Time Zone field on the My Account page of your Flowsana portal. Flowsana needs to know your time zone in order for it to know exactly when “today”, “in 3 days”, etc. occurs for you.

In addition to the date-based conditions which determine whether a task falls in a certain date range, there are also a set of date conditions which let you determine whether a task's date has been set, cleared, or modified, without regard to the actual date. "Set" means the date was blank and now contains some date. "Cleared" means the date had a value and that value was removed. "Changed" means either the date was set, was cleared, or it changed from one value to another. ("Changed" is a superset of "set" and "cleared", so don't use "set" or "cleared" for a project's tasks if you're using "changed".) In all of these set/cleared/changed cases, you can monitor tasks' start dates, due dates, or both.

Name contains the word or phrase...
You can use this condition to match a word or phrase (i.e. a set of consecutive words) anywhere in the name of a task. The comparison is not case-sensitive; i.e. it will match regardless of whether the word or phrase has any capitalization in it or not. Also, punctuation is ignored, so it will match regardless if you have quotation marks, exclamation points, etc.

Normally it will match on a whole word or phrase; that is, there must be a space if the word or phrase has other words around it. However, you can use * (the asterisk symbol) as a "wild card" indicator at the front and/or end of the word or phrase, to override this and match on partial words. Here are some examples of this:

Word entered for this condition: cat
Task name: Feed the cat and dog
Result: Match

Task name: Identify the catalyst for this equation
Result: No match

Task name: Pick up a housecat at the shelter
Result: No match

Word entered for this condition:  cat*
Task name:  Feed the cat and dog
Result: Match

Task name:  Identify the catalyst for this equation
Result: Match

Task name:  Pick up a housecat at the shelter
Result: No match
Word entered for this condition: *cat
Task name:  Feed the cat and dog
Result: Match

Task name:  Identify the catalyst for this equation
Result: No match

Task name:  Pick up a housecat at the shelter
Result: Match

Has custom field set to...
This condition supports all custom field types: dropdown list, text, number, multi-select, people, and date. For text fields, in addition to checking for the presence of a specific text value, you can also use  * (the asterisk symbol) as a "wild card", to match partial text. The * wild card symbol works identically here to the behavior described in the above Name contains the word or phrase... section, so see that above description for details on usage.

There is one additional feature available here, in addition to the above description: if you put  [*]  as the value to match for a text custom field (that's an asterisk surrounded by square brackets), that tells Flowsana to match any text or number. In other words, putting [*] tells Flowsana, "if anything at all is entered into this custom field, then perform this rule."

Falls during a holiday or time off...
This rule condition allows you to take an action when a task gets scheduled during a holiday or a user's scheduled time off.

Whenever a task is assigned to someone in the target project, or an assigned user's task in that project has its start/due dates changed, this rule will be evaluated, and if the assigned start/due dates fall within one or more time-off entries in the "holiday/time off calendar", the rule's action will be taken.

To use this rule condition, you create a project that holds the holiday/time-off information and then select that "holiday/time off calendar" project when creating this condition in a target project. 

Here are the steps to create the project which holds the holiday/time-off information - we'll call it the "holiday/time off calendar" project:
  1. Create the project and name it whatever you choose. It can reside anywhere in your Asana instance that you have access to.
  2. In the project, create or add one and only one people-type custom field. You can name this field whatever you choose (we've named in "Employees" in the example below). This field is used to identify which user or users a particular time-off entry applies to. (Alternatively you can use the Assignee field; see below for more on that.)
  3. Add tasks in the project for each time-off entry, as follows:
    • You can name the tasks whatever you choose.
    • Set the task's due date (if it's a single-day event, like a holiday), or its start and due date (if it's a multi-day event, like a user's vacation).
    • In the people-type custom field, select the user or users that this time-off applies to. You can also leave this custom field blank, in which case it will apply to any user in the project. (This is useful for company-wide holidays, for example.)
Here's an example of what this "time off calendar" project might look like:

Image Placeholder

Other than the above requirements, you can set up this project however you'd like - for example, you can group the tasks into sections, you can add any other custom fields you choose to (as long as they are not people-type fields), etc.

To then use this rule condition, select the above "time off calendar" project when creating the condition in a target project:
Image Placeholder
Two useful actions you might want to use in combination with this trigger condition are Add a comment... or Send an email notification... to alert the user that a task has been assigned during their time off. Because you can use Flowsana's Variable Substitution in the comment or email notification, you can include details about the offending task, its dates, etc. Note that if you use {task.Assignee} in the Add a comment... action, Flowsana will convert that to an @mention of that user. Here's an example of how a comment could look:

Image Placeholder

NOTE: If you prefer, you can use the Assignee field instead of a people-type custom field to identify the user that a given time-off date or date range applies to. To use the Assignee field, simply omit any people-type custom fields from the "time off calendar" project; if Flowsana does not find any people-type custom fields in that project, it will automatically use the Assignee field instead.

The disadvantage to using the Assignee field is that it only holds one user, so you'll need to replicate a time-off event if you need to apply it to multiple users. The advantage is that it will show in users' My Tasks so their upcoming time off is visible.


Send an email notification to...
With this action, you can have people be notified when any Flowsana rule condition changes. You can choose one of four options for recipients of the notification:

  1. the task's assignee
  2. the task's followers
  3. all project members
  4. a value in a custom field
By default, the notification email will identify exactly what changed; here is an example:

Image Placeholder
However, you have the ability to specify your own custom Subject and/or Body content for the notification email, which will supersede the above defaults. You can also use Flowsana's Variable Substitution feature to include fields from the triggering task in the subject and/or body that you specify. Note that currently, the email body only supports plain text and does not support the entry of HTML or Markup language.

If you select the last option to identify the recipient(s) in a custom field's value:

  1. the custom field should contain the email address of the desired recipient
  2. it can be either a text custom field or a single-select dropdown list custom field
  3. if it's a text custom field, you can populate it with one email address, or with multiple email addresses separated by semi-colons to send notifications to multiple people

Assign To...
This action allows to you assign a task. In addition to selecting a specific user name as the assignee, you can also choose to assign the task to the value in a text- or single-select-type custom field that you specify. This allows you to dynamically assign tasks by populating that custom field, either manually or via another rule. The custom field can contain either the name or the email address of an Asana user in your organization or workspace.

Create a new project from a template...
This action lets you automatically create new projects from an Asana template based on any rule condition occurring. You specify the template to use as the source for the new project and the name you'd like the new project to be called. You can optionally specify a team in which you want the new project created; if you do not specify a team, the new project will be created in the same team as the task that triggered the rule.

When specifying the desired project name, you can use Flowsana's Variable Substitution feature to include fields from the task that triggered the rule in the name of the new project. For example, you can include  {}  which will be replaced with the name of the triggering task.

If the template being copied has Flowsana Rules attached to it, those Rules will be duplicated into the newly created project. That said, please note that the rules will not run on the initial creation of the project. The project must be fully created first before those rules can run.

Add subtasks...
This action lets you automatically add a predefined set of subtasks to a task based on any rule condition. To use this action, you create a task, in any project outside of the target project, and add a set of subtasks underneath it. This task becomes in essence a “subtask template”, and the subtasks become the subtasks that will be created underneath whatever task triggered the rule. For example, you could say that if a new task is created in a particular project, add a certain set of subtasks to it. Or if a task is moved into a certain column (section), or if it has some custom field set to some particular value, or gets a certain tag added to it, etc., then add a certain set of subtasks to it. 

The template and its subtasks can reside in any project other than the target project where the subtasks will be added into (this avoids potential endless loops of adding subtasks). The recommended approach is that you create a project, let’s call it “Subtask Templates”, and this project is where you house all of these “subtask template” tasks.

This rule action supports dependencies, in two ways. First, you can set dependencies between the subtasks within the template, and those same dependencies will be set on the tasks that get created from the template. Second, if you want to have a dependency relationship between one or more subtasks and the top-level task that triggered the rule (i.e. the task under which the new subtasks get created), then set the desired relationship between the subtask(s) in the template and the "subtask template" task (that is, the top-level task which contains the template subtasks).

You can also optionally have Flowsana add start/due dates to the subtasks it adds. To do this, set a date on the "subtask template" task, then set dates on subtasks that you wish to have dated, where the subtask dates reflect the appropriate relative spacing from the "subtask template" date. (We recommend you set dates far in the future so it's clear that these are just "placeholder" dates.)

Then, when you create the task that triggers the "Add subtasks" rule (that is, the task under which the subtasks get added), set its actual due date. Flowsana will then populate the subtask dates appropriately, relative to this actual date. Important: the due date needs to be set on the triggering task before the Add subtasks... rule is triggered. That is, if you're going to be using this set-subtask-date feature, the parent task needs to have a due date on it when the rule begins running and the subtasks begin getting added.

For example, let's say you have an employee onboarding template and have three subtasks that you want performed two weeks, one week, and one day prior to the onboarding deadline. Set your template like this:

Image Placeholder
If you then trigger the "Add subtasks" rule on a task that has a due date of July 16, this will be the result:

Image Placeholder

In other words, Flowsana calculated the relative distance between each of the template subtasks and the parent "subtask template" task's due date; then it took the actual target date (that is, the due date of the task triggering the rule) of July 16 and it set the date of each subtask to the same relative distance from July 16 - two weeks, one week, and one day.

If you are using the above date capabilities in your subtasks, you have the choice whether to have Flowsana skip weekends or not, via your setting of the "Skip weekends" checkbox option when you define the rule.

Additionally, you can use Flowsana's Variable Substitution capability within subtasks in your subtask template, in both the name of a subtask and in text-type custom fields. This allows you to pull values from the parent task into subtasks.

Add tasks...
This action lets you automatically add tasks from a template of pre-built tasks. It is very similar to the Add subtasks... action described above; in fact, all of the above Add subtasks... documentation applies to this Add tasks... action as well. The only difference is that instead of letting you add subtasks below the task that triggered the rule, this action lets you add top-level tasks immediately following (i.e. below) the task that triggered the rule.

Even though you are creating them as subtasks within the template project, using this rule action, they will become top-level tasks when added to the destination project.

Note: The template subtasks can themselves have subtasks below them, and these will become subtasks in the destination project.