Forum Discussion

JenniferJuhasz's avatar
JenniferJuhasz
Qrew Cadet
2 years ago

How to automate tasks?

Hi everyone,

I'm going in circles trying to figure this out, and I'm just not quite sure how to achieve what I want to do.

I'm trying to customize one of the Project Management/Task Management templates in the library; many 'tasks' in our organization come with 20 or 30 "sub-tasks", and that's where I'm a bit stumped.

If I build a table which contains a list of sub-tasks that are standard and apply to a specific task that is recurring,

Then when a project is creating, the 'task' is selected, and all the sub-tasks automatically get assigned.  Has anyone tried to do this? 

Could it be done using the list of sub-tasks that relate to the 'parent task' to create a kind of summary table, where a field gets created that lists all the subtasks (with checkboxes) - because I wouldn't want the 'Task' to be marked as complete until all of the sub-tasks are completed.

Ideas? 

an example would be:

HR Manager creates a project for a new hire and assigns the task: Create New User Account, which is assigned to the IT team.  But a New User Account has 20 actions that are required before it's considered 'completed'; the HR Manager wouldn't know or have time to sit and create 20 actions each time - I need that part to be automated.

Thank you so much for your thoughts! I always appreciate the creative minds that can help think through challenges. 



------------------------------
Jennifer Juhasz
FamilySmart
BC, Canada
------------------------------
  • Are these Template tasks where in your example the user is picking the 'Create New User Account' from a list of template tasks? If so - you have a lot of options but the easiest would be to just use a Pipeline and whenever a Task is created, search for the template sub-tasks related to that template task and create the sub-tasks via Pipeline. This way the user just has to pick the parent task and the sub-tasks are automatically generated in short order.



    ------------------------------
    Chayce Duncan
    ------------------------------
    • JenniferJuhasz's avatar
      JenniferJuhasz
      Qrew Cadet

      Oh! Thank you Chayce.  That hopefully will get me started in the right direction.  



      ------------------------------
      Jennifer Juhasz
      FamilySmart
      BC, Canada
      ------------------------------
  • BrianSeymour's avatar
    BrianSeymour
    Qrew Assistant Captain

    Hey Jennifer,

    You could also store Subtasks in the same tables Tasks by creating a "Parent ID" field and using a "self-join relationship." Although, for reporting and managing your templates via the native QB UI, you may be better off creating a child table for Subtasks as you mentioned.

    • A Project has many Tasks and a Task belongs to one Project
    • A Task has may Subtasks and a SubTask belongs to one Task

    Then, depending on your intent, you could use a Pipeline loop through and create all the Tasks at once, such as when a Project is created. Or you could have several Pipelines to create single Tasks when it's predecessor is completed. 

    Then, you could either have a separate Pipeline create Subtasks when a Parent Task is created. Or alternatively, you could have a step in the Task creation Pipeline to search for child Subtasks and loop through and create when the parent is created by associating them to the freshly created Task ID from the preceding step.

    Hopefully, that makes sense!

    I could also see how you could architect this system using a many-to-many relationship, where a Projects have many Template Tasks and Template Tasks have many Projects. So you could store the Template Task ID on your actual Task instance if you wanted to run reports from the Template Task context. That could be nice from a manager's perspective to see all open Tasks of a given type via embedded reports (report links). That may save the time of building many Task Status reports since they just kinda work via relationships.

    Also, you could create a summary field on the Tasks table that counts all Subtasks. And a second summary field on the Tasks table counting all Incomplete Subtasks (using a condition). Then, if those two values are equal you'd know all the Subtasks were completed and be able to kinda show a progress meter (percent completion).



    ------------------------------
    Brian Seymour
    ------------------------------