For a Flowsana rule to work, you need a trigger that activates the rule. This article covers some of the rule triggers in detail.

You can trigger rules on changes to "Both top-level tasks and subtasks, Top-level tasks, or Subtasks". This is set at the top of the Create a New Rule page (Step 5 in How to Set Up a Rule Workflow):

Starts or due...

Date-based rule triggers 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 triggers, 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 triggers which determine whether a task falls in a certain date range, there are also a set of date triggers which let you determine whether a task's date has been "set", "cleared", or "changed", 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.

You can choose from the following set of date-based rule triggers:

Start date is today
Start date is within (# days)...
Start date is past
Start date is past by at least (# days)...
Due date is today
Due date is within (# days)...
Due date is past
Due date is past by at least (# days)...
Start date is set
Start date is cleared
Start date is changed
Due date is set
Due date is cleared
Due date is changed
Start and/or due date is set
Start and/or due date is cleared
Start and/or due date is changed


Word or Phrase Added (to task 'name' or 'description')...

You can use this trigger to match a word or phrase (i.e. a set of consecutive words) anywhere in the 'name' or 'description' 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. There are a number of options to control how the comparison is done:

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 trigger: 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 trigger:  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 trigger: *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 trigger supports all custom field types: dropdown list, text, number, multi-select, people, and date.

For Text Fields

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 Word or Phrase Added... 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."

For Multi-select and People Fields

For these types of custom fields, in addition to the standard triggers which can match selected options or people like All of, Any of, and Only, we also provide a special set of options labeled (new selections):

An illustration will explain their usage. Let's say you provide marketing services to your internal customers. A customer can request one or more services, so you build a multi-select custom field, Service, to record what service(s) a customer has requested:

For each service, you want to add a comment to the task that's holding these requests. To do this, you can build a set of rules, one for each service:

But there is a problem with this set of rules. Say a customer initially requests a Brochure. Only the Brochure option in the Service custom field is checked on the task, so only the "Brochure" rule runs - the "Calendar" rule is evaluated but it doesn't run since that option isn't checked - and the "brochure was requested" comment gets added. All good.

Now, however, the customer also requests a Calendar. So you also check the Calendar option on the Service field in that task. As a result, both rules are again evaluated. Because the Calendar option is now checked, that rule will run and that comment will be added, as desired. The issue is that since the Brochure option is also still checked, that rule will run again and the "brochure was requested" comment will get added a second time! This is not the desired behavior.

For these scenarios, the (new selections) options were created. They will only match multi-select options or people that are newly added on a task. Any options that were already previously selected - Brochure in the above example - will not fire their rule when other selections are added.

So in the above example, you will want to use the (new selections) option on your rules:


Task is scheduled on time off or holiday...

This rule trigger 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 trigger, you create a project that holds the holiday/time-off information and then select that "holiday/time off calendar" project when creating this trigger 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 trigger, select the above "time off calendar" project when creating the trigger in a target project:

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:

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.