Sub-Tasks in Notion: The Ultimate Guide

Video Statistics and Information

Video
Captions Word Cloud
Reddit Comments
Captions
well hello everybody and welcome back to thomas frank explains in this video we are covering a bit of a more advanced topic in notion one that i've gotten quite a few requests to cover which is adding subtask support to your task lists inside of notion so what do i mean by that well take a look at this task list that i have here inside of one of the video projects i'm working on i'm creating this credit card basics video for my main channel and here in this project task list i have all these tasks that i have to do for the video and you'll notice some of these tasks have a little indentation arrow here denoting that they are subtasks of this task right here write script slash outline i need to talk to my mortgage lender about some credit card mortgage effects and a few other things they are nicely nested under their parent task and i can check them off and their state is going to change i can give them due dates in order to sort them all kinds of good stuff so we are going to be going through exactly how to elegantly set up and support subtasks in your own task lists inside of notion before we get into the nitty-gritty i do want to let you know that i have added this subtask sorting support into the latest version of my task manager template which is called ultimate tasks it is absolutely free there is a link in the description below where you can get it and if you've already been using it there is an upgrade guide for adding this functionality to your project area inside of ultimate tasks because i feel that is the best place for sorting subtasks underneath their parent tasks inside of projects or in the case of creators companion which is my content planning and management template also linked below inside of the video or blog post or podcast projects that you are running just like i am here so what we are going to do in this video is first go through how to even support subtasks inside of a task database inside of notion we are also going to go through creating a template inside your task database that will actually support subtasks when you can go into the task and add subtasks we're going to go through the problem of adding default subtasks to a task template inside a notion i've gotten a lot of questions about that and then finally we're going to get into the most advanced part of the video which is achieving this sort of sorting right here where you have your subtasks nested underneath their parent task regardless of the due dates of those subtasks finally we're going to get this inside of our project template and by the end of this video you are going to be an expert when it comes to task and subtask sorting inside a notion a lot of people thought that this was not doable but with some clever formulas you can absolutely do it let's get started by checking out this very simple simple tasks table that i have here and this is actually just a modified version of the simple tasks template that i used in my notion grouping video if you haven't seen that check that out after this one and this is what we are going to be using to set up our sub task sorting and the first thing we have to do is create a relation inside of this database to allow for subtasks so we're going to go here and we're going to create a brand new property we're going to call it sub tasks and it's going to be a relation type property now normally when you're creating relation from a database inside a notion you would pick another database so you have two databases related to each other but you can also relate one database to itself so i'm going to go ahead and search for the name of this very database super simple tasks and there it is and now we have this option here either create a new property sync both ways use this option when modeling parent task and child tasks so they've actually given us this example here you can also use the same property which will not have any syncing between different rows it will just create one relation column that is not what we want here we want to create a new property and have two separate properties for our subtask parent task relation so we're going to create this relation with a new property and in a couple of seconds here we're going to get that new property popping in right next to subtasks it may take a little bit of time in fact it may not automatically show up so i'm going to go over here to the three dot menu click properties and there it is related to super simple tasks subtasks i'm going to turn that on and i'm going to rename that to parent task so now we have the relation set up that will allow us to create a parent task and subtask relationship so let's go ahead and actually do that we've got one task here called install a b testing plugin maybe i want a subtask for that very task so let's go to a new task let's call it research a b plugins because maybe i don't know which one i want to use so what i can do here is i can set the parent task of research a b plugins to install a b testing plugin you're going to notice when i do that in the subtask category or a property for install a b testing plugin gets filled with research a b plugins we've created this relation so now this is a subtask of this now in my creator's companion example with this video that i was working on you'll notice i have these little arrows here that are denoting this is a subtask so this is a property called state and this is included in ultimate tasks and it basically just shows the state of the task is it overdue is it currently due today is it due in the future does it have no due date or is it done in which case it gets a smiley face we also append an arrow if it is a subtask so all we need to do is slightly append our current state formula right here and i'm just going to write if parentheses empty parentheses prop parenthesis and it's called parent task double parenthesis to close that so basically if the parent task property is empty i need to actually add a quotation there then i want to add nothing just a blank space and if it is not empty i want to add an arrow so i'm going to go ahead and bring up my little emoji keyboard and i should have a search bar here there it is i'm going to go ahead and go with this little right arrow right here close that off and hit a plus so basically now i have this little tiny formula that will append this arrow if the parent task property is not empty and if it is empty it will just append nothing and then i'm using the plus operator to basically append this formula onto this formula which handles the little circles hitting done i now have the little arrow in front of this symbol because this is indeed a subtask so now let's go ahead and create a template that you can use to add subtasks within the page for any particular task so for example i might want to go into install a b testing plugin and have a task list right here where i could add some subtasks so to do that i'm going to come over to this little blue arrow in the corner here and i'm going to create a new template and let's just call this task with subtasks and what we're going to do here is add a linked database and the database is going to be the super simple tasks database that we are working on so i'm going to hit slash i'm going to type linked to get the link to database option and i'm going to search for super simple tasks so now without any filters i'm going to see exactly what i see over here or at least all the tasks they're not sorted the same way but what i want to do is create a filter criteria that's only going to show subtasks of this task and when i create a new task in here it is going to become a subtask of this task so to do that i'm going to create a filter and the filter is going to be where parent task contains and we need it to be the name of the template so when i'm setting the name of the template here this takes advantage of something in notion called self referential filters which means that when i create an instance of this template when i create a new copy of it and give it a specific name the filter is going to be updated to that instance's name so for example if i created and i can actually show you if i go into install a b testing plugin and i generate a instance of task with subtasks we're going to get a self-referential filter update you'll notice here that the filter has been updated to install a b testing plug-in this is one of the most useful features when you're building more advanced workflows inside of notion and you'll notice that because of this updated filter we now see our research a b plugins inside of this task list we can also create another one so let's see talk to andrew about best plugins my friend andrew knows about these kind of plugins and we come back to our actual task database we do have a filter in here that we need to get rid of which is the status is not empty so i'm going to go ahead and remove that we can see our subtask has popped up right here now one thing that i've been asked about by a lot of people is how do i get default subtasks into my task with subtasks template and that is a very legitimate use case for example over here in our video project manager we want a lot of these subtasks or at least the tasks to be inside of this database here when we create an instance of the template we always have to cut the a roll we always have to send the ad preview we always have to add final updates all of this stuff happens with basically every single video so it would be great if we could just have these tasks in here the moment we create a new instance of that template but watch what happens when i try to do that if i come back over to my task with subtasks template i edit it and i add a default subtask in here we're just going to call it default subtask it's here inside of the template but when we create a new instance of the template so let's go to buy skyboard as an example and generate from task with subtasks we are going to see that default task right here but notice that it is the exact same task that is inside the template itself if i click done we notice that it is marked done here and it's also going to be marked done inside the template and that is because there is no way inside of notion to create an instance of a template and have that action actually create new rows in a database that are separate from this page so what happens instead is if i open this you'll see this default subtask simply gets another parent task another relation to that brand new created row that was generated from our template and that's not very useful there is however a workaround and it's one that we use every single time we work on a video in creator's companion so i'm actually just going to show you how it works in our version of creators companion here we have a video with all of these default subtasks already there let's go and find another video where we haven't yet put in those default tasks so i'm just going to go to this 10 money rules i live by video that i'm working on here and right now our project tasks database is empty because we haven't added anything what we have beneath it is a little toggle called default video tasks and this is just a simple checklist now this checklist has a red outline around it because it's a synced block i actually have it living inside of our company wiki not inside the template so it's easily changed and what we can do is click and drag to highlight all these and then hold the alt or option key depending on what os you're on drag these into the database and by holding alt or option we're going to copy them instead of moving them don't remove my sorting and now i have my default subtasks so it does take a little bit of extra time but it's like an extra five seconds and now they're there and they are their own unique rows next challenge how do you get your subtasks to sort themselves beneath the parent task inside a notion this is quite a bit harder than it seems because if you come in here and you sort simply by due date then even if you set a due date that is the same as the parent task so the parent task here is install a b testing plugin which is due december 7th even if we set that as due december 7th and we set this one to suit as due december 7th it might go underneath install a b testing plug-in or it might go underneath another non-parent task but still top level task like organize office that happens to be due the exact same day and it gets even worse if this is due like it often will be before the parent task often your subtasks are due before the parent task can be actually marked due so how do you solve this problem well we can do it with formulas specifically we're going to do it with four different formulas and i'm going to link to this page in the description so you can simply copy these as i'm going to do and one roll up so the first one we need to create is called subseed and i'm just going to copy this here but i will explain essentially what i'm doing subseed is a term that i made up but it is essentially a formula property that we're going to create and all subseed is there to do is to be a marked checkbox for anything that is not a subtask so basically we want to differentiate between parent tasks and subtasks you could also potentially use the state formula here and look for the presence of the arrow and be a little bit more elegant about it but i'm just going to create a brand new property called subseat next we want to create a property called subseed name so subseed name is a formula so we're going to create a formula here and its purpose is to pass the name of the parent task to the subtask and it looks like it's not going to work because the property task is not found we actually need to rename this to name in this case because i didn't name the name property task if i actually change that to task it's going to update here and i'll be good to go now the reason i need to do this is because i need a single property that is either going to have the name of the parent task if it has a parent task or it's going to have its own name if it's not a parent task so essentially install a b testing plugin is going to have the name install av testing plugin because it doesn't have a parent task but talk to android best plugins is going to have install a b testing plugin we have a single property that always pulls the name of the parent task unless there is no parent task in which case it pulls its own name this is very important for comparing the due dates which we are now going to work on so the next one we need is a property called do timestamp essentially we need to take the due date and convert it to a time stamp which is just a unix time stamp it's uh how many seconds have passed since a day in i believe 1972 which was basically picked by a bunch of computer nerds and we use it in all kinds of areas so do timestamp that's going to be another formula and we can go ahead and paste that right there this is a very simple formula because notion has a built-in timestamp function so we're just passing the do property to the timestamp function and hitting done and lastly we need to create a rollup called parentdo timestamp and finally a formula called do stamp parent so essentially we need to do is get the due time stamp of the parent task for any subtasks so parent do time stamp this is going to be a rollup property and i'll be covering rollups in future videos but essentially they allow you to reach through your relations to get information about other rows and when we come in here we can select a relation and it's going to be parent task and then the property we're pointing to with the parent task is going to be that do timestamp formula property we're going to show original so for any task that is a subtask which is going to be these two this will be pulling the timestamp of their parent task and lastly we need another formula called do stamp parent and the reason we need this is again for comparison purposes so we're going to call this do stamp this is going to be a formula and we'll paste this here and again the reason we need this is because this is going to either display the task's own timestamp which again is its due date if it is a top level task i.e it doesn't have a parent task but if it is a subtask it is going to display the timestamp of its parent task so this will all make sense once we start creating our sorting criteria so to review we have the subseat property the subseed name property the due time stamp a rollup called parent due time stamp and then another formula called do stamp parent which is just pulling all the time stamps in so finally we can create sorting criteria that will ensure our subtasks are always nested nicely beneath their parent tasks so to do that the first sort criteria you want is do stamp parent and we want that in ascending order next we want the subsea name and this is going to ensure that uh tasks actually go beneath their parent task instead of another parent task that happens to have the same exact due date next we want to sort by the sub seed and we're going to go ahead and sort that in descending order this simply ensures that the parent task is always above the subtasks and finally we are going to sort by do which will nicely sort these subtasks in their due date order beneath their parent task so now you can see we have installed a b testing plugin due december 7th 2021 and nested beneath it are both of the subtasks that we created even though this one has a earlier due date than its parent task the last thing we're going to cover is showing this subtask sorting inside of projects because one thing you'll notice about these subtasks is they do not have a project relation so install a b testing plugin if we go into it we can actually see that its project is sales page redesign but just because these tasks are subtasks of this task here they do not automatically get that project their project relation is empty which means if i come down to this little hidden assets thing that i use to get all this stuff out of the way if i come into the sales page redesign project i'm not going to see those subtasks sorted beneath their parent task here which is kind of exactly what i want so to fix that all we need is one additional roll up and that is going to be called parent project so we're just going to create a parent project property over here we're going to select the rollup type and finally we are going to set the relation target as the parent task and the property is going to be the project so we're reaching through a relation to look at yet another relation and now that we have that parent project roll up we can come and we can modify our filter criteria to say where the project contains sales page redesign or i'm actually going to turn this into a group just so it's very easy to see or where parent project contains sales page redesign and again you would want to go into your template and set up a self-referential filter for both of these filters right here now we're going to see both of those subtasks but first i'm going to go ahead and drag my state property over here so it's very easy to denote what is a subtask and when it's not a subtask i need to recreate my sort criteria so all you need to do is come in here and do that really quick and bob's your uncle we have the subtasks related to the project tasks inside of the project even though they do not have a direct relation to the project itself now due to the limitations of rollups note that i can't go any further than just these two levels we can't do sub subtasks that are going to easily show up inside of projects without some crazy finagling that's going to be very easily broken so for now at least i believe that a single level of subtasks is all we can really manage inside of notion without compromising on other functionality that we're definitely going to want so that is pretty much everything you need to know about subtasks inside of notion right now hopefully this was clear and easily followed for you guys and this was a pretty advanced tutorial but i tried to make it pretty step by step and like i said the beginning of the video my ultimate tasks template for notion which is free and what i personally use for my own task management now has this feature inside of the project area so when you create projects you can actually add subtasks to the tasks inside of them and you'll see them nicely sort of beneath their parent tasks this feature is also in creators companion which is my advanced template for managing social media content blog posts youtube videos throughout the entire production pipeline it is exactly what my team and i use for managing all of my youtube channels my blogs and basically every piece of content that we create from the idea stage to the project management stage to the archiving and analysis stage so you can check that out over at thomasjfrank.comcc and i'll have all the other useful links in the description down below thanks as always for watching follow me over on twitter at tomfrankly if you haven't done so already and especially if you do have a question i am much more responsive on twitter than i tend to be in youtube comments i do check comments below so if you do have a question you can use that if you want but twitter really is the best place if you're looking for something else to learn about notion right here you'll find a video on forcing functions which is something that we actually demonstrated in this video it is a fundamental database design technique so check that out or check out one more video right here youtube is going to recommend it to you
Info
Channel: Thomas Frank Explains
Views: 4,079
Rating: undefined out of 5
Keywords: notion, notionhq, notion app, notion tips, how to use notion, notion productivity, notion templates, how to make subtasks in Notion, thomas frank subtasks, making subtasks in notion, notion subtasks, notion task management, notion to do list, notion tasks, notion vs todoist, notion sub-tasks template, notion to do template, best free notion templates, free notion templates
Id: gcH5i3RS8k0
Channel Id: undefined
Length: 20min 19sec (1219 seconds)
Published: Thu Dec 16 2021
Related Videos
Note
Please note that this website is currently a work in progress! Lots of interesting data and statistics to come.