Rules Firing Before Criteria has Populated: Possible Bug?

I am working on setting up a staging project (Project A) for dozens of processes that will push actionable subtasks to another project (Project B) where our team will be assigned to or be able to claim and complete tasks, depending on the type of task.

However, I’m running into significant hurdles with getting Asana rules to function in a way that supports the detail we need for this to function.

What I want to happen:

  • Subtasks in Project A that are not blocked will be multi-homed on Project B in different sections depending on the department label that are not blocked and assignment status
  • Blocked tasks are not multi-homed to Project B until they are they unblocked
  • Tasks with a specific label are never multi-homed to Project B

However, it appears that not all the data in my task templates are being fully applied to tasks before the Asana rules begin running once I add more than a couple rules. (I understand that Asana rules run at random based on this forum post, and that is OK, but I seem to be having trouble making the rules take into account the labels, blocking, etc. that is applied to my templates.)

Here’s where I need to get a little more detailed to explain.

(Side note - at first, the rules seemed to have trouble acting on subtasks because those subtasks had not been added to the project. Thanks to helpful feedback, I did add my subtasks in the templates I’m testing to the project, so that should no longer be causing an issue, and my rules began applying to subtasks. However, the rules still seem to be missing key data on my subtasks.)

For example, this is the rule that I’ve built to multi-home Billing subtasks to Project B.

However, when I add a template with a blocked Billing subtask to my project, Asana runs the rule before the template creation has a chance to add the blocked status to the subtask. That erroneously pushes the Billing task to Project B, and it should only show up on Project B once it has been unblocked:

I’ve done a bit of testing, and here are some additional data points:

  • The “all activity” order of actions (as shown in the screenshot above) came through the same twice when isolating variables and testing. That may indicate that the order stays consistent, but at the least, I do not have confidence that the order in which Asana performs actions related to a specific subtask varies.

  • I paused all of our rules except for a simple testing rule, and this rule performed as expected:

  • I then turned back on this following “assigned & unblocked task” rule, completed the task which was blocking an assigned task, and the “assigned & unblocked task” rule did successfully move only the unblocked and assigned tasks to Project B:

  • I then turned on the “CS unblocked task” rule, completed completed the task which was blocking a task with the CS label, and the “CS unblocked task” rule did successfully move only the unblocked and assigned tasks to Project B:

  • Satisfied that my rules were working as expected, I left them all running and then created a new task from the same template I’d been using (which includes blocked tasks), and once again, Asana moved blocked tasks into Project B despite all of my rules prohibiting that.

Conclusion based on testing: That points me toward the conclusion that the rules are not faulty, but the order of operations that Asana is performing (when data/criteria is added to subtasks from the template and when rules begin running) is faulty.

Possible (not ideal) solutions:

The only way I can think of to solve this is to create a section in Project A where the task is added first and then, once all subtasks are present, move it to another section in Project A where the rules then take effect.

I don’t like this for multiple reasons:

  • Some of our templates will have a lot of subtasks, and it may take Asana a few minutes to create them. It will be laborious for our team members to have to keep checking to see if the task has been fully created and move it into the next section possibly several minutes later.
  • There is not a way to automate moving a task from one section to another unless you move it the following day, and this does not support the rapid nature of our work.
  • Maybe most importantly, we will eventually have our development team integrating another platform to push the task creations automatically, so it would be highly inefficient for a team member to also have to navigate to Project A and move the new template-generated task into another section just to make the rules work correctly.

I would love input on this. Are there flaws in my rules or my testing? Has anyone else accomplished something similar to what I’m attempting? If Asana is indeed running rules too quickly before data from templates is applied, is there a way to fix that or get Asana to resolve that bug?

1 Like

@Jordan_Hawkins,

I think your analysis is accurate (up to your conclusion and possible solutions).

Re conclusion: I believe the behavior is as intended (for better or worse) and not seen as a bug by Asana because it’s operating as they expect and what you’re asking for they’d interpret as additional functionality.

Re possible solutions: You’re on the right track with the separate section. Now I haven’t actually recreated your exact workflow but I’ve worked on something similar in the past and I believe there’s a solution (workaround) that’s more favorable than the options you’ve outlined. I may be missing something, but I’d try this at least:

Replace your task template with a simpler one that just creates a task title and sets a new Action single-select custom field to Staging Area 1, and only use it via the + button in a new, separate section (perhaps named “Staging Area 1”).

Add a new rule targeting only tasks in section Staging Area 1 and with Action set to Staging Area 1, and with these actions in order:

  • Unset Action
  • Add all your subtasks
  • Move to Staging Area 2

Update your other rules to:

  • Replace When “Task is added to this project” with Task is moved to a Section
  • Add (with AND) another Check if: Section is Staging Area 2
  • Keep the rest.

If we’re lucky, that should accomplish what you’re looking for.

Thanks,

Larry

2 Likes

Thanks for the input and suggestion, Larry! I’ll see what I can do.

1 Like