Automated planning as you go

I had a similar challenge, and FINALLY figured out a solution! Here’s the end result:

• A new request is submitted via Asana form
• A parent task is created with all the info from the form, using the customer’s name for the task title (rather than the generic “[Form Name] submission”
• The parent task is assigned to someone who is responsible for reviewing the request and either approving or rejecting it
• If approved, subtasks are automatically created for all the necessary steps/milestones (they are the same for all requests of this type) and assigned to the relevant people responsible for each one
• When each subtask is marked “complete,” the next subtask (or group of subtasks) that was dependent on the preceding subtask is assigned a due date of n days from the previous subtask being marked complete

This way, instead of using a rigid timeline that goes haywire if even one task/sub-task is late, everything adjusts automatically based on when the previous step was completed. Also, doesn’t require a user to manually do the “update due dates” thing, which was a concern for us due to risk of “operator error”

I’m on a deadline right now, but if there’s interest in understanding how I set this all up, please let me know and I can follow up with a more detailed explanation!

2 Likes

Hi @Kendal_Richer ,

Thanks for sharing. It’s a bit more about flexible planning as opposed to the setting up of multiple dates at project creation, but it sounds like this would make a good post for in English Forum > Tips and Tricks :slight_smile:

1 Like

@Kendal_Richer
Kendal, you sent me an amazing email six months ago about setting up dependent timelines based on completion of the task blocking the next task. You added some screenshots that have since expired - is there any way you can re-send that original email, or are those screenshots gone? It’s taken me a long time to get to this project! Thanks SO much for your help - your ideas were amazing.

Hey again, @Chris_Stacey! Glad to hear you’re starting to dig into this challenge, and that you still remembered my earlier suggestions :blush:

Here’s a copy of what I’d posted in the separate thread, including screenshots. Also, here’s a link to a video tutorial I’d recorded, for internal training purposes, that should help get a better sense of how everything works: Case Study Asana workflow automation tutorial.mp4 - Google Drive

I created this automation specifically for our case study request workflow. Because our intake form is for ALL marketing deliverables (not just case studies), I had to first setup a “listener” to filter out all other requests before starting the case study workflow.

STEP 1:
Trigger from the Asana project that our intake form goes to is set to go off when a case study request has been submitted and then manually approved to proceed (this prevents the automation from running if we get a request and it doesn’t have the required info, or we just decide it’s not worth the effort).

STEP 2:
Here’s what that automation looks like in Asana, which actually has separate (but functionally identical) flows depending on whether the case study is for a partner or a customer.

STEP 3:
The worfklow automation shown above then creates sub-tasks for each step in the case study process, which are added to a separate, dedicated project just for this.

STEP 4:
When the sub-tasks are created, each one is marked as dependent (“blocked”) by the preceding step in our case study process

STEP 5:
On the dedicated project I setup (the one that the sub-tasks are added to), I created another rule which is triggered when a task is no longer blacked.

STEP 6:
When someone marks their step in the case study process “complete” it triggers this flow, which then sets the due date for the next step in our process to be n days later, where n varies for each step

STEP 7:
As icing on the cake, I also have it automatically tag the person responsible for the next step (the one that is no longer blocked) with a comment, which also includes the due date, using Asana’s new variables function


Because this flow is kind of long, I couldn’t screenshot all the steps, but they essentially all function the same. Also, I have a separate rule running on this project that removes each completed task/sub-task so we only see the steps that are remaining to be completed. Once all the steps are finished, the original task (from our intake form project) ALSO has a rule to move the task to a “completed” column, which is triggered when all subtasks are changed.


Hopefully that all made sense, or at least somewhat. It was a doozy to setup, but totally worth it in the end!

1 Like

Again, you are the BEST. Thank you so much for sending this. That video you sent me is great, and your thought process to address these technical issues is beautiful! I have a few questions:

  • You have one project with tasks, and each task is a request (or if this were a sales process, each task could be a company). Then you have subtasks to guide the workflow.
  • If one were willing to have someone’s whole Asana experience be companies moving through the sales process, would it make sense to have each company to be its own project with tasks guiding the workflow (vs. the task being the company with subtasks below)? Does this help or hurt anything in the process you outlined before? I can see the hidden subtasks throwing off someone who is not expecting them, but if your solution only works with subtasks, that’s good to know.
  • It looks like you created the sections mostly because any subtask in a section has to abide by the same number of days until due date, and in order to have different time horizons, you created different sections. If the user were willing to manually change the due date for the next task (at the same time they are marking the last task as complete), and didn’t need the system to be elegant enough to do that for the user, would the sections be necessary? We have a lot of steps on our workflow, and I’m not sure if it’s too much to have all those steps be different sections in order to customize the number of days.
  • Halfway through our sales workflow, there are branch points. Let’s say the workflow has 30 steps. At step 20, a company may purchase, which puts them into an invoicing pathway. Or they may hold, which puts them into a nudging pathway. Or they may say no, which puts them into a “wait until 6 months” holding pattern. How do I deal with “choose your own ending” portions of the workflow? Feel free to direct me to the knowledge base for this if the answer is already well documented.
  • Did you start out with this as a project template or build a project and turn it into a template? Does it matter?

It’s amazing to have a real person helping me figure this out. I am so grateful for you! If you’re ever in the Washington, DC area, let me know and I’ll take you out to lunch. :slightly_smiling_face: – Chris

1 Like

@Chris_Stacey @Kendal_Richer Thanks for your input!

I converted this to a new topic, as the 📅 Relative project template dates (other than after start or before end) is about planning at the start of a project, and your use case is more about planning as you go.

1 Like

Hey @Chris_Stacey, and thanks for the kind words! I’ll do my best to answer your questions, but definitely worth checking out some of Asana’s own documentation as well, especially when it comes to use cases for Portfolios vs. Projects (we tend to mostly nest things within Projects rather than Portfolios, because the majority of our tasks are basic “I need this” requests that work well within a simple Scrumban project management framework).

That being said, I would recommend using a Portfolio to track your sales workflow, with each new opp/company having its own project within the portfolio. In many ways, this will probably be easier for you to setup and use than the workflow I created, because you’ll be able to use the “relative due dates” project-level feature that isn’t available at the task level (and therefore required me to figure out my workaround). A portfolio will also allow you to create rollup views for ALL projects (i.e. new sales opps) and track overall progress towards completion at a holistic level. In our company, we typically have hundreds of active new opps open at any given time, each at varying stages of progression, so this rollup view would be extremely helpful. Also, if your sales workflow involves 30+ unique steps, it would be difficult to manage all of this from a single project view (30 steps x 10 active sales opps = 300 tasks on a single board, and that’s a conservative estimate!). You can add relevant documents and other assets to each project in Asana, which might be helpful for keeping things organized amongst your team (these will appear in the project “Overview” tab) – kind of like an old school “job jacket” when we’d keep everything in a manila folder for each account :slightly_smiling_face: . Lastly, you can create standard roles in your project template – using these as placeholders in your task framework – and then assign them to individual collaborators when you use your template to create a new project. This is really helpful if, for example, you have standard tasks that would go to a BDR, but have multiple BDRs on your team – once you’ve assigned a particular BDR to a new sales opp, you would assign that person to the “BDR” role in your project template, and they will automatically be assigned and/or added to all relevant tasks in your project template.

I’m guessing you have a pretty standard workflow already established for tracking new sales opps, so to get started with an Asana portfolio workflow, I’d start by creating a project template with placeholder tasks for each step in the workflow. If you decide to create a dedicated project for each new sales opp, you won’t need to create sections for every single step in your workflow; I’d use key milestones as your sections instead, with an automated rule that will move completed tasks to a dedicated “Completed” section on the far right. That way, you can look at the project in either “list” or “board” view to quickly see what milestone you’re currently at, and what tasks are remaining to be completed.

You can set the template up with relative due dates (e.g. “n# days after project start date”) for each task, which will be automatically populated when you create a new project, using the project creation date as the starting point. You should define task dependencies as much as possible in your initial template, which will allow you to dynamically adjust dates across all dependent tasks (this is the challenge I had to solve with my workaround, as relative due dates don’t work like this at the sub-task level). So, let’s say you create your project template with “Step 1” due 5 days after the project has been created, and “Step 2” – marked as “blocked by” Step 1 – due 10 days after project creation. If the due date for Step 1 is adjusted (let’s say you move it back by 2 days), the date range for Step 2 will automatically adjust as well (to start and end 2 days later than in the initial project template). Any other tasks that are marked as dependencies (“blocked by”) of Step 1 OR Step 2 will also have their due dates adjusted accordingly as well. This makes maintaining an accurate timeline WAY easier.

For any branch points, I would suggest creating automation rules to manage your next steps. How you set these up is your call, but you can do things like adding a custom field with single-select options for “Invoice, nurture, hold”, with each option triggering a different automation (e.g. “Invoice” gets assigned to someone on Finance and marks project status “complete”; “hold” adjusts due date for current task by +6 months – which then automatically adjusts the due date by =6 mos. for all dependent tasks after it – and sets project status to “on hold”). There are plenty of help docs and threads in the Asana forums about this, but honestly it’s pretty easy to setup.

Lastly, because I needed my workflow to work using tasks/sub-tasks, I utilized Asana’s automation rules to create my “template” rather than using a more traditional, dedicated project template. Again, this was largely because of how we use Asana in our organization already, but it’s more of a workaround than best-practice. If you decide to use a Portfolio for your top-level nesting (instead of a Project, like we do), you can create a Project template that won’t require nearly as much custom automation/rules as my setup.

Hope this helps, and next time I’m down in DC I just might take you up on the offer :wink:

Cheers!
~Kendal

1 Like

Wow! Fantastic! Thank you SO much, Kendal. You are very generous so send me so much tailored info, especially when I know some of the questions I have could be answered by the knowledge base if I had spent five hours there before emailing you. :zany_face:

I just read this right now, so the meat of it will sink in more when I start getting into the details, but I am really blown away and grateful for your insight and generosity of time and knowledge.

You should definitely let me know when you’re in DC. I would love to take you to lunch or coffee or whatever works in your schedule to say hello and thank you in person. Many, many thanks! – Chris

Kendal, with regard to your paragraph in yellow below, I’m trying this and it’s not working. I’m using project start date X and tasks with X+Y, X+Z, etc., and when I change the start date of X to another day, the rest of the dates don’t change in a cascade. What am I doing wrong here? – Chris

This is an excellent post and very detailed! Very helpful :grinning_face:

1 Like