Apply Rule Action to Parent Task

I know I can do this in Flowsana, but it would really be so much more powerful and convenient if the Asana Rules Builder (including AI Studio) was able to apply the action of a rule to the parent of the task that triggers the rule. There are so many scenarios where we want to update something on the parent task based on changes happening to a sub-task.

I just did a search and I don’t see this anywhere in Asana’s product roadmap/ideas, so I’m creating this topic to at least get it on the idea list so people can contribute and vote on the idea. Please feel free to merge if there is already a related topic somewhere!

Below is an example AI instruction related to this. It actually appears to work pretty well (see screen shot of reasoning and comment it generates), but it doesn’t actually update the parent task’s Task Status (I assume because the rules engine has no way to do that).

Your goal is to determine if the user has changed the Task Status of a task in the ourWork project that has Task Type = “Sub-Task” or “Develop” to a value that indicates the task itself is completed (the development work), which means the parent task should be transitioned to Task Status = “Ready to Deploy”. Sometimes users mistakenly change the develop sub-task to “Ready to Deploy” instead of just marking it completed and changing the parent task to “Ready to Deploy”.

In addition, anytime a user marks a sub-task of type “Sub-Task” or “Develop” as completed, if the parent task has Task Status “Ready To Start” or “In Progress”, we want to automatically transition the parent task to Task Status = “Ready to Deploy”.

Finally, if the task that triggers this rule is not already marked completed (e.g., if the user mistakenly set it to “Ready to Deploy”), then we want to set that task Completed (check the completed checkbox).

We also want to leave a comment on the task that triggers this rule that indicates what has been done to it and to the parent task.

Hi @Tony_Sileo

If understood your usercase properly, you can now do this in Asana with rules.

I have just built this workflow on a new project. The workflow is. built based on one custom field which is the only thing manually updated in the entire workflow.

The button is ‘Ready for Progress’.
Whne yes is selected, the condistions are to check couple of custom fields, and that all subtasks are complete

Action is to progress the ticket to a new stage.
We have that built to move the tasks to 6 different stages, and each stage has its own set of subtasks.

Hope this helps a bit.

Hi @Rashad_Issa just came across this reply - somehow I missed it originally. Thanks for sharing what you’ve done.

I think your scenario is relying on someone hitting the “Ready for Progress” button (setting it to Yes), which is on the parent task, right? My goal is slightly different - I would like a rule triggered by changes to a sub-task, but able to make changes to the parent.

We have sub-tasks on our story template for Design, Development, and Testing. We want the parent story to transition to Task Status “Ready to Deploy” when the development sub-task is marked complete.

Any ideas on how to accomplish that?

1 Like

Hi @Tony_Sileo

Your understanding my scenario is correct.
For your scenario, you can do achieve that in rules.

You can build a rule that once all subtasks are marked completed, change the parent task status to ‘Ready to Deploy’.

This applies to both scenarios: If your ready to deploy is a custom field; or if your ready to deploy is a section in your project.

Here is a screenshot:

In the subtask completion status is changed, you will be able to select ‘complete’ in the side panel on the right.
Hope this helps.

@Tony_Sileo - If Rashad’s solution isn’t sufficient (it works exactly as expected if you don’t pre-create your subtasks, i.e. if you create testing after the development subtasks is completed), are you by any chance an enterprise customer? If so, since it sounds like you’re a dev team, you could use the new script action rule action to do this pretty easily. Basically just trigger on task completion, check if the task name is Development and there’s a parent, if so, move the parent).

1 Like

Thanks Stephen - we’re only an Advantage customer, so that’s not an option. And no - I don’t think Rashad’s idea would do what I’m looking for. I don’t see a way to trigger if only a single sub-task completion status is changed - the trigger only fires if ALL sub-tasks are marked complete.

I want the status of specific sub-tasks to change the status of the parent task.

I tried this:

But this rule doesn’t even fire if I change the completion status of a single sub-task. I don’t think there’s a trigger that does that?

And if I trigger from the sub-task, there’s not obvious way to change field value on the parent (thus my original post)!

Ah wait! I just discovered that a version of this rule I created a few days appears to be working! The only thing is it’s firing twice for some reason, but the reasoning all looks good on this example:

Here’s the rule and guidance for others to reference:

Your goal is to determine if the user has changed the Task Status of a task in the ourWork project that has Task Type = “Sub-Task” or “Develop” to a value that indicates the task itself is completed (the development work), which means the parent task should be transitioned to Task Status = “Ready to Deploy”. Sometimes users mistakenly change the develop sub-task to “Ready to Deploy” instead of just marking it completed and changing the parent task to “Ready to Deploy”.

In addition, anytime a user marks a sub-task of type “Sub-Task” or “Develop” as completed, if the parent task has Task Status “Ready To Start” or “In Progress”, we want to automatically transition the parent task to Task Status = “Ready to Deploy”.

Finally, if the task that triggers this rule is not already marked completed (e.g., if the user mistakenly set it to “Ready to Deploy”), then we want to set that task Completed (check the completed checkbox).

We also want to leave a comment on the task that triggers this rule that indicates what has been done to it and to the parent task.

1 Like