Transcription
Are you looking to master Notion? You've come to the right place.
Over the past years, I spent thousands of hours in Notion. I quit my job as a lawyer to build Europe's number one Notion consultancy, and my team and I have helped companies all over the world adopt Notion as their single source of truth. And in this video, I've collected all our best tutorials from the past 12 months to give you the perfect Notion course for 2026. From your very first steps in Notion all the way to mastering advanced concepts like automations, formulas, or permissions, everything in one video.
Of course, this is quite a long video. So, to make it easier for you to follow along or to jump right into the specific area that you want to learn more about, I've added timestamps and chapters for you in the description.
Overall, we have six big chapters. We're starting with number one, the foundation. Then we move on to two, core productivity and three, business systems. In chapter four, we take a look at how you can make the most of Notion AI. And number five, we will look at advanced concepts around formulas and automations. Last, but certainly not least, chapter number six introduces admin concepts, plus a bunch of collected tips to really get your skills to the next level. So, buckle in, bookmark this video, and let's go.
All right, let's start at the very beginning. Before you can build complex systems, you need to understand the basic building blocks and principles of Notion. And that's exactly what this section is about. So even if you've never opened the app before, after this, you can take your first steps in Notion.
Are you just starting out with Notion and feeling a bit overwhelmed? You've come to the right place. I am a certified Notion consultant, a speaker at Notion conferences, and I have spent thousands of hours in the app. And here is my super condensed quick start guide so you can start to understand and use Notion in just a few minutes. Ready to go from an empty page to your first small setup in Notion? Well, let's start with the two most important principles.
Number one, in Notion, everything is a block. Think of doing anything in Notion like building Lego. Basically, Notion thought, well, isn't all software just made up of the same blocks? We have sometimes headings, we have regular text like here where we have special style text. We can have color, we can have columns, images, buttons, right? But at the end of the day, all the tools that we use are made out of the same core components. So, in Notion, whenever you do something, in the background, you're actually adding these blocks.
For example, if you whenever you hit enter, what you'll notice, it tells you, you know, you can write something, press space for i or slash for commands. And we'll talk about slash in a second more. But if you type slash, you now see all these basic building blocks that you can add to the page to make it up. And of course, if it's just text, right, then it looks similar to a word document. But the difference is that it's actually all separate. And you see that also if you hover with your mouse over these different blocks, you see these six dots appearing on the side. And all, every time the six dots indicate this is a new block. So this MD line is a block, this heading is a block. And I can click on these six dots and I can drag that block around. Right? Then you see then now this blue indicator line that indicates where I would drop this block. So I can drop it below this one. Right? Now it's actually inside uh the code. I can drop it and take it out again. Right? I can drop it below this one. Can also move it into a column. And you see if I move it anywhere here, this blue indicator now indicates that it's only taking up half the space because it is in one column. We will talk about this block concept in more depth in a moment. For now, just remember that whenever you press enter in Notion, right, and you add a new line. This is actually a separate block, it behaves differently. You can move it around. You can turn into things and when you you know create your pages, whether it's just writing text or building complex habit triggers, putting Lego blocks together to build something cool out of components.
Now for the second concept in Notion: there are no folders, just pages. This is probably the thing that's most confusing about Notion to new users because it's so different to how other tools work. Traditionally, right, we're used to this sort of structure. We have folders and inside our folders we have subfolders and at some point we have our actual files, a text file or a spreadsheet. But in Notion, there is not really this concept of folders. Everything is directly a file or in this case, a page. Let me show you what I mean. So here, if we look at our site which we get by clicking here on the top right corner and then having this show currently, we see under this private section I have this element right which has the same title as this one, like Lego for my systems. Now if I click on plus here to, you know, would usually create a folder, folder here. I actually add a page. So I have a new page, right? And I could call this notes. Now it shows up here on the sidebar. So far so good. But now after a while as a new user, right, I might might add some new ones. I might add some a shopping list, right? I might add my habits and so on and so on. And all of a sudden my site by here keeps growing and growing until I have like dozens of pages here and nothing is structured. And that is of course very overwhelming.
But just because these are pages where you can write something doesn't mean that they have to stay just that. Instead, you can use them like supercharged folders. And with that, what I mean is that you can actually create pages inside pages. So if we let's say for example, we have uh we create a new page for um my uh private life, right? As as a folder or if you follow the PARA methodology, right? You might know that one. In PARA, you have um projects, areas, resources, and an archive. Now instead of creating, you know, like folders, what we can do now is we can create in this page other pages. And to do so, what we can do is simply click on plus or type slash and then search for page. And now it tells us we embed a subpage in here. So let's do that and let's call this projects. And what you see now, if you, you know, move here, you see the spread comes at the top and tells you what projects lives inside PARA. And if I here on the sidebar also look at my PARA page, right? If I open this to, I see there's a page inside. And this now already looks like a folder structure. So I can go back to my main page and I can type / page again and I can call this areas. And we see I have now under my top level page two subpages nested. So this behaves like a folder, uh, but it is better because not just can you store elements inside PARA, but you can also just use any other blocks. So unlike in a folder, right, where you can just sort it, um, maybe alphabetically, um, you can also say here, okay, I could add some context. For example, my uh most important uh uh pages, right? I could bold this and then I could have, like another section, you know, my uh other pages and then again add pages below. So just because there's no element that is called a folder doesn't mean we don't have something that can behave the same way in Notion.
Now, there is actually a far more powerful way to organize your elements in Notion and that includes databases, but we'll talk about that in the end. For now, just remember that pages are actually better than folders because they can both contain the actual information, right? Some text or some article. Um, but they can also serve as an area where you then group elements and other pages together. So, basically supercharged folders that can have both context and structure.
Now, let's start actually working with these pages. So, I've added resource and archive as well. And I will hide the sidebar just so we don't get distracted. And then I will click into resources. Again, we can see here at the top right, I'm inside PARA resources. This is my Notion page. In terms of elements of a Notion page, what you'll always have is a heading, but this is the actual title. There's no way to uh have this removed. I can delete it, but it will then keep telling me, you know, new page, so I I better just give it a title. As long as I hover over the title, I see also these three options here to add an icon, a cover, and a comment. We can ignore comments for now, but icons and covers are how you add style elements to it.
So, if I click on add an icon, this page now allows me to pick an emoji or a specific minimal icon. Under the minimal icons, I can also change the color, right? If I want them all in blue, for example, and I wanted to give it a Notion logo or in this case, right, since it's an archive, maybe let's look look for a box. And then we can use that. You can also upload your own custom icons and emojis if you want to, but I want to go with this box. And now you see I get this icon above the title, and I also get it to show up here. Plus, if you look at the sidebar, the um resources now has this blue icon as well. So, this is a great way to visually separate your different pages, right? And make it much easier to recognize it. So, I recommend that you set icons on all your pages.
Moving on, we can then click on add a cover uh to add this top level element, right? And it will automatically pick some of the standard ones. We can reposition it, right? If you want to see a different part of this image, uh we can cancel this and then change the cover. And here, Notion has a few preload options. It's a bit cut off now because I'm so zoomed in. So, let's actually go out a bit uh and we can uh upload our own ones. We can uh link to something or we can use Unsplash to search for images. It's nice to add a little bit of personality to the page. And if you ever want to remove it again, you click on change cover and then on remove for a more cleaner look.
Now, the last styling for the page is hidden behind the three dots in the top right corner. Basically, wherever in Notion you see either three or six dots, you will find more options. And the options in the top right corner apply to the whole page that you're looking at. So if I click on these three dots, one thing that I see is that I can actually change the font. So I could say actually I prefer a font or I prefer the mono font. Very, very important though, this applies only to this specific page. Right? So if I select now my mono um font here and I go to one of my other pages, for example, to areas, I see that this has still the default one. So I would need to go in here as well and click on mono to apply it. That's of course very annoying if you have to do it individually. But there is a tip and I'll share that with you at the end of this video. How you can make sure that all your pages have a certain look if you want to.
The other option that is sometimes quite interesting here is the small text option, right? If you want to have it much smaller or the full width. Now, in order to really see that, actually, let me zoom out a little bit more because if we're like very zoomed in, we don't really uh notice it. But here you see now if I click below resource the title, I can start writing here. But this leaves quite some white space here on the side. And if you are on a big screen, this leaves can potentially leave a lot of wide screen. If you want Notion to take up the full width of your page, again, three dots and then full width and then you have the whole screen available to type. Although often if it's just about text in Notion, the smaller width looks quite good because it automatically centers everything here.
On a new page, you also see that Notion will suggest you some starting resource, right? It shows you AI to help you write something. It asks you whether you want to create a table, a form, or look of any look at any templates. You can also click on the three dots to see more options. But actually we want to start from scratch without any help. So in order to do it, we simply click below the title. And you see the second I do this uh it gives me this again like this the little highlight write something or press space. So we can simply say, you know, uh hello world, exclamation mark. And then if you wanted to, we could press enter. And remember, everything in Notion is a block. So here is my one block and I just created my second block. Whenever I press enter, I get a new block. And if I hover over any block, these six dots, right, that I used before to drag things around, I can of course do this here as well, right? Reorder these blocks. But I can also click on these six dots because as I said, if you ever see three dots or six dots, that means settings in Notion. So let's click on it and see what we can actually do. You see that we can comment and suggest, we can ignore that, ask AI, delete, all nice, you can duplicate it. But the magic is turn into. If you hover over turn into, we see all the block types that this block could be. And by simply clicking on another block type, we just modify it. So even though we create a text because by default whenever you write something uh right, it is always text, but we click on the six dots and we can now say, actually, hello world, that is supposed to be a heading. So I click on the six dots, I say turn into, I turn it into my heading one. Voila. And for my second block, right, I could again click on the six dots, say turn into, maybe a heading level two. And then for the last one, we can turn it into heading level three. And these are now the three uh heading available in Notion. You see it automatically also adds some spacing between them so that everything looks nice on your page. Pretty cool.
Now instead of doing it like this, right, you know, creating text and then turning it into something, you can also simply click on plus that will allow you to scroll through all the options, right? And add a heading that way. Or, and that I highly recommend that you start using this, typing slash. Now the slash command is probably the most important thing that you can learn in the beginning in Notion because it gives you access to all the blocks that you have and it's much, much faster to add them. Not just can you then scroll through list, but you can actually also start typing and will filter it out. So if you have, you know, something specific in mind, you are curious whether Notion has it, well, or just search for it. For example, maybe we want to add a list. So let's just type list and we see there's this database list view. Let's ignore it for now. But basic blocks, we have a bulleted list, numbered list, or a to-do list. Let's add this to-do list. And we see, okay, item one, I get this checkbox in the beginning and if I press enter, I have now item two and so on and so on until I press enter twice, right? And I go back to my normal text and checkbox items can be ticked off. So that's pretty cool.
Now, we don't have time to go over all the blocks and not because there are ton of them. So I just recommend that you go anywhere, type slash, and then look through a few options. But I want to highlight some of the most useful ones. We already have headings and checkbox items. Now another one that is super, super useful is a toggle. So if you type / toggle, you see this toggle list. Now if I add this, I can, you know, just like, you know, hide or show. Let's give this a title and then I have this little arrow and I can open it to expand and then I have inside this toggle again blocks. So, you know, my block, another block, and I can close this to just hide it, which is super, super useful. It's like hard to emphasize just how useful is to have information on a page and being able to hide it. Now inside this tutorial, you can add any other type of block. So I can type also /h1, right? And I can get a very big heading in here. Uh, and I can hide it again by clicking here. And you can use the six dots from previously, right, to move things around. So if I actually want to have this H3 inside my toggle, I can start moving this around, right? And when I'm inside a toggle, it will highlight the whole thing, which tells me I'm about to drop it in here. And of course, the other way works as well. I can drop things outside.
Next up, let's organize our page a little bit better by adding columns. To do so, let's again type slash and search for column. And we see we can create two, three, four, or five columns by default. So, let's add two columns. And for now, nothing really seems to have happened. But you notice that now our text here racks. And if you hover over it, you actually see that the second I go to the side, I get another plus icon and six dots, which indicates, well, even if I don't see it, there's another block here, right? So, we have block one. And then if I go over here, we have uh block two. You can also create these columns by actually dragging text to the side of it. Right? So if I take any block and I move it not below something, but I move it to the very side, you see my line changes to the side indicator. And that's also how I drop it next to it. H and how I can create these columns um by dragging and dropping. But usually typing slash is just easier. And again, of course, in any column, right, you can have any type of automation. So I can now look kick at this block and write and transform it into a small, medium-sized heading. This one as well. And now I have some nice page sections.
And the last block that I want to talk about is a call out, which is probably one of my favorite blocks in Notion. So let's type /call. And what happens is you automatically see I have some color and I have an icon here. And I can now, you know, write something. Uh, and if I press enter, I have more space inside this uh callout, right? And I can have something where I say, okay, this is very important for this page. But you can actually also take these callouts a step further. For example, if you want, you can click on this icon and you can of course change it, but you can also remove it, which then gives you just this very clean look. And you can even take it one step further and remove the color.
Now, we anyway need to talk about color. So let's start here. If you click on the six dots, we can see then we have this color option at the very bottom. And in Notion, there are generally two color options. There's the text color, which is the font itself, and then there's the background. And we see here currently we have the gray background highlighted. So, if I move this to orange, right, I see now the whole thing is orange. And if I click again on color and I move it to um the default one, it's just white with this small little outline. And this is a really nice design element for your pages because that way you can give it a little bit of a border. And of course, you can use these colors also in columns. So, I can drag my uh call out this side. Right? Now, I have this here. I can add a heading to it. And then I can take the whole thing. Click on the six dots and say, well, duplicate. I like this. Now, I have it twice. And now I can take the second one and drop it in the other column. Oops, that was dropping it above. Dropping it in the other column for this clean look on my page. Now we can color these blocks this way. So if I click on my heading and the six dots here on the side, I also see these color options and I can, for example, say, well, let's actually give me some blue text. Now I have blue here as the font color.
Alternatively, whenever you have some text, you can also simply highlight that text and this will open up the context menu. So we have this explain in AI features at the beginning, comment, and, you know, suggest edits. Can ignore those for now. But here in the back, those are our formatting options. First, you see instead of like clicking on the six dots, I can also click here on the no adding two and change it, for example, to adding three. This will apply to the whole block, not just the second, right? But I have then also my formatting options. For example, I could, um, you know, make this italics or underlined. I can also give it strike through. I can format it as code, which gives it this little padding. Right? Let's remove the other two. So we just see it g uses this red color and this little padding. Um, or I can here at the very end add the text color manually. Let's remove this also quickly. Go here and say, well, this actually should be orange. Perfect. Or I can say, well, actually I would like, you know, this highlight effect. I would like a yellow background and now I have this orange font color on a yellow background.
So, quick recap. And if you want also a little exercise after you finish watching this video, go to Notion, add a new page, give it an icon, click onto the body of the page, and just start typing. Then use the slash command, right, to add a specific block. Use the six dots to move the block around. Use the um six dots by clicking on it to change it, right, to turn it into a different type of block. And then experiment with all the different blocks that we can add to your Notion page.
Now, let's use what we just learned to build an about page similar to this one where we have some information, right? We have a title. We have my picture. And then you have some sections where you share some information. All right. In order to do so, right, if you just look at it, the first thing we want to do is we want to create a new page. And remember, in Notion, we do this by clicking either on plus here or on uh the slash and then creating a page. Well, we're going to create it as a subpage inside resource. We don't want to just clutter up our sidebar. So, let's add a page. And let's call this, hey, I'm Matias. Awesome. This is our title. Now, let's add an icon. So, I click on add icon. And I want to look for the waving hand, right? I like this one. I don't want to have an emoji here. Waving hands. Perfect.
Now, if we look at the other patient again, the first thing that we had up here, right, are two columns. So, let's go by typing /call. And we want two columns. And in the left hand, this is actually a quote book because it gives you this line on the side. You can also see this by clicking on the six dots, right? If you ever copy anything into your Notion work, you're going to figure out what is it. Click on turn into and then scroll until you see where it has currently this check mark. So I type slash and quote and then let's just grab this text over here so we don't have to watch me type and paste it into this area. One thing that I haven't shared yet, but which is a great opportunity to do it now, is actually if you click on the six dots, you also see the options for block. Different blocks in Notion have different options. So it will differ whether you click on a normal paragraph or in this case a blog book. So always a good idea to check out what you can do. So let's click here and then let's scroll down. And we see here this is the contextualized option, the quote size, and we can change it between default and large. So I can make this also uh a bit bigger or smaller depending on what I like. Perfect.
So on the other side, this is where we want to have an image. So let me just grab an image for a second and then I can paste it here simply by pressing command V, right, to paste an element. Alternatively, you can also type slash and say image. And now it gives you the option to upload a file here from your laptop. But in my case, I have it already copied. Oops. This is actually a good learning opportunity. If you delete everything in a column, then your column disappears. So, let me just read a column / call. And now drag this quote block back in here. So, we have the same look again. Right? If I now go here and just paste the image, it also automatically goes here. Now, you'll see this one is a square image. And here I have the round image. So, in order to adjust this, let me click on the image. And again, remember three dots or six dots, that always means options. If I click on the six dots here, uh, I have like actually not all the image options. So sometimes it can be a bit confusing in Notion to figure out, okay, where do I need to click, but when in doubt, let's try both. So six dots doesn't give me the options, but if I click here or if I hover over it, you see one of the options are crop image. I should also be able to click on here, right? And see crop image there. Now if I click on that, I can then oops, let's click out of it again on it. I can then say, well, actually I would like this to be rounded. So up here under the shapes, let's pick circle. And now save. And now I have my rounded headshot here at the top of the page.
Moving on below our top section. We see now that we have these like, you know, always heading, then this divider, and then text. Uh, so in order to do that, let's go here, click below our current uh last block, and we see here this one actually goes over the whole page again. Alternatively, we could also just type something uh and then start dragging it around and we see if I have it close under one of my columns, I get this small line, but if I drag it to the very bottom of the page, I get this big line which indicates now that it spans everything. Perfect. So what we need is a heading. So I add slash H. And then I can pick my different sides, right? So I probably want actually an heading too here. And then let's call this our about me section. Perfect. Next, we had a divider. So type slash div. And we can add a divider. And then we just had plain text. So I can just grab this from here, right? Copy it and add it to this one. Perfect. Now let me add a second one. Right. So again, H2, uh another uh section, another slash divider. Just moving a bit faster, right? So that we don't waste too much time on it. And now I have here my content section with my top part of the page and then the remaining elements.
Last but not least, we had like this area with some toggles. So if you just look at it, right, you can uh identify the different elements. We have a heading, a divider, we have columns, and then we have toggles, but not smaller toggles, but bigger toggles. So let's see how we can do that. Again, first let's create a heading, you know, uh another section, create a divider, and then here again get column. call to and then if we just type slash and search for toggle, what we see is we not just have a toggle list, but we also have toggle headings, which gives us big text, but we can still hide and show sections, which is really, really cool. So let's add a toggle heading H3 and let's say, okay, this is one element and then here what we had, right, we had one in the other column. So we click in the other column and type again / H2 toggle heading, uh, second element. Oh, and I realized this was an H3, but no worries, we can click on the six dots, say turn into, uh, and then not H3, cuz that wouldn't be a toggle, but I scroll down and I see toggle heading H3. Perfect. And then for the other elements, what we can do is we can either have them as separate elements below. Right? So I could go just below and here it's my whole page again. I could create another set of columns or I can simply press inside my already existing column. Enter and then add it directly below there. But we can leave it like this or we can actually duplicate it. So let's click on the six dots, say duplicate. Right? Another uh thing that's quite useful if you want to replicate page elements. And now we have pretty much the same look as on this other page.
Now let's take a look at how far you've already come in this short tutorial. And for that, let's go back to our other pages. To do so, we'll talk about navigation a bit more in a second, but for now, we can simply go back to our sidebar. And now, we see here our in our private area all these pages that we should probably tidy up. But for now, let's just go back to PA by clicking on it. And here we see, okay, we have our most important pages. We have the resources, which we can click into to get there. And we have, hey, I'm Matias. We can click into it to get there. And here we have our nicely styled page. Perfect.
And if you wanted to share this work with the world now, we can do so by clicking on the share button. And here we have two options. We can either invite a specific Notion user, right? If we know their email, or if someone else who doesn't have Notion should look at it, we can click on publish and publish to web and this will give us this random URL. Now, this works similar to the way you know that share links work in Google Drive. So, it's just this very long uh link which is probably hard to guess. So, if you want to share with someone, right, you can click here to copy that link and then they can access this page and look at it, and any edits that you make are immediately visible.
One last thing, you see here that you have this very weird prickly carrot C-58 Notion slug. Now you can change or you can customize it by going uh in the sidebar and then to the very bottom here, you have your general workspace settings. If you click on that and then scroll down to sites, you see here that you have this prickly carrot page and if you wanted to change it, you can click on the three dots, say update and now pick different slack, right? So, for example, if I wanted, you know, uh Matias Frank is really cool. Notionside. I can save these changes and hopefully it isn't taken yet. Yes, nice. This is a URL that has been not claimed yet. Click on done. And now my pages that I share have this much nicer URL SL than the prickly carrot one.
With what we've talked about so far and a little bit of practice, you're already pretty much on track to master level one of Notion, basically using Notion as a notebook, right? You have your different pages, you can write things down, you can style them in different ways, and you can create these simple information uh driven elements. Now, level two is all about learning to use Notion as an organizer. And that's what we want to talk about.
The real power of Notion comes not from these pages, right? This is like a glorified Google Doc, if you want. So it's nice, it is pretty, it's easier and has a lot more functionality in some ways, but at the end of the day, right, you could also go in a Google Doc and create uh pages with this kind of like permission. The magic of Notion happens if you start using databases. Now, to do so, let's actually go out of back to our resource page and add a second page here. And this will be a very simple use case, which in this case, let's do um books, like a book tracker. So I type match page and let's call this, you know, my um book tracker.
Now, the magic of Notion databases is really in making sure that you can organize and structure information. So basically unstructured information would be just having a page and writing down, okay, I've read this, uh, year I read Atomic Habits, I read, um, The Power of Now, and maybe I also read, write, like, um, lots of, what's the third book, like 4,000 weeks, right? And then I can just write it down like I have some notes here and I could go in, right? And I could write here, you know, like, um, currently reading, uh, as, uh, information about, like, what what happens with this, you know, like red, and here, um, uh, to, uh, read, right? This is the current status. Maybe I also take some notes, you know, like my thoughts and I kind of hit end again, right? And do like know, like this, um, you know, like, um, one out or say like, let's, this this is an eight, uh, out of, uh, 10, right? And this here is so far, you know, my thoughts. Um, uh, let's say, like a six out of 10, right? This is sort of like how we I used to take notes. Uh, and maybe we can style it a bit nicer, but it's fairly unstructured. There's no way to now figure out, okay, if I have lots of books, well, which are the books that have the highest rating, right? Or which are the all the books that I'm currently reading, all the books on my thread list. In order to have that, we need to structure our information and this is well, where the databases come in.
So below here, let's type slash and then database to create our first ever database. When we do that, you will get, if you have already database in there, right, you will have these option, but other than that, you will just get this option, right, to start a new, uh, table here with a blank database and click on that. Now, a database also has a few elements, just like a page. We have a title for the database. Uh, then we have these columns and then we have up here some options that we'll talk about in a second. Uh, alternatively, to create a database, what you can also do is if you type / page, right, to create a new page and click here at the bottom, a table, you also create what is called a full page table. Now, we'll talk about the difference between them in a second, but basically here, right, you now see that you can also add an icon to the database, but unlike a normal page, there's no other space, right? So, um, you can't add blocks below or above it. Uh, the only thing that you have is the title and the actual table. So let's delete this again, click on three dots and say, um, move to trash. And back in our book tracker, let's start working with this one first.
The first thing we want to do is give our database a title. So let's call this books. And then what we see is we can have here our name and we can create a new page. So let's just do this for now, right? Let's click here. And now we can add our first record. Let's call this atomic, uh, habits. Nice. Now, the power of Notion is that I can now add these additional columns here to have more information or more context about this element. Right? So whenever we create a database in Notion, we want to think about it in sort of two dimensions. This is the general idea. On the first column, right, we have the thing. So in this case, all books. And then in the other, um, in our different, uh, columns, we have information about the thing. So here, right, we have currently the name of the book. So atomic habits. And let's add a second one, like 4,000, uh, weeks. And now, in order to add information about them, we click on plus here to add a new, so-called property. Here we see that Notion, just like it has a lot of blocks, it also has a lot of property types. So we have text property, number, select, my deselect, status, and so on and so on.
Now, again, the best way to go through them is to just have a look at them and figure out, okay, most of them are self-explanatory, right? Um, for example, a text property is simply where we can write something. So we could have maybe here, like a description. So I could say, okay, uh, you know, like, um, book on habits, maybe not the best description, and book on, uh, time management for models, right? And simply go there and type. So that's already nice, but, uh, not that powerful yet. So let's add another property type, for example, right here, we have our static >> for the book. In order to do so, let's click on plus and let's search for status property and add that. Now, whenever you add a status property, Notion, you see that by default, it gives you a few presets. It gives you this sort of like three categories, like to-do, in progress, and complete, and then gives you an option in there for all of them. And I can now click into this option and I can change it. You can through that indicate, well, you know, atomic habits, that is a book that I'm currently, um, reading, whereas 4,000 weeks is to read. So, that is currently on not started.
If I want to change these labels, I can do so. I can click on my property and then I can say edit property. And again, this is like a UI pattern, right? So, whatever property you have, you can always click on it and then say edit property, and it will show you the corresponding options. On the text property, there are not a lot of options, right? If I see here, well, there's only like text, I can turn on AI autofill. Uh, but on the status property, I have a lot of options. So, let's change not started to to read. So I click on here that says the default option and then I can change the label to um to read and hit enter. I could also change the color while I'm at it, right? So if I want to have my new books, they should be yellow, uh, I can do that as well. And now I have the label changed. I can also add more labels, right? So maybe, uh, once I'm done with the book, I want to first, like, write some notes, right? Uh, so I could say, okay, in progress, like this is maybe actually, like, let's call this, uh, reading, and then add a second option by clicking on plus here. And let's call this one, um, to sort of review. Hit enter. Now I have this new option. I can reorder them. And I can then say review. Maybe that is purple, just to change my color. And then if I click out of everything, uh, and back into my status property, I see now I have these different options.
Now, what else did we add? We had a score. So for that, uh, we have now two options. First option would be to click on plus and add a number property and simply say, well, okay, this is my score, and then I can say, okay, this had my score of seven, right? And this had my score of, um, maybe here I actually don't have a square because I still have to read. I can resize the property, of course, take up so much space. Perfect. Alternatively, I could also say, well, actually, maybe I want like these labels, right? I just want to like, uh, say like, hey, like it's maybe just like how many stars the book has. So in order to do so, let's click on plus and then this would be select. This allows you to one of several options, right? And I can call this rating. And now for the options, I have similar to the status one, but I have this free flow, right? Let's not sort into these three categories. And I can add an option. And let's here actually add an emoji. So I'm opening my emoji picker. And let's look for, um, star, right? And then let's get one star here. I take a whole thing, copy it, hit enter. Now my one star option. Now I paste my star in twice for two stars. Then I have three stars, four stars, and five stars. And now I see I have my different star options. And just like with the status quo, right, I could go into them to change the color if I wanted to, but for now, this actually quite nice. So I can make this a bit smaller. And now I can say, okay, we're books that was four stars. Let's add three more things. Uh, let's add first the author, right? This might also be information that is relevant. And I can add the author either as a three text field or I can add it again as a tag. And actually, often times I would recommend that you add it, um, as a tag because that makes sure that you always write it the same. Uh, let me show you what I mean. So let's call this, uh, author. And we can also, in order to like differentiate these two properties, right, this icon, I can click on this icon and say, okay, actually I want a curs here, while this makes a bit nicer and easier to recognize. And now here, what happens is if I go, for example, into atomic habits, uh, and say, okay, author, clearly we don't have an option, but I can just type and create. So I can just say, okay, this was written by James Clear. And the nice thing about these tags is if I go now into the next book and let's say this is also written by James Clear, I can go here and I see my option immediately. But if I have hundreds of options, I can just start typing and will filter down and that makes sure that I, you know, select this way of spelling James Clear and don't have, you know, some entries there have Jame Clear or something like that, right? And mess up. So that's a bit easier than with, uh, just plain text field, so you don't have to double check whether you've written it always the same.
You see also as our database is getting larger, we're having some issues with the page and now I would really like to use the whole, uh, width of it. So let's click on the three dots, say full width, uh, in case because I'm zoomed in, doesn't make so much of a difference, but if I zoom out, I see now, right, tells me take up the width of the page and have a bit more space to work with. Perfect. So, two other things I wanted to add was the drawer. So, let's again add a select for, and then maybe we have one last, uh, for tags or topics. Now, here is where we would instead of a select, add a multi-select, which is similar to a select, just it allows us to apply several options at once. So we can call this tags and then we can just say, hey, maybe.
We have here, uh, productivity, uh, and habits, right? And then, uh, here, this is only, um, productivity. Perfect.
Now, to really see the magic of databases, I've added a few more entries. Let's start by saying, okay, I want to see all the books that I'm currently reading. We can do so by adding a filter to the database to only display things where the status is reading.
To do so, we can either click here on "Add filter." We can click here on this icon on "Add filter," or remember, three dots always mean settings. So, we can also click here and say "Filter." So, let's go to this option. It's all pretty much the same. We can click on here and we can, uh, say, "Please, uh, give me a filter for my status." And it gives me this little bubble here. Now I can say, okay, I only want to see the ones where I'm currently either in progress, so I see both, or actually, I only want to see the ones that I'm currently reading. And there it is. Here are all the books that I'm currently reading.
I could then, of course, say also, okay, maybe we want to then further sort this, right? I want to sort it maybe by the rating that I've currently given it to them. Although that would probably be better if I said, okay, let's give me the books that that I've already read and I want to see them, you know, in a sort of like highlight reel based on their score. I can do that again by adding now a sort and say, okay, please sort by the score and please sort it descending, right? So the highest scores at the top. So now I have all my books at the very top that are very good, and then going down to the ones that I've liked less.
Now, if I had to do this every single time, well, this would be quite annoying. So, what I can do instead is I can save certain views. So, you see here at the very top, it says, well, this is a table. But I can click on this. I can actually rename it and say, well, let's rename this view and let's call this "Currently Reading." And then I can also click on this icon and change this and maybe, like, let's look for a little book that is open. Perfect. So, it indicates that these are the ones I'm currently looking at. And now let's modify our filter. Let's say again, right, this is actually the filter where I'm currently reading them. Perfect.
Maybe also for the books that I'm currently read, I actually don't need to see all that information. So, what I can do is I can hide some of these properties. So, let's go on the three dots, click on "Properties," and here I see all the ones that I've added. I can now say, okay, well, hide all. Let's make them all disappear except for the first column. And the only thing I care about for ones I'm currently reading is maybe, uh, description. Maybe I want to be able to quickly change the score, and I want to be reminded of the, or I'll be able to apply text, right? These are the only things I want to see here. Now, all that information is still there. I just choose to not to display it on this specific view.
We can then say, okay, let's add another view. And we can either click on plus to build one from scratch, or if I like this one, right? Then I can simply right-click it and say, well, let's duplicate this. And let's say, uh, this is my, you know, "Reading List." And here on my "Reading List," let's actually look for a list icon. Perfect. This looks good. And here we want to change the filter now. So we go to "Filter" and say, well, status should actually be, um, the "to read" one. And in terms of the, um, the properties, right? Here, score doesn't make a lot of sense. So I will hide score and instead I want to know what is all, right? Because maybe I care about, okay, um, you know, mixing up my my books. And actually, it would be cool, right? If I on this list couldn't change or like indicate that I now now I'm reading it.
So, in order to do so, let's click back on the three dots and say, okay, please show me also my status so I can easily say now I'm reading it. So, for example, say "Deep Work," right? I'm starting to read it. So I click here on "Status" and I move it to the "Reading List," and that will have it disappear here because it's no longer on my list, but it now pops up under "Currently Reading."
Let's take it one step further. Structural information, right? Oops. Let's delete this quickly. Uh, structural information. So, we could also say, for example, "Hey, I care about, I want to group them by." So, in order to do so, let's click on the three dots. Let's go on "Group" and say, "Please group this by the I have applied." And now, what you see happen is it automatically has figured out that in these groups, I currently have books. So, this is the one, these are the ones it shows me, and these are the groups where I don't have anything. So, it hides them. So, that's perfect, right? We have the settings here. If you ever want to change it, but we can click out of it. And now we see here are all events, and we have little toggles to close them down. So, I see at a glance, okay, currently on my reading list, right? I have sci-fi with two. "4,000 Weeks" actually doesn't have a genre. So, I will apply one. So, let's say this is, um, business. Perfect. Uh, and I can see, okay, maybe I need to add more, uh, you know, books to my reading list in terms of psychology because I want to read more things here, but I'd only have one book on the list.
The options here are endless. Whatever information you have, right, that is sort of structured or has like different statuses, like whether that's books, your plans at home, hobbies, meetings that you have with someone, or tasks, use databases to organize them. Then certain views to display the information in the right way.
Let's take this actually one step further, right? And let's, um, not just have this one place where we see information, but let's see it in different places because the really cool thing is about Notion databases is we can pull that information into other locations. So, our book tracker lives here, right, on this book tracker page. And that's good, right? That makes sense. But we can now go out and we can, for example, go to our main parlor page, for example. Maybe here I want to see always the books that I'm currently reading as a small display.
Now, to do so, let's hit enter. Let's say, okay, let's give me two columns. Let's link them. These pages, right, that I'm organizing, uh, in one column here on the left, and on the other side, I want to add my database. Now, very important, we don't want to create a new database. We already have that information. So, what we do is we type slash and we say "Create." Then we want to get a "Linked View of a Database." This allows us to display the information that is elsewhere in the database here. So, you see it asks me, "Link to existing database." Which one is it? Well, it's my book database. I pick that, and now I see the two views that I have, um, on my main database. They pick up, they show up here as ones that I can just pick, or I can create a new view from scratch. Let's pick the "Currently Reading" one, right? Because that's what we want to display. And now I see here the books that I'm reading, uh, with the properties.
Now, of course, here I don't have a lot of space, right? So, I could actually like resize the column a little bit if I wanted to, to give this more space. But since I actually only want a very minimal view of this, I can also change the whole layout. Now, we haven't talked about that yet, but if you click on the three dots, you see that under "Layout," you cannot just display information as a table, you can also display it as a board, which is a common board, timeline, calendar, chart, gallery, or list. List is the one that we care about here. So, let's select "List."
[clears throat] And then we see we have now just these little icons, and if I wanted to, on the side, I could start to display properties, but it takes up much less visual space. So, let's go actually to "Property" and say, okay, the I would like to know as well. Now I have this here. It's still not enough space. So, I will resize the column a little bit. And down here, I have my books that I'm currently reading. This is already coming together nicely. But now, let's make sure that it looks a little bit better visually. So, for my most important pages, right? Let's just make sure that we actually use a heading here. For example, an H3. And then let's use a heading on this side as well. Now, it can be quite hard to get here, right? I can't click here to create a line. But what I can simply do is I can grab any new line elsewhere, move it up here, and now type here H3, you know, and call this "My Books." And let's call in this, um, "My Pages." Uh, and let's use the divider that we learned about previously, maybe, uh, to add something like this. Or actually, rather than this, let's use the the call out, right? The clean call out from before. So, let's add a call out. It's clean. It has no background, right? I can move all these elements into this call out. And then we create another call out here on the side, um, to, um, move our database in there. And then we have our nice, uh, two sections here on our page. We can also, Oops, I don't want to add a comment. Let's get out of this. But what I want to do is I want to hide this title because that's a bit annoying, right? But I have my books already here. So, let's click on the three dots here and let's say "Hide database title." Perfect. So, now I have my two-column layout with the books on the one side and my other pages on the other side.
Now, there's one last thing that you need to understand about databases, and that is that every entry in a database is actually a page. So, if I click on "Deep Work," for example, right? It opens up here in the side, and I, at the very top, see the properties from the database that where this page lives inside. But in here, in the body, I just have another page. So, I can just, you know, start writing here, and I can add blocks, right? I have my blocks here. So, information, maybe I have, you know, like my my summary, and so on, and so on. And I can even go one step further. I could even now add pages [music] inside this page. Right? Remember, we don't have folders, but we have these, uh, we have like pages inside pages. And that works with databases just the same way. The only difference between a page that lives inside a page versus a page that lives inside a database is that it will have these properties at the very top.
Now, you can also show and hide them, right? Uh, for example, by clicking on any property, you can say, well, please, um, I want to, in terms of visibility, I want to hide this here. It shouldn't show up. You can even move everything out by clicking on "Customize Layout" and then moving all these entries, right, here to this panel and then applying it to all pages. Going a bit quick here now, right? You don't need to remember all of this. I have more detailed videos, but just want to show you what is possible for your databases and the fact that these pages are in here allows you to organize them and structure them while still having all the options available from a normal page. And that is also my top tip that I mentioned earlier to avoid cluttering up your sidebar like this. What I would highly recommend is that you have only a very few top-level pages. For example, the power methodology or any other organizational system. And then for all these individual pages, you all put them in one database.
So, let's quickly do that. Let's organize it. So, let's go "Resources" and let's create a new page here. H. And this time, let's create a full-page database. Let's make this a table and let's say "New Empty Database." And let's just call this "Pages." And then here, right, we can give this an icon. So, let's, uh, give this, um, a single page. Oops, not target page. Perfect. And now, uh, we could add properties to, but maybe we just want to organize our pages for now. So, all we can do now is we can take the ones that we've already created and we can add it here. To do so, we can either drag and drop them. So, I can take them out of the sidebar, drag them in here, and now they live in the database. Or I can go on any page, right, and say here, three dots, "Move to," and then my "Pages" database. And that way, rather than having them in the sidebar cluttering things up, I can make sure that they are all organized, neatly organized in this database where I can then add, like, certain properties to it to organize them. Maybe I say, okay, some pages are very important for me and I want to make sure that, you know, um, for example, I could say, let's, uh, let's add a select page whether this is, you know, like, um, "Active?" Question mark. Although here, if it's yes, no, actually, it would be better to make this check, right? So, say, you know, "Active." And then we could create a view where we only show the ones, the box checked. So, we could uncheck it to archive it, and so on, and so on. Lots of different options, but much better to organize them in here than just as, you know, always nested pages.
Now, all of this was a lot. Notion has a steep learning curve because there are so many things that you can do. But I hope this gave you a first idea of how to get started. [music] You can simply create some pages. You can, uh, add blocks to these pages to style them. And then, if you have any kind of information like books, tasks, and so on, you can create databases to organize them in a structured way. Once you've done that, you can then display the information from your databases across your workspace. Right? So, I can go on another page like my main power page and see the books that I'm currently reading.
Now, to wrap up this tutorial, let's talk about one last thing that is navigation. We've already seen whether we can simply click through our pages to get to places. And we have this sidebar. Now, the sidebar is nice, but one of the problems it has is that it automatically orders itself. It will always show you how your pages are actually structured. So, in order to get to my book notes, right, I would need to open this up, and then again, it gets quite cluttered, particularly if you have a lot of pages. So, an easier way to do this is to use favorites. Whenever you are on the page, you know, they want to be able to access quickly, instead of clicking through three other pages, you can click on the star icon in the top right corner. And let me just, you know, show my sidebar. So, you see what happens. The second I click on here, you get this new section in the sidebar called "Favorites" with my book trigger. And I could go in there now and, you know, also favorite something else. So, for example, hey, I'm a TS. I want to favorite that as well. And it pops up there as well. In here, under favorites, I can actually reorder them, right? It doesn't change the actual structure. If here in PA, you know, I move, um, book tracker from out of resources here above, it actually lives now in PA, right? Rather than in resources. So, that's not what we want to do. But, uh, in the favorites, we can just move them around, and it doesn't affect where the pages actually live. That's one thing.
The second thing that you can do is you can link to pages on your pages. So, here, right, we have a section for my other pages. What I could do now is I could say, well, I would like to reference the book tracker here directly. So, I don't have to click into resources first. In order to do so, let's type "@" and now I can search for the page. I can search for the book tracker. And I can click on it. And it says here, "Link to page." So, now I have this little link to the page. It still lives inside resources, but I can quickly access it here. Now, the, it sometimes can be, in particular in the beginning, a bit difficult to distinguish between pages that are actually, you know, directly in that location and links to other places. But the little helper is this arrow. Wherever you see this little arrow, it indicates that what you're looking at is actually not the original. It's just a link to the place where it lives. The same is true for databases, by the way. So, if you go back here to my books, right, and show the database title again. So, we go to "Layout," say "Show database title," you see it has a little arrow because "Books" doesn't live on this page. It lives inside the resources. So, that's the second way.
Now, the third way is to use Notion search to quickly go from one page to another. In particular, once you have a lot of pages, it's probably the quickest way to do so. You can simply press Command P anywhere in Notion, and this opens your search options. And now you can, you always see the last pages that you have opened, or you can look for something, right? So, going to the tracker like this is probably the fastest way by far.
Now, to make sure you get the most out of this video, I highly recommend that you now open up Notion and actually try to build these two pages. Hey, you know, the "About Me" page and then the "Book Tracker" as a good exercise to get familiar with all the different things you can do. Plus, as a bonus, I've linked in the video description also a build-along video where I build out a complete habit tracker and a task manager. No, two other very common use cases. So, go check them out. They're a bit more advanced. They have a few more elements that we work with, but if you watch them and try to build along, this will get you up to speed in no time. And that's it. Congratulations. You've taken the first step in your Notion journey. If this got you all excited and you want to learn more, well, then check this video out next. It is my ultimate collection of Notion tips that will show you a ton of tricks and use cases. Just click here, and I will see you in a few seconds.
Now that you have a basic understanding of how Notion works, it's time to build your first productivity setups. In this chapter, you'll learn how to build your first project and task management system. We will also take a look at Notion Calendar and Notion Mail, the other two apps in the Notion ecosystem. Plus, to wrap things up, you'll learn how you can track your time in Notion. Along the way, you will learn a lot of additional concepts that will really help you turn Notion into your own little tool. With all of that, you can go beyond than the examples that we share in this video and start building your own personal systems.
Are you looking to manage your projects in Notion? Well, you've come to the right place. In this video, I'll walk you through every single step that you need to go from an empty page to a full-blown project management system in Notion. Ready? Let's dive right in.
Now, before we start building a Notion, let's quickly take a moment to talk about project management. Because most of the time, this will boil down to two big categories, right? Our work can sort of be divided into our processes, which are all the recurring things, the things that we have to do on a schedule over and over again, and then projects, which are more one-off, right? They have a clear start and end date. You might have projects that you do a lot, right? For example, if you have specific client work, and whenever you, you know, onboard a new client, you sort of go through the same steps. But still, for that specific client, right, there's a start and an end date. But then there are processes. For example, in my case, right, the YouTube channel certainly is a process, right? Where you just have certain tasks that you do all the time over and over again just to keep things running. But in both situations, right, there are sort of categories for tasks, right? For the actual to-do items that we have to do to then move them forward. So that's what we're going to build in our system, right? We'll have a system to track our projects and processes and then the individual tasks and action items.
So, now in Notion, new empty page, the very first thing that you want to do is when I click on the three dots on the top right corner and make this page full width, so we have a bit more space to work with. Since I'm very zoomed in here, it doesn't make much of a difference, but but if you do it on your laptop at home, you should see significantly change because you no longer have all this white space around it. Now, on here, we're going to first set up our databases. Databases are the most important thing in Notion, right? Whenever you start building anything, you should always start with the databases first because that will determine the kind of information that you store, how you store it, and then ultimately through that, how you can then interact with it. Right? When we build Notion systems, we want to think like a a software developer, right? We have a back end, our databases, and we have a front end, which is the UI, the dashboards with which we interact with these things.
So, what do we need for our project management system here? Well, we need a database for projects and we need one for tasks. And then there's the question of whether we should create a separate database for processes or not, but we get to that in a second. So, first, let's type / database. And this creates a new database. And you can, of course, use Notion's new AI builder if you have that in your workspace. But here I'm going to do it step by step so you can follow along. Plus, sometimes the AI builder gets a few things wrong still. So, better to have full control over everything. So, let's click on here. And that's our new first database. Let's give this database a title, "Projects," and then let's start adding properties to it.
Now, we want to build a very simple and lightweight project management system. So, I'm going to stick to the absolutely essential properties. And that's also in general my recommendation. One of the biggest mistakes I see a lot of people do when they first understand databases is that they want to add like hundreds of properties, right? You can track so many different things about every pretty much everything. But the problem with that is that at the end of the day, someone has to input that information for it to be of any use. So, the second you realize that creating a new project will take you 30 minutes because you have to fill out, you know, 15 properties, you'll probably stop using the system or the properties just stay empty. So, let's start with the absolute minimum necessary. And then as we see that we need more, we can add that in. What does a project need? Well, the first thing a project needs is a status because remember we were talking about the fact that a project has a start and an end time. At some point it will be done. So, let's create a status. The properties, the default ones are pretty good, but if you have a specific process, right? For example, if you need always a review cycle, you could add that in as well.
After the status, let's add in a date property. And now here we have two options, right? We we we know that projects typically have a start and an end date. So, we can either add two different properties for that, right? Or we can have it in one. That's pretty much the same in 90% of situations, uh, in Notion, probably even 99%. So, let's again keep it simple. Let's add a date property and let's call this "Duration." And if you ever just like to add a sample entry, right? Sample project. If you want to give this in the duration, just click in here and you toggle, you know, you click on the first time and then you toggle on "End Time," and now you can set the sort of second part of the duration, right? And you have everything here in one property. Oh, and before I forget it, of course, you can download the complete finished setup for free with a link in the description. But before you do that, make sure to watch the video until the end so you know how actually everything is supposed to work.
At this point, we actually already have a solid, very simple thing, right, to track projects. Usually, those are the two key things we need to know about them: what's the status and what's the duration? Let's add one more thing in here, right? And that could be a select property to indicate the priority, uh, of this project. And what we can do now is, right, we can add some different few different levels, right? So we can do, you know, low, uh, medium, and high. We can also like then change the colors here, right? So low would probably be a gray, uh, high would be red, and then maybe the medium is a yellow. So, now that's there, right? And we can select for every project that we add to Notion what priority it has.
Now, if you plan on using the system in a team environment, right, so together with other people, you might also want to add now a person property here to indicate who's the owner of the project. But to keep things simple, we're going to build out the rest of this as if you were building it for one person. And I have a very detailed video on how to set up Notion for business in a second video, right? That you can then go to next to see, okay, how you would now take this setup and expand it in a team environment. But for now, right, here, this is good. So, now we can click below and create our second database. So, again, database inline, new database, and this will be our tasks database.
Now, in tasks, same idea, right? We want to figure out what are the different, uh, properties that we need for tasks. Again, we probably want a status. And if you know, a status is actually too complex for you because you say, well, not start, in progress, my tasks are just there, or they are done. You can either just go directly and add a checkbox property instead, or you can simply say, well, I want to show my status as a a checkbox, and that means, right, if I have a new entry here, you know, like "Task One," uh, we get this checkbox here, and we can actually check it off, but in the background, we still have these three properties. So, if at any task later we might need, um, these different levels, we can still use that. So, you sort of get the best of both worlds. All right, that's there. Then the next thing that we need for task is we definitely need a, again, a date, right? A due date, um, to indicate when we have to do this. This one won't have a duration, right? It's on one date or not. If you have a system, right, where you like to time block your, uh, your your tasks, I recommend adding a second date property for that. And that one we can call a "Do Date," right? It's sort of two different concepts. Due date indicates by when you have to do something because of an external circumstance, right? So, there's sort of like a a penalty for missing a due date. Whereas a do date is your internal planning. Again, this is technically, you know, like not the simplest possible setup that you could have. Uh, just showing you here that this is an option, right? If you want to do that in some time blocking while still preserving the due date capacities. For now, let's hide this, right? And then we can maybe later look at it when it comes to the time blocking.
And then again, right, for the task, we could add a priority level. Also for tasks, right? If we wanted to, we could add some context. If you follow GTD, so let's add like a generic, uh, tag property for that, right? This would be a multi-select. Perfect. And we can call this "Tags" and give this also, you know, the the tag symbol, just to, you know, visually separate it from the other ones. And now you could, you know, add things to this like, you know, whether it is a high priority, but it could also be things like, okay, I need my laptop for this, and and so on, and so on, you know, energy levels, pretty much the world is your, whatever you use to categorize your tasks.
Now, there's one thing still missing, and that is the connection between our task and our projects. So, right, we need to indicate, well, what project does a task belong to? And in Notion, we do this always with relations. Relations allow us to connect one entry in the database to another. So, I'm going to click on plus here, searching for "Relation," and this will be now a connection to my "Projects" database. Here I want to turn on "Two-way relation," which means I see both tasks on projects and on tasks, I see projects, so both ways, um, adding here. And now we see we get here, you know, our task relation and here our projects relation. Now, one thing that I recommend is that whenever you start setting up, you know, several of these, uh, properties, in particular relations, that you always do what I did here for tags, that you go in and update the icons to reflect what they actually relate to. Particular when it comes to, you know, like a lot of relations, this will be super helpful because it allows you to quickly scan a database and thanks to a consistent visual design language, you'll always know what it means. So, for tasks, right, the logical sort of icon is the checkbox. So, I'm going to go in here and going to set a checkbox. And for projects, there are a bunch of options, right? Uh, I like things like the the globe is pretty nice. Um, but also the the briefcase, right? Or the target, depends on like what other things you use in your system. In particular, if you use goals as a separate thing, you might want to use target for that. So, here we're going with a briefcase symbol, but again, whatever you think makes most sense to visualize visually represent a project.
Now, I can go ahead, right, and I could say, well, this task number one, it belongs to my project. If I click in here, I will see all the related, all projects that exist, right? So, if you create more projects, you have more options here. If I create, you know, task two and task three, you also see this. If I do it the other way around, where if I click here into the sample project, I see the other task I can select and I easily can connect them and indicate, well, this is how they belong together.
With this done, we actually unlock kind of a new property that we might want to have on projects. Right? Now that we see the tasks that belong to a project, we might want to know, well, okay, how, what is the completion rate? Like, how many of these tasks have we finished? Again, doing so is fairly straightforward in Notion. There are a bunch of ways to do this. This is the simplest one. You click on plus, you search for a "Rollup," and you call this, you know, the "Progress" or "Completion Progress." And then we can here again, like, look for an icon. I like this little chart thingy here for progress. Now, a rollup always works hand in hand with a relation, right? It goes to a relation and checks some information about of these related entries. So, in this case, right, our relation will be the tasks, and then on task, we can now choose what we want. You see, by default, it just gives me exactly the other tasks, right? So, because if I, if I go into the setup step for my rollup, currently tells me, well, I go into relation, and then I get all the tasks, not too helpful. But let me just show you one thing, right? If I were now to to set, for example, a few due dates here for these tasks, um, one thing that I can do then with the rollup, if I wanted to, is I could grab those values, right? I could say, well, don't give me the, you know, the name of the tasks, give me the due dates, and then it would list out these due dates. That's how they generally work. But one other thing that you can use rollups for is you can say, well, I want to know about the status, and here where it says, instead of showing me the original, right? I can go to "Calculate," I can say, "Please count," right? Either count them or show me a percent, and I want to have the percent per group, right? I want to know, okay, how many of them are completed? And now I see, well, currently they are 0% completed, but the second I check one of them off, right, we go to 33% here. Pretty neat. Now, to, you know, sort of wrap this up, let's click on "Edit Property" and make sure that we show this as a, you know, progress bar. And now we have our neat little progress bar here. So, it indicates, okay, how far is this project done based on the tasks that are related to it.
At this point, our databases are looking pretty good. So, now let's go ahead and add a little bit more of, you know, UI polish and functionality to it. We will in a moment hide this database and we will interact differently with them. But one thing that would be really cool is if we could click into this project, right, and see additional information about it. So, right now, if I click into it, right, I just see the properties here at the top, and then there's pretty much just an empty space below. So, this is something we can, you know, make look a lot better, and there are a few ways to handle this. The first one is to go here, and now if you hover over the top here, is you can "Customize Layout." And this is Notion's new layout builder. So, the second we click on this, we have now a bunch of options to choose from. For one, we can say, well, okay, actually, I don't want to see these properties, you know, stacked like this below it. I want to, in general, move them to the side panel. And if I do this, right, the first thing, if you just like take a look at what that does, is all the properties are gone now, and we have directly our bottom here, you know, of the page to work to, for example, you know, describe, uh, the project and what this is all about. Not bad. And we can always see the properties, right, by clicking in here. But often times, well, there are some key information that we want want to see always. So, how do we get that? Well, we go back to "Customize Layout," and if we click here on the main part, you see that I, it tells me here on the side that I can "Pin Properties." These are the ones that I currently have. Currently, they're all unpinned. I can create a new property right from here. And I can choose, right, one of the existing ones. So, what I probably want is I want to always see, okay, what is the current status of this project? I always want to see what is, um, the current priority, and I always want to see the progress. I mean, pretty much all the properties, actually, now that I realize it, right? But if you have a larger database, there might be quite a lot of properties that you don't need to show all the time. So, let's click on "Apply." And now you see we have here at the top of our page, right, neatly stacked these three elements. You can have up to four stacked like that, right? If you need to go beyond that, then you need to start adding them below again.
Now, what about the tasks? It would be really useful, right, to see all the tasks related to this project in an easy way rather than having to click into this. And this is also not a great view, right? Because this shows just all tasks. You see also the completed task. It's still here, right? Which is probably not when if you want to, you know, check your to-do list, right? It would be very cumbersome now having to click into every single task to figure out, well, do I still have to do this or not?
Now, Notion just actually very recently released a new feature that makes it a little bit easier, right? There's a a old method, sort of, which is still very, very powerful, and which most power users will tend to, and I'm going to show that to you in a moment. But I first want to show you the simple method because in a lot of situations, this is actually enough. So, let's click on "Customize Layout." Uh, and one thing that you'll see if I just click outside of this, right, if I have nothing highlighted, is it tells me "Page Settings," right? Do you want a simple page structure or a tapped one? Now, tabs are fun. The second I turn on tabs, what I get is, well, tabs here. And I have my content block that I have here. And I can also click on plus to create something new. The second I do this, you see that it gives me the option to show tasks, right? My related tasks database. And that's also pretty much the only option here. Right now, we can only show databases connected to this entry. So, what's not possible is to use this, you know, tab feature to create tabs of page bodies, right? Where you just have unstructured content. You only always have one, uh, of these, you know, unstructured containers, and then you have the option to show views to other databases. But it's really, really powerful. So, let's click on "Tasks." And then what you see is we have now our database here, right? The task database with all the properties that we set up previously. Like, it's a bit cramped on my screen because I'm so zoomed in, but you get the idea. And here on the side, I get now my usual database view settings to set it up. So, I can say, okay, well, I can name this, right? I can call, you know, like, for example, I want to show the "Open," uh, "Open Task," right? That's the that's the thing that we we care about. So, I click here, hit enter. I also give it can give it a different icon, right? So, for open task, I particular like the checkbox without the circle. So, we'll do that. And now we can set up our filters accordingly. If we say we only want to show open task, right? Let's go to "Filter" and say, well, it automatically filters only for tasks belonging to this project. So, that's great. But I want to add now a second filter, and I say, okay, only show the ones where the status, right, um, is not, uh, complete. And now it goes down, you see already, to my two tasks, the ones that have not been finished. And I could also then go back, right, and I say, okay, for properties, uh, I want to, the ones that I want to show is, I want to, I don't want to show the project because I, when I look at this, I know that it's about this project. So, I'm going to hide this. I want to have the status, you know, at the very front, maybe even before the task name. Right? I like this sometimes quite a bit. So, you can easily, uh, scan this. The due date, we say we ignore for now. So, we only want to show these things, and I can click "Apply to all pages," and I can see how it looks.
Now, I have here my sample project, right? I have at the very top, information about this project, right? This is currently in progress, medium priority, 33%. And here I have my, you know, page body with a description of what this project is about, and I can switch to my "Open Task" to see everything that is related here.
Now, let's just quickly take this one step further and create another tab for my "Completed Task," right? I can also instead of, you know, hovering here, I can just click on this, also go back to these options. Well, is I can, uh, you know, right-click this and say "Duplicate," right? Cuz I have pretty much the same settings for the other one, but this one will be called, you know, uh, "Completed Tasks." [music] And we have the, you know, the the full circle here, and then here our filter will be just the opposite, and we'll do the ones that for which the status is complete. And then we can again, right, apply this to all pages. And now we have our two tabs here, right? Our completed task and our, um, uncompleted ones. We want to have a different order here, right? So, we want to go back quickly and adjust that. But then we have pretty much the whole setup for a simple look at our project together with the content and the great tasks ready.
To change the order of view, use views. Go back to customizing the settings and then click on this one more. And here we have now the option to drag and rearrange. Right? So, we could even say, okay, I want certain things before, uh, the content. I want my, but in this case, I want first content, then "Open Task," and then "Completed Task." And then again, click "Apply to all pages." And now we see we have it here in the right order. And if I wasn't zoom zoomed in like crazy here, right? If I zoom out just a little bit for like a more humane, uh, zoom setting, we see that we also have enough space, right? If this, like, page goes out to see both the "Open Task" and the "Completed Task." But of course, you could also shorten the names, right? Just "Open" and "Completed" to make this even easier to read on smaller screens.
Now, as I mentioned, this is a fairly new method, and previously we had a different approach [music] to make this happen, and in some situations, this might still be the better one because, for one, right, here, this requires you to, you know, always have content here and then tab away. So, you can never see the sort of on the same page, and you might have, you have also a few different options with the other approach. So, I'm going to show you how that works here. What we do is we go onto the content tab, right? So, either we don't set up tabs at all, or we go into the content tab and then we say, uh, here, "Create Linked Database." And creating a linked database allows us now to do pretty much the same as here. Right? We're going to connect to tasks. I'm going to say, okay, I want to pull in my tasks. And from tasks, I want to see now specific things. Right? Here's my database. I'm calling this again, like, "Open Task." Right? I'm going to set the same, uh, icon again. Clicking, uh, not showing the database, right? Because we have already here. So, this would be distracting to have it twice. Then clicking on "Done." Now, this pulls in currently just all tasks, and I can prove that to you right by just adding another task, uh, that is not connected with this project. So, if I go back to it, right, now I see, okay, this is of course not the ideal situation, not too helpful if we have, um, you know, see all tasks in there. So, instead, what we want to do is we want to show only tasks specific to this project here. In order to do so, we can now click on "Filter," right, and
Say, "Add advanced filter," and say, "Okay, only show me the ones where the project contains, um, our sample project." Pretty good. Now, we see only our three ones. But I just did this in the page body. And while these settings that I did on the layout builder carry over to all new projects automatically, the things I do down here don't, right?
So, if I create now, you know, a second project and I'll open that up, you see that I still have my tabs, right? Have my, my task number four, right? If I connect it, I can also go here and say, "Link existing," and say, "Okay, task number four should belong here," right? This shows up properly, but the other element doesn't.
Now, in order to have this show up on every new project, you need to set up a database template. [music] Now, database templates are Notion's way to predefine what should go in the body of the page, and it's getting a little bit confusing sometimes now with the new layout builder. So, just to quickly wrap, you know, I'll talk about the differences. The layout builder that you get through here that allows you to structure the basic properties of the database, right? Sort of allows you to pin properties here to arrange them. And now, since a very recent update, it allows you to create these tab views to show related databases.
Database templates, on the other hand, allow you to control pretty much everything about a specific entry except for the layout. Right? So, we go in here and we say, "New template," and we can call this, you know, "New Uh Project." And here, what you see now is I can just choose certain values. The database builder didn't add, layout builder didn't allow me to do, right? It just allowed me to rearrange them. But here, I can say, "Okay, whenever we have a new project, by default, it should have the priority medium," and by default, they should be here in the content, uh, of the, in the body of the page. For example, we could now grab, you know, what we created here, just click on here, copy this, and then go back to our, uh, template by clicking on the dropdown button and then on the three dots here and on "Edit." And now we can paste this in here.
And what we then want to do is we want to make sure that we update our filter and we say, "Okay, rather than always showing projects that contain the sample project," we want to click in here and say, "Well, always show the ones." Then you see at the very top the name of the template you're editing, "Always show the ones that are related to this entry." And this will now auto-update, right? If I go to any of my entries, for example, the second project, and I say, "Select my template here," it will now input this, and it will automatically update the filter. And you see now it only shows task four. You also see that it automatically selected the priority medium because, remember, we selected that.
But of course, database templates can do a lot more, right? We can go, for example, back, uh, sorry, to our, our project template and we can say, "Okay, I want to have the tasks." And maybe I also, whenever I, you know, set up a new project, I want to, you know, have like a little field here, right? That says, you know, um, "Definition of Done," so I know, "Okay, this is, you know, when, when the project will be complete." And here, I might create a callout. Oops, quickly say, "Call out," uh, so I can, you know, you know, what, um, makes, uh, this project, uh, project success. Can format this, right? Can give it a different color. Could give it a background. Or I could say, "Okay, give me this light gray, um, text color with a default background," and so on and so on. And then I can also have my, um, you know, tasks then down there below. So I can really design the whole thing.
And then whenever I go into a project, right, and I say, "Okay, let's apply this, for example, to our second project again, right?" Or let's create a new one quickly and open this new project, right? It loads everything in there that I created. So, while the database layout builder allows you to structure the overall look of all pages in this, the templates allow you to create specific, you know, repeatable, uh, elements that you can then load into a new project as you create it. So much for that.
Now that we have our template set up, we want to go in here, right, and want to do one last thing. We want to set this as a default. If you have only one template in the database, that's the best idea, right? Because if you set it as a default, then that means you don't have to do this one extra click. Whenever you create a new entry, it will now automatically load these things in there. However, if you want to create different types of templates, right? So, for example, if you say, "Okay, for example, task might be a good one, right? Where you say, 'Okay, I, I create one task template for like where I apply a low energy tag and one for high energy.'" Let's just do this, right? Let's say, "Okay, new template." Let's call this, you know, "Low, uh, energy task." And here, as our tag, it will be "low energy." We can also, you know, give this an according icon, right? So, we can say here, maybe emoji, um, battery, right? We have an empty one. Perfect. And then we're going to do the same for like our high energy tasks. Uh, duplicate. Let's call this "High energy task." Go back in here, right? Pick the different battery.
In this situation, uh, we probably don't want to set either of them as default, right? Because we want to, like, whenever we create a new entry, we want to be able to choose, "Well, okay, this task, right, is high energy or low energy." And you don't get that option, right? If you already have applied a template.
Now, we're nearly done with our backend build, and we can just, you know, start tying everything together and show it on a nice little dashboard for our projects. But there's one last step, and that's setting up our views. As you probably know in Notion, right, on a database, you can have different types of views, just like we created right now for our projects, right in here, these views for "Open Tasks" and "Completed Tasks." And setting them up on the original instance of your database has a lot of advantages because it means you can easily reuse them later. You'll see also in a second what it does.
So, let's go in here and just define two or three very essential views for our project management. In terms of our projects, we probably want one view for all projects, right? So, let's just rename this to "All." And let's give this also the briefcase icon, right? Just indicate, "Okay, these will be all our projects." Then I would love to have a Kanban view, right? In particular for things that have different statuses, it's just a great way, a great way to display things. So, I'm going to click on plus and say, "Okay, here I would like a board view," and I'm going to call this, you know, "Kanban." The icon is fine. I don't want to show the database cell in general there, but I can leave it for now on, if I want to, on this, uh, specific instance. And then here, we see it's okay, "Group by status." That is correct. I want to color the columns, right? To give this a little bit of a highlight. And then I can click on "Done."
Now I can start dragging things between them, right? And they will automatically update in the status. But I also want to see a few more details on these cards. So, we go back to the three dots and say, "Okay, filter, uh, sorry, not filter, properties." And what I want to show here is the, um, the priority, the progress, the duration. These three elements, right? And I probably want to reorder this, just so it looks a little bit nicer. So, I'm going to put the duration first, the progress then, and then, you know, priority tag last, just so we have a nice visual hierarchy.
Now, nearly done. There's just one important thing, and that is that we need to set up a filter to hide completed projects because right now, it's fine, right? Now I can, you know, drag something into "Done" and it's all good. But imagine you are now, you're using the system for a few months or years. Your "Done" projects will just start piling up. So, we need to make sure that we hide them. So, there are basically two options that you have. Either you just say, "Okay, I hide all of them." So, that means we go to filter, say, "Add advanced filter," and then here we want to go to "Status is, um, you know, is not, sorry, uh, completed." And that way, whenever something gets dragged into just column, right, it just disappears. Perfect.
But sometimes you want to see, you know, the recently completed things. It would be quite nice, right, to have that visually there. If that's the case, we need to add like another layer to our Notion database. Now, if you're on a free Notion plan, what you have to do is you need to create a new property and you can need to call this, and you need to look for, you know, the "Last edited time." And then that way, right, you can now hide this in the property. You don't need to see it. But you can then start filtering and say, "Okay, only show me the things that are, um, not done." Or, right, we can create an alternative, say, "Or where last edited time, uh, is on or, um, after," and you can say, "You know, custom date," or in this case, for example, "1 month ago," or "1 week ago." And that means, right, that projects that get moved into "Done" will stay here for one week before they disappear. Pretty neat.
Now, of course, the drawback of this is that it is based on last edited. So, if you ever go back to an old project but and change something, well, it will start popping up here again. So, the bit cleaner way to solve this is if you're on a paid Notion account, you can use a database automation to actually man, like automatically fill your completed date. This would happen by creating a normal date property, calling this "Completion Date," and then creating a very simple database automation by clicking on the slash icon, saying, "Okay, set completion date." And then as a trigger, that will be whenever your status of a tasks is set to "complete," you want to fill as the action. You want to go, say, "Edit property completion date with a date triggered," right? And then click on "Enable." And that way, now whenever you take something and you set it complete, right? So, for example, the second project, let's say "Complete," you will see in a second it will start filling this here with the today's date. And then you can, you know, adapt the filter in the Kanban view accordingly to instead say, "Okay, where the completion date is, when the last, you know, week." Bit of a more robust solution, but again, it requires a paid Notion plan because you need to have access to these database automations. But either would be a very solid solution, right? To avoid having too many things in there.
Now, granted, this is a little bit of an advanced concept, right? So, not really for, like, necessary for very basic project management, but it's a really, really handy trick that is often very important. So, I thought I would include it here.
All right, last but not least, what I also often like to do, in particular with projects, is to create this kind of navigation that I can add into my dashboards. In order to do this, we click on plus again. And this time, we're going to create a gallery view. And here on this gallery, what we're going to do is we want will not show any preview, right? We don't want to look inside the card. So, we set "Card preview" to "None," and then click on "Done." And now here, we again, like, can turn on the properties that we care about, right? So, in this case, we might just want to turn on, you know, the, the progress, uh, and the, the priority. That's good enough for me. And then, uh, in this case, I only want to see the active projects, right? Here. So, I'm going to go to filter and say, "Add advanced filter." And here, you know, say, "Where status, um, is not completed," again. And that way, later, right, on my, on my main dashboard, I can just add this here, and it's this, like, very nice, clean view for my different projects. Allows me to then click into it quickly, right, and see the full details.
Now, often times when I click into this, I actually don't want it to pop up like this. I would like it to come out on the side. And this I can change by clicking on the three dots and then going to "Layout" and then saying here, "Open pages in side peek." Right? That's my preferred way of seeing information because I just like, you know, being able to keep working here while the information just pops up there in the side tab.
All right, for tasks, pretty much all I want is, um, the "Open" and "Completed Task" screen, right? The ones that we've already created, uh, in this template here before. So, I just, you know, did it quickly offscreen, so you don't have to watch me do this again. But same process, right? Just setting up the filter here accordingly to either say, "Show completed things," or not. And then one other thing that I typically like for tasks is to see just today's task, right? So, let's go on, uh, actually the "Open Task" one because it will be only open task for the ones that are due today. So, instead of setting this up from scratch, I just right-click it and say, "Duplicate." And I'm going to call this, you know, "Today." Give this also like a neat little, uh, calendar, uh, icon here. And then in this case, for the today task, I actually like seeing them as a list, right? Very clean, very minimal. And on this list, I then can just show the very essential properties. So, I like to show "Status." And I like to show it, you know, in front of the task and not as this, but as a checkbox, which means I can now have this like very clean, minimal option, right? To check off literally the items of the list. And then I often also like to show, in this case, the tag. So, we know here that the due date, the due date will be today, so we don't need to show that. And now we have a fairly wide screen, but later on our dashboard, this will look really nice and compact.
So, last things, uh, the last thing we need to set up is make sure that it only shows tasks for. So, let's go in here and say, "Add a rule." This will be an "And" rule, and we say, "Where the due date, um, uh, is, sorry, is, um, today." Currently, we don't have anything here. But if I now on task, right, just go in here and say, "Okay, task number four, uh, is today," then you will see it starts popping up here. You also notice one other thing. I accidentally clicked here on "New Page" and created something. It shows up as well. That's a really useful behavior in Notion to know about. And that is whenever you set filters in a database and you then create, um, a new entry on this filtered view, Notion will try to fulfill that filter. So, since we told Notion, "Well, here, show only tasks for the day," the second I enter a task, you right now. So, for example, you know, "Important exclamation mark," and I open this, I see that automatically filled in the due date. Also, really, really cool when we build our dashboard in the moment because it allows us, you know, to not have to set information all the time and instead, you know, just have it inherit the data based on the view where we enter it.
All right, we're pretty much ready with our backend for now. So, in order to tidy this up and prepare it for it, let's first turn our databases into full pages. This is my recommendation. Whenever you set anything up in Notion, right, you want to, when you build, you want to have your database in line so you can quickly switch between them. But then once you're ready, when I click on the six dots and then say, "Turn into page," now we have these full page elements, right? We can also give them the corresponding icons. So, in this case, a [clears throat] briefcase and here a checkbox. And then we want to add them to their own page. Right? We want to store all our databases in our Notion setup, ideally in one page, so we never, you know, lose them. We always know where to look for them and we don't get confused when we look at our setup to figure out, "Okay, is this a linked view or is this a database?" I have a full, you know, like video with 170 Notion deploy, go over this in detail. Uh, link for that in the description. Definitely check that out.
So, let's do this by creating a new page, right? Let's call this our "Backend." Let's give this, um, a little backend icon, right? Like the servers for this. Uh, and then go back to "Manage our projects." And then let's move "Projects" and "Tasks" in there. And then we can hit enter a few more times, right? We can also move our backend somewhere else if we want to. But now we have this very nice, clean, empty page again where we can start setting up our dashboard.
Oh, and before we continue, I have a quick favor to ask. If you're enjoying this video, why not sign up to my Notion newsletter? You're in great company. We are already more than 30,000 Notion fans. You'll be the first to learn about new updates, get a bunch of free templates, plus a front-row seat as I'm building out Europe's number one Notion consultancy. To do so, simply finish watching this video first and then go to matiasfrank.de/special. If you have to build out a setup for your company and you need a bit more hands-on support, well, don't worry. My team and I are ready. Just shoot me an email and let's have a talk on how we can help you build your perfect Notion system.
When you design these dashboards in Notion, you really want to think about how you need to see the information because that's the real strength of Notion, right? Of course, it's nice to have databases and to organize that information and then, you know, be able to filter it and all, but the really cool thing is that you can then build the interface that you wish your app had. So, right, if you're a person that loves Kanban boards, well, put a Kanban board front and center. If you like list views, right, or very detailed breakdowns of all the different types of tasks that you have in your life, well, do that.
So, over the next few minutes, I just want to show you some basic principles of how you can put this dashboard together and just an idea of how it could look like. In general, I'm a big fan of having Kanban boards front and center for my projects because I want to see, you know, at a bird's eye view, "Okay, where do things currently stand?" So, in order to do this here on my dashboard now, I will type slash and then create, right? You know the drill. Creating a linked database view. I'm going to pick my "Projects" database. And as you can see, these three views that we previously built on the main projects database, right? They're now available for me here to pick, which makes it much easier if in case I need to build several projects or if I want several different Kanban boards because I don't have to build it every single time from scratch. So, I'm going to pick on "Kanban" here, and I have it, right? I have all my projects here. I typically then click here on the three dots next to "Projects" to the database side, right? Just to have a clean, uh, look here. And now we have our, you know, all the projects here front and center. I can click in them, right? That I can click into the project, and that, as usual, opens my dashboard, right? That I have set up here. Pretty much perfect and ready to go.
Now, below that, I would like to see my tasks, and maybe I want to see two ways to have my tasks, right? Maybe I want to see my, all my tasks for the day, and then just a list of my tasks overall. So, in order to see them side by side, I'm going to create columns. So, I type /all. This gives me now the option to have two columns here. And I will say, "Okay, create link view database." Going to pull in "Tasks," and I'm going to pull in the "Today" view, right? This minimal, uh, list that we had set up. And then same here, right? I'm going to hide this database title. And then I think I actually want a second very minimal list view for the open tasks. So, I'm just going to actually just copy this, right? To make it very easy. Copy it, paste it here. Now I have my second task view on the side. And here I'm going to quickly update the filter to say, "Okay, here I actually would like to see, um, all my current open tasks that I have." And I'm going to add like a, a sort, right? And I want to see, "Okay, the due date should be ascending." So, the ones with the earliest due dates should be at the top. I can also, if I have a ton of tasks, make sure that I don't see too many at once. And I can do that by clicking on the three dots, right? And saying, "Load limit of 10." I just want, want to maybe see my next 10 tasks in line. And of course, I need to, you know, rename this view. Rename it to "Open," and swap out the icon here. And now I have my project at the top, and I have, you know, these two minimal list views for my current tasks.
Now, let's actually add a few more view variations here to this one, right? Maybe I want to have my open ones, and I want to have my low energy and high energy tasks, right? Because that may be something where I always know, "Okay, this is relevant." I'm going to do this by just clicking here on "Duplicate." Right now I have a second option here. I'm going to call this, um, "Low energy," and I give this the battery, right? The low one, the one that has the charging symbol. And here I will add as a filter that the, um, "Tag contains low energy." Perfect. And then for the high energy task, I just see, right? Like we, we have that set up the wrong way. So, for the high energy task, I just quickly edit this template. Shouldn't be low energy, should be high energy, of course, right? And like with a, with a battery symbol here. All right. High energy. Much better. Uh, and then we can, uh, swap this out for this one quickly to high energy. And then we can duplicate, uh, this one more time. Right. Where is it? Duplicate. I think I duplicated the whole database accidentally. Yes. High energy here. Right. Give it the other battery symbol for the charged one and update the filter here to show everything that contains high energy. Quite nice.
Now again, right, I'm quite zoomed in. So, like depending on on how zoomed in you are, like sometimes it like, you know, then stops showing you the different views. You have like little toggles that can sometimes be annoying. But if we, you know, zoom out to a more realistic page layout, right? This is probably how it would look like. Um, here you have then all three of them, and you can quickly switch between them. Alternatively, if you have less screen real estate and right, you can also always rearrange your columns. For example, my "Today" one, I know I don't have different views here, right? And there's not really a lot of information, right? If I just, you know, like have a sample task here, right? The only thing pretty much is this and then the tag. So there's a lot of, you know, white space. So you can also like say, "Okay, this one will always take up more space. I just want like a little bit here for these tasks from the side." We can that way, you know, give different columns, different space on the page. Nice.
So, now let's add just some UI elements, right? For one, what I typically like to do is I actually like adding headings in front of them, right? Just like labeling them. So, you know, "My Projects." And then here, uh, above this, we could have two headings, right? We could have one above each, um, in each things. But I think in this case, uh, I'm fine with having just, you know, like my tasks, uh, here. One nice thing that you can do with your headings if you want to, right? You can just highlight them all and then turn them into code blocks, right? This just gives them a little bit of a different look from the rest of the page. You can then also change the color back to, you know, like a black or gray if you don't want it like that, you know, standing out. Uh, that's really quite nice as a design element. If you need more design tips for Notion, check out my "7 Tips for Notion" video that I have linked down below in the description. There we go over a ton of these little things.
And then after these headings are done, I like to add some quick actions, right? If you have, then you know all your things set up. Maybe it's like you just want to click a button, right? To add a few new things. So, let's do that next. There are a few options to lose, right? Could have our quick actions at the very top of the page, or we could actually create this kind of sidebar layout. So, I think that this is what I want to go for here. So, I'm actually going to press enter and I'm just going to say, "Call two." This gives us again, right, two columns. And now what I'm going to do is I'm going to add a call out in this one column. And then for the other column, this is where I'm going to like grab everything else that I have added on this page. Right? So, let's see whether sometimes in the browser when you're so zoomed in, Notion is not a fan of the selector. So, you need to work a little bit on it to get it all selected. And I'm just going to drag them all here, uh, on the side. Uh, we can also actually add a call, a call out here if you want to, right? Just to give both of these some small containers. So, again, let's grab everything here and move it in there.
Now, this of course then, oops, not the ideal use of screen real estate. So, we need to definitely resize the columns. Uh, so, what I'm going to do is I'm going to, you know, move this until it's very small here on the side. And now I can just add some buttons in here, right? Type slash button, or first, like, maybe let's just call this, you know, "Quick Actions." And I'm going to create, uh, a button here for, um, you know, a project. And we're going to add, like, as an icon, just the plus symbol, right? In black. Looking for plus. Perfect. And now we can say, "I'm going to move myself to the side." Now we can set up the actions for this button. We can say, "Okay, whenever we click this button, we're going to add a new entry to our projects." So, action, right, will be "Add page to," select the database. This will be our "Project" database. You can then select to apply automatically template, right? Which is great. This is the one that we want to apply. Uh, you can, you know, set any other properties if you want to. For now, this is fine. And then what I always recommend if you have, you know, an "Add something to a database" step is that you always add afterwards, you know, "Open page," so that you get some sort of, you know, UI feedback that you added something. Otherwise, you might just click the button 10 times and 10 empty projects.
So, what we want to do is we want to add the "Open the page added in our side peek." Perfect. So, now let's click on "Done." Right? Maybe like resize a little bit so that we see the whole project button. Now, if I click this button, right, you see, "Okay, I've added a new project." Pops up here on the side. I can fill out all the details, you know, um, you know, "Finalize Notion Project Management Management Setup." I can close it off back. Right? It pops up here in my Kanban. I can move it here. I'm currently working on this. Perfect.
Let's do the same now for task, right? So, let's, uh, just duplicate this button so that we don't need to set up from scratch. Click on the year icon to edit it. In this case, let's call this, you know, um, "Task," just a normal one. So, in here, we will add this to our task database. Um, we can now select the temp. We can also leave it empty, right? So, let's leave this actually, one, this one empty. We don't need to build a second step, right? Because it will automatically carry over. So, that's why we duplicate it. Click on "None." Then we're going to actually move this to the top, right? So, it looks nice in terms of the visual hierarchy again. We're going to duplicate our task one again, and we're going to call this, you know, um, "Today's Task." Here, what we're going to say is now we want to edit another property. We want to edit the "Due Date," and we want to set it to "Date triggered," right? So, the day where we click it, which means whenever we click the button, we automatically have this task with today's date. And then let's duplicate this two more times. And then set up one for, you know, um, sort of like low, uh, energy. And I like matching the the icons just for what it is, right? So, in this case, it would be, um, our empty one. And here we can now say, "Well, task today as low energy task, right? We'll apply this template." We actually don't need to set a due date here. So, I'm going to remove this. Done. And then duplicate this one last time for, um, you know, our high energy task. But you get the gist, right? Whatever kind of categories of tasks you have, you can then set up your, um, buttons to automatically apply the template so that one click you can create them. Perfect. And done.
And now we can, you know, maybe just reorder them. Maybe actually our, our project can be somewhere else, right? So, we have a little bit of, um, a difference there. So, we have, you know, "Low energy." We have "Today's Task" here. We need to add a, change the icon actually, right? So, for "Today's Task," I like to have the calendar one here. Perfect. And now we have this nice little sidebar, right? That allows us to quickly add some tasks, add a project. And whenever we do this, right, it just pops up in the sidebar, right? I can add any other information that I need to, you know, like, um, you know, "Upload video to YouTube." Can then quickly assign the project to it that I want to, right? So, this might be the new project. And there we have it. Pretty much good to go.
There's actually one last thing that I realized now that I look at this. We forgot to set up our database layer here, right? We did it for project, but not for task. So, let's fix this. Luckily, we can do this from anywhere where we have an entry open. So, let's click on "Customize layout" here. Quickly, let's move all of these, uh, to the panel. And then let's go in here. And what I want to pin is the status, the project, and the, um, due date. And then if we have any tags or due date, right? I think this is fine to keep in the sidebar. Um, actually, we can, we can see one. Maybe we want to actually want to show tags here in the, as a, as a separate section below, right? And then have the due date also there. So, then we have all the relevant information we currently track for our task there. Right? Now, just a little bit of a cleaner look. If we have it like this, right? And we see still works for our templates. The second we have tags, they pop up here just as nicely. And now you see, right, the magic of Notion because if you want to see things differently, well, you can, right? So, if you don't like a Kanban board, but instead you want to just have a gallery of your projects, of the active ones, for example. Well, let's do that, right? Let's click in plus. Let's say, "Okay, new empty view projects." I think we set up this gallery, right? One for the quick navigation. So, we have this here now, right? This is currently filtered to show only projects that are not done. Right? So, I can actually change this and say, "Okay, actually here, show me projects that are, you know, in progress." And then we can change the view name and call this, you know, "In Progress." And we can swap out the icon, right? Let's maybe use the, um, you know, the play, uh, icon here to indicate, "Okay, these are the ones that are currently, you know, that we're working on." We can then duplicate this one and say, "Okay, these are the ones that are, you know, um, um, you know, next up, sort of." Okay, here maybe we use the, the pause, uh, one, or maybe better icon choice, but, you know, you get the gist, right? Go in here, swap out this for instead of "In Progress" to "Not Started." And we could add a third, uh, one, right? And say, "Okay, this one will be completed." So, this one, maybe we get a box here, right? For the archive. And here, last filter, or everything where the status is "Completed." And you see how quickly is, right, that we can change completely the layout of the elements, all thanks to the fact that we have it stored in our databases, right? That are very easily queriable, that have all the information we need, and then we can pull them here into our front end, into our dashboard, in whatever way is most natural for us to work on.
Now, with all of this built, let's quickly think back to the very beginning of this video when we were talking about the difference between projects and processes. We have a pretty good setup now for our projects. But when it comes to recurring things, we need to have put in a little bit more work. There are now ways in Notion how we can, you know, handle recurring elements on autopilot, but they require mostly, um, Notion database automations, which are only available on a paid plan. If you're on a paid plan, I have a video for you linked in the description that goes over all the different ways of how you can, you know, set up these recurring, uh, task automations. But in the meantime, let's look at just a very simple way to create these processes and, you know, um, add the new set of tasks for them whenever a new set of tasks rolls around.
For this, we have two options, right? We can either, um, add [clears throat] another database here for our system. We can say, "Okay, besides projects, we also have, um, processes," and then link that to tasks as well. Or we can simply expand our project database, um, and say, "Let's add a, you know, a type property here that indicates whether it is, you know, a one-off project or a recurring one." Which one of these two methods you'll implement in your system really depends on your specific needs. In general, my recommendation is to keep things as simple as possible, right? And try to reduce the number of databases that you have to an absolute minimum because that's when Notion databases are the most powerful, when you have few global databases. So, that's why I would recommend in the beginning, at least, to start off by having processes and projects in the same database and then simply adding a select property to indicate which one is which. Right? So, we click on plus, add a select property, and we're going to call this "Type." And then we add, you know, some shape icon here, and we can say, "Okay, some of them are one-off, and some of them are recurring." And then let's give this a different color, right? Yellow, maybe. And then we can go into here because all of these will be our, you know, one-off projects. Just going to click on "Type," "One-off," and now this label is applied.
Now, we're going to add now our first recurring project in a second. But what would be situations, right, when we actually think about creating a separate database for that? Well, mostly if you need a completely different set of properties for it. Now, in this case, it is on on on the edge, right? Because if we look at the properties, we realize, well, "Status" is probably not the most relevant for, um, a recurring project. It can be done, right? At some point. Also, like a recurring or ongoing thing, just can be, you know, no longer relevant. But still, probably more an indication of things that are that are, you know, like going through actions. "Duration" is definitely not relevant. "Priority" might be relevant or not. So, there are a few properties, right, here that are relevant for one-off projects that are not relevant for recurring ones. But then on the other hand, for a recurring project, uh, or for a recurring process, I probably wouldn't track many properties at all. So, in this case, right, my decision would still be to have it in one place. But if you say, "Okay, well, on a process, I have, you know, seven properties, and they're completely different to the eight properties there on projects, then create two different databases and link them both to tasks." But here, we're going to stick with this and now continue with adding our first process.
For this, I'm just going to add a new page here to just show you like how you would do this. I'm calling this, you know, like "Sample Process," or maybe this is, you know, like, um, "Monthly Housekeeping." All right, let's do that. Let's label this with "Recurring," and then let's open that entry. Now, here on the side, um, "Differentiation" done that doesn't exist, right? So, we might want to also set up a different database template for process. But the most important part that we need to think about as well, so we have a list of tasks, right? That we need to do all the time. So, for example, let's say our monthly housekeeping clues includes "Paying, pay the rent." It includes, um, you know, um, you know, "Clean the, oops, clean the bathroom," and it includes [music] that we need to, uh, you know, "Send, say hello to our friends." Something like this, right? Whatever it is that you want, want to do for you for monthly housekeeping. Not the most creative list, but you get the list. Now, the thing is that we need to create new instances of these three entries, or five, or 10, or whatever it is, right? That you have in your ongoing process every single time you want to do them because, as I said, right, in Notion, on the free account, there's no really good way to automate, um, you know, these tasks popping up. There's one way, I'm going to show you that in a moment, but for the most part, right, uh, we need to sort of create them from scratch every month.
Now, the easiest way to do this is to go into your databases and then say, "Okay, uh, we're just going to add a button here, right?" Going to add a button. Uh, and I'm calling this button, you know, um, "Create new set of tasks." I'm going to click on, you know, plus, and then I can say, "Okay, when this button is clicked, what I want you to do, new action is, I want you to add a page to," and I'm going to select my task database, right? "Add a page to tasks." And what I want you to add is, I want you to add "Pay the rent." Uh, and then for "Edit property," I want you to connect this to this project, right? The page on which this button is currently being clicked. And then I can duplicate this and can say, "Okay, and I want you to add as a task, ask, you know, 'Clean the bathroom.'" And I want to add as an action, right? Duplicate this again. I want to add as an, uh, action the task, "Say hello to our friends." Now we can click on "Done," right? And we can then click on this button, "Create a new set of tasks." We have our three tasks here. We can check them off, right? And then when the next month rolls around, we can click this button again. We have our next task. And so on and so on.
Now, you can get a lot more involved with this, right? You can also like set data dynamically, like always a specific due date based on when you click it, right? Or to, you know, if you have different people working in a team, assign to different people, right? The world is your oyster. I have a link also in the description below for a full formula and automation masterclass. It would go a bit too far in this video. But if you're curious about how to make those work, h definitely check that out. But yeah, that's the basic principle, right, of how you can create very simple recurring processes in Notion and make sure that you have a new set of tasks every time you create, you know, a new, uh, you know, every time a new sort of time frame rolls around.
The other method to do this is not very scalable, but still want to quickly show it to you. You can also create actually templates for all these tasks, right? So, we could say, "Okay, pay, uh, the rent," right? This is one of of our tasks that we have. It belongs to our, um, "Monthly Housekeeping" project. Perfect. Set up as a template. And then what I can do is I can go to the tasks, uh, right, and I can say, "For this template, I want this to recur." So, I click on the three dots and I say, "Repeat." I can say, "Okay, you know, repeat this, you know, every month, uh, on, you know, the, the 28th, uh, the, every, sorry, every month on the 20, you know, on the 28th day, I want this to, um, create a new entry." And now, as long as this runs, right, it will create a new task, uh, in this project with all the template information on the 28th. So, it can be great for certain things, but if you have a lot of recurring things, right, and you, you know, have 20, 30, 40, uh, entries in here, then it can get a bit overwhelming. So, usually you want to, you know, pick, um, whatever the best situation is, right? If you, for some of them, you might do the recurring template, but for most of them, you'll probably do this button solution instead.
And there you have it, a simple yet powerful project management system in Notion. From here, you can customize it however way you want. For example, if you plan on using this not alone, but with a team, you should add next, well, "Teams." Then "Dashboard for these teams" and an "Individual dashboard setup," plus a "Company homepage." And you don't have to do that alone either. I have a complete guide on how to set up Notion for a company right here. Just click there, and I will see you in a few seconds.
Notion Calendar has slowly but steadily become a really powerful productivity machine. It's been my daily driver since it initially released, but I keep seeing a lot of confusion around what it can actually do. Plus, Notion recently released a ton of really significant updates. So, it's time for a thorough guide. In this [music] video, I will walk you through everything you need to know to set up Notion Calendar the right way, stay on top of your to-do list, and a few of the hidden tricks that take Notion Calendar from quite nice to really powerful. Let's dive in. To kick things off, let's actually take a look at what role Notion Calendar will play in your overall tag.
setup because it can be a little bit confusing. So that's why I created this flowchart just to visualize what purpose this all has.
Now let's start from the top right sort of the notion ecosystem. The central part that you will use right to navigate notion will be your notion account. And under your notion account you can have a series of notion workspaces right. So you might have one notion workspace for your um you know personal life. Then you might have another notion workspace for your setup with um you know maybe your partner or with a group of friends to uh do some things together and that all belongs under that area.
You then might also have other notion accounts, right? So this might be your personal notion account tied to your personal email address and then you might have a notion account uh from your employer, right? If your company uses an option. And here again, right, you might have maybe one or several workspace. Although for most people right this will look fairly simple and you probably just have one um notion workspace for the company that you work in and then you have one notion workspace for your private life but for example I write have like I think a dozen uh at least across the whole system and then of course you have calendars right so you might be on Google workspace right or on a normal Gmail account so there you have your um you know Google calendar or maybe you're in the Apple e-comverse and have an Apple calendar or in my case right you might have
Now all these things flow together in notion calendar and the way it works is that your notion calendar will be tied to one main notion account. So we go through the sign up process in a moment but my recommendation is that you sign up for notion calendar with your personal email and your personal notion account because that will be the one right that you will access use always to access calendar. So even if you switch later companies right and your your you know company notion account um gets uh you know changed uh you're sure to keep everything here and no matter what notion account you use to set up calendar in the beginning you are able to integrate with pretty much any workspace in which you are a member right whether you are a member in there with your main notion account or whether you are a member with another notion account.
Last but not least, notion calendar, right, pulls in then from your other calendar tools like Google or Apple. At the time of filming, uh we don't it doesn't support Outlook calendar yet, right? So that's one ecosystem that is not supported, but it's basically the central hub right across all your workspaces and across all your calendars can show you everything that's on your plate in one place.
In order to sign up for notion calendar, you have two options. Either you can go to uh the notion calendar download page, right? and download it as an app for your computer which is in general what I recommend. Link for that in the description or you can go to calendar.notion.so to open notion calendar in the web which is what I'll just do here for the walk through purpose. If you do so right um and you're currently not logged in anywhere it will ask you to log into your notion account. Now again right it's very important that when you do this you use your personal um email that is tied to your personal notion account to make this a bit easier. if you don't have a notion account at all yet, right? Or as if there's no notion account tied to the email that you're using, notion will create an account for you, right? So, you will always have a notion uh account tied to the login that you use for calendar.
Once you signed into your notion account, this is the interface that you will see for notion calendar. You might also have already a prompt to authorize your first calendar during your setup. If so, go ahead and do that, right? So it can connect to either your Google calendar or Apple calendar and [music] then you will land in the general UI and you will also get a little bit of an onboarding key on the side. We'll go through all of that in a moment but first let's have a look at the UI.
On the left side you have your month preview. You have a scheduling option that we'll take a closer look on later. You then see your connected calendar counts. Right. So far I have the main calendar that is tied to the main email uh showing up here and then you see I can add more calendar accounts and [music] I can add notion databases in the middle of the screen which takes up most of the space is the actual calendar part. Right. So currently this is set as we can see here at the top to a week view and uh we have my today starting here and on the right you have this side pane which changes context based on what you actually um what you're actually clicking on.
In the beginning, right, when you use notion calendar for the first time, you will see this onboarding guide here. You have this option to invite more people and shows you a few useful shortcuts. But uh while we can click close this for now, we don't we don't really need that and can instead jump into the settings uh ourselves. The very first thing that you want to do then is go into your settings and connect all your calendars. In order to do so, you can either go uh if you're on the desktop web right up here and you will have the option to jump into your settings through that. On the web, you can click on your profile icon and you see here the options for settings. Quick tip, uh throughout the interface, Notion always tells you in this light gray the shortcut that you can use instead because that's the really cool thing about notion calendar. It's really built for power users which makes it very easy to navigate. So instead of clicking here, I can also just, you know, be anywhere else in the calendar. And then I press G and then S, right? And magically [music] my settings appear.
Now, we want to ignore the general ones for now and jump right to integrations, the calendars section. And here's where you want to create all your accounts, right? No matter where you have a Google account or an iCloud account, make sure it all pulls into here. So you see all your responsibilities, right? all your calendar events across the different areas of your life in this one tool for this test purpose right I'm going to leave it uh at this one account and then I'm going to click into conferencing now under conferencing you can connect your preferred um you know web meeting solution if you use Google meet it's very easy right for that you just click into the dropown and you select Google meet and that will then pull the Google meet from your main account anyway right that is linked so in this case it would just tie to my hello at Matiasfrankminus consulting.com account. But if you use something like Zoom, right, you can click here to connect your Zoom uh account, if you have a separate uh meeting tool, right, that doesn't integrate directly with notion, you can add it through a uh stationary custom link and that will help us later when we set up any meeting so that it automatically generates um a Zoom meeting, right, or a Google Meet link h and we can jump into that without having to do any manual setup there.
Let's continue to notion. And this is where things get exciting. So far, right, it's been a pretty normal calendar tool with the usual functionality. But here's where the notion part comes in. You can now connect any number of notion workspaces, right? Remember the earlier flowchart? That should somehow sync into your system. And by default, it will show you all the workspaces that are tied to your uh account that you just signed in with, right? So for example, for me it shows my MF consulting default workspace. But if you have workspaces under a different NOS account, right? You can use the button here at the very top to uh sign into them as well. So in my case, I want to connect my main account. So I'm going to click on connect and then we'll go through the onboarding. It already pops in, right? In this case, since we're logged in, uh all it took was one click. And now we have the workspace here. If you wanted to add any other workspaces, right, we could go through that and click on connect as well.
For the last option under integrations, we have AI meeting nodes. Now, this requires you to be on a notion plan that has AI, right? So, you will need either business or enterprise for this to work in at least one of the workspaces, right, that are a part of your notion setup here. And if that's the case, then you can use Notion's AI meeting noteaker, right, and connect it with your calendar as well. In order for that, the easiest way to get started, right, is to make sure that you have a meetings database in your notion setup, right? I just created a simple demo meeting database for this purpose. But very important, right, make sure you always do this in a database, not just as uh individual pages. And that this of course connects to the rest of your system. If you have questions about this, right, I have a very deep dive into how to build a perfect notion setup for business, right, for your company or a dedicated one for a VC setup. Link for that down below in the description. For now, right, let's just keep it to this very simple one. We can add some properties later. And in order to connect that, right, in order to make sure that this is the location where we store all our meeting notes, let's click in here and change this from the private section to my demo meeting base. Right? So I'm going to click in here and I'm going to start typing demo notion meeting uh notes. Right here they are. And now this will be where they will be stored. We can choose to autoshare with participants. Right? So that means if our meeting notes are in a private area uh that not everyone might have access to. It will automatically add them for access. In general, right, with notion workspace, I recommend to have this publicly accessible. So in my case, I would probably turn this off because it's anyway shared. And then what we can decide right is if notion will be our main meeting note taker then we can say okay auto add them for every single event. Now if notion [music] is your default meetaker then I would highly recommend you do this right because you want to take notes ideally on all your events and toggling this on will mean that whenever you create a new meeting with someone right you will get an entry in your database to take notes for that.
We're close to wrapping up the initial setup, but before we get that, we need to do a few things under general. First, decide whether you want to see weekends or not. In my case, [music] definitely yes, because I work a lot on the weekends and I have a lot of events on them. So, I need to see them in my calendar. But in case you want to have a, you know, cleaner focus on just your week, you can turn them off. I also want to see my declined events and I definitely want to see week numbers, right? So, I'm going to turn this on. And then I will sketch here next to the month also the information that it's currently week 35. After that we can choose when to start our week. Whether we want to start our week on Sunday or on any other day of the week. Now I don't know why you would choose to start your week on any other day other than Monday, right? I'm from Europe. I don't think anything else makes sense. But you know the world uh is yours here. So whatever floats your boat do that.
Next we can choose what t does. T will be a very important shortcut because it allows us to go always back to today. And here we can choose whether it always just shows me sort of the entry where I see today or whether we want to align today. The difference is the following. If I click out of here, right, and I just go to any random week, let's say the first week of July. If I press T, I jump back and you see I'm in the last week of August, right? Sunday 31st when I'm recording this. If I go back to my settings and I choose oops to uh instead align today in view and we go to anything else right we see that if I press now t my uh today entry is on the left right so it's sort of like the difference is you see today onwards or you see today relative to your setup which in this case is week I prefer it to align right when I jump to today I usually want to see things in the future and don't care so much about things in the past but This depends again of course on your preference with uh events with participants right if you uh want to show the upcoming meeting in the context panel right here on the side you can uh choose the time duration here right so if you want something to pop up there uh soon enough right you can say okay maybe even 12 hours if you think in rather short instances one or 30 minutes um but in general right this won't be too much of a difference it just depends on you know the simple entry that pops up here and you'll probably see it anyway there, but feel free to play around with that.
After that, we're pretty much done, right? We can choose our language. We can choose our hour format, right? So, if you want to do a 12-hour format or 24hour, in my case, I want 24 hours. And then in terms of time zone, right, we can configure those in a second. Google Maps is my preferred location link. And then, of course, very important, do you want to do light mode, right, or dark mode? Now, personally, even though I generally like the feeling of dark mode as an abstract concept, I have a hard time reading the interface in dark mode. So, I always use notion calendar in light mode. But, of course, feel free to change this to your preference.
In the browser, the only thing that's left in the settings are notifications where we can set up browser notifications. But if you follow my recommendation and use the desktop app, right, where I'm going to switch right now, you will also find additional options. First, uh you can set up your system uh preferences for these meeting notifications. So, in my case, what I like is I like to get this um you know, join the meeting conferencing um 1 minute before the meeting, right? That means up in the top right corner, right? I get this little alert that a new meeting is there and I can join it with one click. I also want the sound, right? Because that just reminds me that something is going on. You can of course change this to a different uh time, but I find 1 minute is perfect. And then you can set up the menu bar. The menu bar is a little widget that lives well in your menu bar, right? So up here. So here, right, I see my next upcoming event, right? Is that a friend of mine will arrive in 7 hours. Uh and that's just very neat, right? To always get this preview day even if I don't look at my calendar. So I would recommend to turn this on. Uh I would recommend right that you set include events probably just to today and tomorrow because realistically that's what you care about, not things uh too far in the future. And you can decide, right, do you want to see events without participants? So, your own time blocks. I actually typically turn this off because I really only care, you know, to be notified about my next meeting with someone, whether that's in person or uh online. And yeah, other than that, right, you have a few more shortcuts, but that's pretty much it for the settings.
Now, we ready, locked, and loaded to make actually use of notion. Oh, I forgot one last thing. If you're in the desktop app, you have also under general the option to start it on system startup which I recommend you turn on because usually right you want to have your calendar with you all the time. So that way whenever your Mac starts your calendar opens as well.
Back in our main interface there's one last setting that we can do here and that [music] are time zones. By default it will pick the time zone that is tied to your default calendar here. So in my case uh that's currently uh European summertime. You could click into that if you wanted to change the label, right? So I could just change this to one if I wanted to. Although, you know, CST makes the most sense for me. And then if you wanted to, you could add additional ones, right? So I can click on plus. And if you always work with people, for example, in New York, right, you can simply type New York. And now I can add it in here as my label, right? I might want to add New York because that's a bit clearer than GMT minus 4 for me. And now we see here in our sidebar, right? Always our main time zone plus the other one, which makes it just a bit easier to schedule international things.
Time for our first event. Now, if you're syncing your existing calendar accounts, you probably have a bunch of them already in here. But in order to set up your first one through notion calendar, just highlight any time slot here. And you see my side pane now switches to the setup mode for my normal side pane, right? To the setup the second I highlight any block. I can give this a name, right? my first meeting. We have a time for it. We have our date. We can set up the usual calendar stuff, right? Like the a repeat on all the event. And then we can start adding participants. In order to add a participant, I'm going to click here and I'm going to add their email address. Now, when I click then on here to confirm this, what happens next will depend on whether the other person is a part of my organization or not. if they are a part of my organization which means right they are in the same Google workspace so part of your team you will immediately get a calendar overlay for them so you can choose okay where does this meeting make sense if the person is not in your organization right of course you don't see their calendar but it's really helpful for internal scheduling let me show you what I mean right this email is part of my organization so if I click on here I see in a moment this big red overlay right which shows me all the other blocks when the person is already booked and I can easily hide it right if that is too much or too distracting by clicking on the overlay uh but particular right if you have now three four people and need to find a meeting time that can be quite [music] useful
Next we see that notion has already set up the Google meet link for this but if I don't want that right if I want uh this to be an in-person meeting or I want a different provider I can click on Google meet right and change that here we also see that it suggests uh my meeting notes right so this will be then creating an entry in my meeting note database later when I launch this so that we can record everything and I can add additional docs or links. Now, this is really cool if you have specific docs in your notion setup, right? of things that you want to discuss. Maybe there's a brainstorm, right, or a specific passage in a in a handbook or so, right? Then you could click in there and you can start searching and all the documents that you have access to in your different notion workspaces will pop up here as an option. Last but not least, you have of course location, right? if it is an inerson meeting uh description setting and then the general calendar stuff right you could swap the calendar you can change the event color and you can set the reminder for this meeting but for now this all looks good so let's send this invite so I also added a second page here right as the briefing instructions in this case you know the finalized OKR setup that's what we want to discuss here and now let's assume it's time for my meeting so what happens now is I can click on you know the um uh on the page for to start the AI meeting notes that will open up notion right it will create uh a page in this demo meeting database here and now we can start and uh turn it on now since I'm in the browser right it will tell me that uh it's not ideal for the setup so we can either start with my limited audio here or open in notion app usually right you will have it open in the app which makes everything a bit easier but yeah that's how easy it is right to then jump from your calendar event right into the meeting notes to set it up you will also H get actually a reminder in the browser at the time of the event. But since it's still a bit in the future, uh we don't get that right now.
With our first event out of the way, let's look at a few more options. Right. If I add another block here, one thing that you'll notice is that we also have this toggle here at the top. So rather than setting up a regular event, we can also switch to one of Google's specific parts. Right? This is integrated with the way that Google displays certain things. So we could have focus time, right? We could have out of office. Both of these mean that if there's any meeting coming in during that time, we will automatically um decline uh any meeting requests. And then you could set up a birthday which would sync to your Google contact. Um again, right, depends sort of on what calendars you sync in there anyway. If you have it set up in your Apple calendar, right, then birthdays will show up anyway already. But those are just a few additional options here.
For a more granular or more big picture view, you can then go up here, right, to your week and say actually I just want to see the specific day, the specific month, right, or any number of days. And you see again we have some shortcuts. So I can simply press D to focus on my [music] day view. I can press M, right, to focus on seeing the whole month. And then I could set any number of days, right? So if I just type four, uh, I switch to a 4 day view. If I type two, uh, two day view, right? And then again back to W for the week. really useful if you quickly need to get a big picture overview.
At this point in time, we want to get notion really into the mix because so far right we're just managing our calendars from Google and Apple in this notion like interface and the only real notion integration is that we can get our notion meeting notes right and add sort of docs and links. But to take this one step further, let's quickly head to notion because one of the superpowers of notion calendar is that it can show me all my database entries on there. So let's say we have this database, right? Which has a bunch of tasks. This is actually a global task database, right? So it doesn't just have my tasks, it has tasks for the whole team, of course in this demo setup. And in here, what I want now is I want to show my tasks in notion calendar. The requirement for this is that we have at least one date property on it. Right? In this case, my deadline property. And then what I can do is I can just rightclick the view and then um here say manage in calendar. Once I do this, I will get switch back right to calendar. It will load for a moment and then we should see in a moment that here where it says add notion database, right, it will add that view. Currently gives me the pop-up, right? It's working on this. And here we have it, right? We see now from my workspace MF consulting we have demo tasks [music] connected and that means that our entries from notion will now show up there.
Let's actually go back right and make sure that our deadlines are somewhere where we can see them. Right? So let's just put this to the 31st. Let's put this to tomorrow. The day after oops that was too far right to the uh here to [music] somewhere in September. Uh, let's also put some August 31st. And that's pretty good. Let's switch back. And in a moment, we will see them pop up here at the top. And here we are. Right, my tasks. They now show by default as these full day events at the top of my calendar. I can then take any of these tasks and not manage them through here. Right? So I if I see right my complete JavaScript course module 5. If I want to change this, well, I can simply drag this around. Right? I could drag this to Wednesday for example. I could also leave it here, right? I could give this a certain time block, a longer one. And you see it updates it here. And if I switch back to notion, we also see that this event right now has a deadline of 8:45 to 12:30 p.m. Now, of course, can talk about this in a second, right? Having the deadline with a specific time doesn't make so much sense. That's more for time blocking, but the general uh thing is clear, right? You can move these tasks around in here and that will sync back to normal.
You also now have the option to update the properties directly from here. So you can see we get this little indication here actually um uh next to our event that tells me what status does something have in option right we have this open one for research um this one here where our current status is not started and then for the ones that are in progress right or waiting we have the other elements and when we click into them and see the options right we can see here is my status I can change it right here from uh this for example to completed to indicate that this is Now done, we also see our select properties, right? So my priority and my area, I can change that from here as well. We see our other date properties on this database. And if I had any check boxes, we would see that too. All properties are not yet supported. Although by the time that you watch this video, uh maybe we get more, but for example, right, my notes uh don't show up there yet. Um my uh you know, formula uh doesn't show up yet. And my assigned property doesn't show up there either. But notion keeps adding more and more of these databases. So hopefully soon we'll be able to update everything from here. And if there's a property that you can't update, right, you can always click on manage a notion and you will jump right to that entry in your notion database.
Let's take this one step further. Currently we only see four entries here, right? Because only four of my entries have a deadline, but we have two other elements. Well, we can still manage them through here by just clicking on my database here in the side. that pops up this new sidebar in notion which shows me all my tasks. So you see right first at the top you have this uh tells me this is from demo tasks. It's from the my task view. That's the only view that's currently synced. We will sync another one in a second. And here we can now decide right which elements we want and we can simply drag and drop them from here onto the page. Now if I take a page that's already on there right complete JavaScript I will simply move that one around. But if I take one that doesn't have um an entry yet, right, like scheduled dentist appointment, we will place it for the very first time and [music] give it a date. You can also see that we could alternatively, right, click into the edit option, right? And then we see this add deadline. I just got a notification that updating this property failed, right? So it doesn't fill it out in the moment, but now it worked, right? Here it pulls it in now. But just like with a notion card, I could also click on you know edit here and say actually okay from August 1st actually this should be you know on the what is it on the 5th right? And we see it pops up there as well. And of course all the other properties uh are an option to change as well through here at least the ones that pull into an option calendar.
How about creating new entries? Well that's also possible. We can either take an existing entry and duplicate it by clicking on the three dots right and say duplicate. And now I have two of these complete JavaScript courses in a moment and I can schedule both of them individually or we can click on plus to create a new entry. Right? So this one creates a new empty one. We have also the shortcut command N for it. And we see we get now this new empty card. Right? Uh test entry through notion calendar. Let's call it that. Uh if I confirm in my notion database right we see um the test entry popping up in a second. Sometimes small delay. And if I go ahead now, right, and were to say, okay, let's actually um edit this. Whoops, where did it go? Sometimes it pops around here a little bit. Uh let's um move this here, right? And let's uh give this um then some like a specific priority medium and the area will be work. Right. If I switch back to notion, we see medium. And in a moment, the area for work will pop up there as well.
For more options, we can click on the settings here. And the first thing we can change is the color. So we can say actually show all the notion entries in blue. Then we see what are the visible properties and how do we sort it. And for both of these settings, even though they show up here in calendar, we actually need to manage them through notion. So let's go back to the notion database and for example, let's hide the area property. Right? Let's make this disappear. And then if I go back to notion in a moment, we'll see that that disappeared here. Right? In property visibility, it also shows me area is now hidden. Very important. These settings need to be managed through the specific view that you're syncing to normal calendar. Remember earlier this was the one that I rightcicked on and said please manage this in calendar. And that means that these settings apply. So whether I showed the area property on the all tasks view doesn't matter, right? Everything in here is being pulled over. And that's very important to keep in mind because that means you can tailor your specific views exactly to the way that they need to show up in Ocean Calendar because as you also notice it's not like all tasks in this database show up here, right? It's only the ones that are assigned to me. And that's because I've set up this rule here, right? Assigned contains only. And I can further narrow this down. Maybe you only want to see elements in Northern Canada that are not completed yet. And the easiest way to do this, right, is to go here and say rule. Okay. and where uh status is not um completed. Now very importantly you need to save this otherwise it won't carry over. And now if I go back to notional calendar, right, it reloads [music] and my one task that was in progress uh sorry completed disappears again. Right, you could stack any kind of filters on top. You could also say maybe only show high priority items there. Right? So let's actually remove this filter and say instead and where um priority priority is um high. Right? Now we have only three elements. If I save this, head back over to notion calendar. Now we see only the elements that have actually a high priority uh in a moment and there we go left with only three tasks.
That also has a few more consequences for your workflows but I want to touch on those in a second. First let's look at the remaining settings. Um we see that we can group things. So if we wanted to, we could say okay let's group this by status. So we see our different toggles for not started in progress and completed. Currently again we have only very few properties supported here but as we uh you know as notion keeps spilling this out we assume that we will have more uh you know variety when it comes to grouping. Um we can actually through here also filter out completed right completed appeared again because I took that filter out in notion in the database but it's one of the few things that we can say in calendar actually show me only my incomplete entries. So I don't need to set the filter in notion. And then in terms of date, right, I can choose, do I want to show all entries in here or do I only want to see um unscheduled entries or scheduled entries, which basically translate, do I want to see entries that have a date in the date property or not? In my case, I want to see everything here. Last but not least, you have the primary properties. Now, if you click on here, right now, that's two properties. It's the deadline and the status. And that means right everything that gets pulled over to notion cloud needs turbo date property otherwise it doesn't work and the status property is also very deeply integrated right with the option to group and the option to filter it out automatically. So if you have several different date properties or several different status properties in your database you can tell notion calendar in this case right which is the one it should use. So for example in our notional database I actually have a deadline and in terms of properties I also have a do date right [music] to schedule it. So uh I could swap between those right and say actually I want the do date to uh display here right rather than the deadline and then all these would change uh to the other one. So those are pretty much all the settings. Let's click on confirm.
And now let's have a look at how we can put all these building blocks together to build our custom work pipelines on notion calendar. For this example, what I want to set up is basically two different base of seeing my elements. I want on the one hand to see the deadlines for my tasks, but I want to also be able then to schedule my tasks using the Oates. In order to do so, let's first go back to notion and change our view. Let's rename this, right? Let's call this instead of my tasks um deadlines. Let's make sure we have a new rule here, right? And we say okay here show me everything where deadline um blah blah is not empty, right? And then we take out the priority filter and instead just say like assigned to contains um me because I want to keep it to the ones that I am responsible for. So that's my first change. And now with that change right in my notion calendar in a moment we'll see all the tasks um that I am responsible for that have a deadline. Now right now right we have this weird situation where we have a bunch of them um like still as like these entries within and for deadline right usually of course we don't have a duration. So, I'm just going to quickly go in, right, and for for the ones that we have there, right? I'm just going to take out um actually the uh the the the time, right, let's remove that. So, we just have um any kind of duration. And that means, right, they will pop up to the top here in a moment. Then, since it's deadlines, I want to change the color. So, I'm going to click into demo tasks, right? I'm going to say, okay, for demo tasks, let's make this here um those entries red.
Next, let's make sure we can plan our work. So, I'm going to duplicate deadlines and I'm going to call this work plan. And here I'm going to change my filter. And in this case, my filter will actually be um just that it is assigned to me. Perfect. And I can click on save this for everyone. I want to now pull in the work plan also into notion. And I have two options for this. I can either rightclick it here. Oops. Uh and say management calendar. Or I can go to notion calendar and under certain conditions I can click on this dropdown and click on add view. Now currently as you can see this only shows four views all tasks today calendar and planned and that doesn't really match what we have here. The reason for that is that this is a linked database view not the original database. And at this point I need to do a quick excursion to notion oneonone. Right? Very very important. In notion, you have your original database and ideally that original database lives somewhere in your back end. Then you create linked views to build dashboards uh to actually interact with it. Right? If this is something that you're not familiar with, make sure to check out one of my beginner tutorials around this because it's one of the most important aspects when building scalable Notion workspaces. Now, notion calendar only will show you options here for the views on the actual original instance because you could have dozens of link views, right? And that would otherwise clutter things up. Just to show you how this looks, right, here I'm now on the original version of the database called demo tasks. And you see here are my four views and these are exactly the ones right that I have available in here. But again, right, you don't have to set up your database, your views for Ocean Canada here. You can set them up anywhere on a link view and just click on them right and say okay I would like to manage this in the calendar that's exactly what we're going to do now right we're going to rightclick work plan and then say manage this in calendar in a moment right uh notion calendar will pull everything in and we can start having both these two different views of my same database here so you see demo tasks now shows this little new toggle and I have my deadlines and I have my work plan and you already see right Now I have um my red deadlines at the top but then I have my green um little work plan entry here and at the top right I see complete JavaScript module right that's my deadline entry and then I see here my complete JavaScript module that's my do date so right I can manage different date properties of the same database in notion calendar and this allows me now to do something like for example right I know okay my deadline is tomorrow so I add now a work block here um to work on my complete JavaScript module And again, right, all these things sync back into notion. So I know now, right, my deadline for, right, where is it? Complete JavaScript is September 3rd. And my do date, the time when I plan on working this, right, for my time block is um September 2nd, 2025.
Now, if this doesn't show up like this immediately for you, remember go to the settings. So click on demo tasks and then switch to the new view that you just added, right, the work plan. And on here you can click on the settings and you can say okay um please make sure that my primary property here is the do date. By default notion often pulls in the same date again. Right? So you will have to go quickly through that setup. But once you change this you have then your two different entries parallel next to each other. And if I click on deadlines I only see things with a deadline. And if I click on work run I see everything regardless of whether it has a deadline or not because that is the way right we have to set up those views in notion. And that means now right I can take uh whatever I want from my work plan right and see when I plan this. So I can start dragging them in my calendar right and through this time block my week um to indicate okay when do things actually uh happen right um what when is when are my test entries when and where I plan on working on them. Um and then at the same time right see the uh um the deadlines popping up here. The same of course is true for other databases, right? You cannot just pull in several views for one database, but you could also have next to your tasks, right? Your projects, events, like a big um, you know, content calendar, whatever it is, everything that has a date property in notion, you can pull it in here. And then you want to always think through this specific setup. It will always be this three steps, right? What database do I want to see in which specific view of this database do I want to see? And then if I have several date properties on my um uh database, which one should be used for the notion calendar display?
Now when working with this, you need to keep one thing in mind and that is that your entries that you're adding here from notion are only shown like this in notion calendar. They are not actually synced back to for example the Google calendar, right? Or the Apple calendar that you have integrated. So if I would open now Google calendar on the side, right, I would still only see my first meeting. In order to get this overlay, right, of calendar events on the one hand and notion database entries on the other hand, you need to use notion calendar. In case you want to move something over, you actually need to move it out of the notion database, right? So it's usually nothing that I would recommend, but just as an FYI, if you say, okay, uh, I have this test entry, right? And this should actually not be uh in here, but it should be in my calendar. You can swap that here, right? Just like for a normal calendar event uh where you can say, okay, what calendar should this be? Right? Let's move myself out of the way. Oops. Uh you could say actually instead of having this meeting lib in the calendar, let's push this to the notion database, right? It works that way. If I do that, um we will move this and it will give me an error message because the the meeting uh can't be handled then. Right? This is no longer now um a meeting. right now it's a database entry in my notion or the other way around I can take this database entry right and I can swap it to my calendar and now once that's the case it will show up in Google calendar but it will disappear from my notion database and that means right um we have sort of pros and cons for both approaches uh of course on a notion database right item we won't have the ability to invite people right so on my task I can't invite people I can't uh you know like um my scheduling my conferencing all these things to it. So, it's best, right, to keep these two things separate. Entries on your actual calendar, which are meetings for the most part with people, and then items in your databases, which will be your tasks, to-do items, and so on.
Moving on, let's look at one of my favorite features of notion calendar, and that is scheduling. As you might know, right, you have these tools like Calendarly or Cal.com where you can create booking links and then someone can use that link to pick a slot in your calendar or notion calendar can do a lightweight version of this as well and I personally use it very heavily. I use it in combination with kel.com. Cal.com is sort of my standing booking link, right? I have my general availability in my normal call hours on every given day and then I know if I just want to set up a regular meeting with someone I can send them this uh link and they can book themselves in some time right goes up to 3 months in the future. Notion calendar on
On the other hand, I usually use for specific situations when I want to have a bit more control over when someone can schedule. So, in order to do this, you can simply press S on your keyboard, and now we're swapping to this, you know, different overlay, and I can select availability. For example, I can say, "Okay, today I have some time," and I have some time here, and I have some time here, and I have some time here. And you see my side pane on the side starts filling out what it calls a one-off link meeting with MF Consulting. I could change the title for this. And then it gives me a link that I can share. And it has some other options, right? I can, for example, set an expiration date, right? That's how long is this scheduling, uh, valuable, valid? Uh, is this a single-use link, right? Can a person only pick one slot, or can several people pick a slot? We have a snippet if you want to use this, right, to share with someone, um, in the email, and it automatically fills out, right, the times that we have here. And then I also have the times down here below with the option to, uh, determine where should this meeting happen, right? Um, do we have a notice window, right? Can people only book with up to 30 minutes in advance, or can they basically book for in the next 50 minutes? And what is sort of the maximum time in advance? And then what I can do is I can create this link, right, and I can just, uh, copy this, and then I can navigate to this, and we can see how the scheduling experience looks from the other side.
So here I am in a different browser window, and I just inputted the link. Now I can see, right, I can pick now some slots here. Saturday, Sunday, 3:30, for example, or next week on the 2nd, 3 p.m. Right? That looks good. I can input my name and email, and once I do this, right, I will get, both people will get an invite, and it will automatically add this meeting [music] to this part of my calendar. The cool thing is that by default, Notion will respect conflicts. So if there's already a different thing going on here, right? Um, you see that at the bottom, it will not offer that slot anymore. Very important, though, this, um, um, this conflict scheduling only works with one calendar at a time, right? So it doesn't check all your calendars that you have connected. You need to sort of say, "Okay, what do you want it to check against?" And it can't check against Notion databases. So it is a little bit limited in that sense, but still super useful, right? Um, [music] and through that, right, for example, if we have a different meeting coming up, uh, around the time, right, that was the Tuesday time, we just, you know, add a big blocker and go back to here, right? We will see in a moment that the Tuesday slots, after we refresh this, will no longer be there, right? Because now we have, yeah, this big blocker in our calendar. If you have a lot of these scheduling links, you can also start managing them through this section, right? You can always just click on your availability again, right? Will jump here, and you can just click on edit and change it. For example, you can make something longer, right? Or you can, uh, like, uh, oops, not like this. That doesn't work. But you can remove something by clicking on done rather than just selecting that part and then removing that from the availability or here, and it will update the link. Or you can click on here, right, and it pops it out. And now you see, "Okay, here are my current links." And from there, it also gives you the option, right, to create a recurring link or one-off link. Recurring link is then very similar to Cal.com, right? If I click on here, it then tells me, "Okay, what are my general availability slots?" So, uh, you could say, "Okay, Monday, I always have time between 9 and 5, right? Tuesdays, actually, I want to only be available between 4 and, um, 6, right? Or like 1,8,800. That's my, uh, only availability and so on and so on, right?" Can then of course set the other things as well. And then this is, uh, more like this recurring option, right? Similar to, um, what I mentioned in Cal.com, where at all times they can book you in. I'm not the biggest fan currently, um, of this in Notion Calendar, just because it means it, like, creates these permanent highlights, uh, in it, and I don't want to really see them. So that's why, right, I keep things separate. Cal.com for permanent scheduling, and Notion Calendar for one-off scheduling, but still quite helpful to have it set up all in this tool and not needing a third-party application.
Now, with these basics in place, right, you can take the usual Notion approach and really make these workflows your own. You know now, right, how to integrate your calendars and how to pull certain Notion databases into Calendar and modify them. So from here, the world is your oyster, right? You could go, for example, very deep into the time tracking, um, system, right? I have a dedicated video for you on how to set this up in Notion. And then if you do your time tracking, you could show the results of your time tracking database, right? Again, in Notion Calendar, so that you have maybe a third view, right, behind, uh, besides deadlines and work plans, uh, which is like, you know, your actual work. And then you could, at the end of the week, in your weekly review, check your plan versus, you know, how did you actually do things to see, okay, how good am I at figuring these things out? Or, right, you can start collaborating with your team and pull in sort of the vacation times in here so you see always that you can assign, uh, tasks in there, right? If you don't have on deadlines the things set up that it filters for only your tasks, right? You could see the ones from your team and you can manage them through here for them, right? And if you're a manager and need to distribute workload, really, so many cool opportunities. Now you know how to make the most of Notion Calendar. Notion really is a little bit like Apple here. The deeper you get into the ecosystem, the more useful every single part becomes. And there are so many little tips and tricks to discover. In fact, earlier this year, I sat down to share my favorite 117 Notion tips. It's the best resource, right, to quickly upskill your Notion skills and go from, "Okay, this is a nice tool" to, "Wow, now I really understand it." Just click over here, and I will see you in a second.
Notion Mail is here, which brings up a lot of questions. What can Notion Mail actually do? How do you get started with Notion Mail? Does it integrate with Notion and Notion Calendar? And is it worth switching email clients for you? Now, in this video, I will cover all of these questions and everything else you need to know to make the most out of Notion Mail. So, here it is, your starter guide to Notion Mail. First up, the interface. When you go into Notion Mail for the very first time, it's going to move you through an onboarding workflow, trying to pick out what kind of views and what kind of setup you want. My recommendation here would be to just select whatever you know feels like this might be an interesting idea, but not spend too much time on this because the beauty of it is, right, to customize it exactly to your specific needs, and that's what we're going to cover in this video. So, just click through it and make sure you get to the main UI. Once you're here, you'll definitely feel immediately like you're in Notion, right? We have our very familiar sidebar here on the left, and then in the middle, in the main part of the screen, we see our inbox with the usual stuff, right? We have our senders, we have our subject lines, and we have a few cool properties that you might already spot. We'll get to them in a second. In order to send your first email from Notion Mail, well, just go in the top right corner, right, and this, uh, edit icon or hit C. Notion Mail has a ton of keyboard shortcuts. We'll go over all of them at the end of this video, but just to show you how quickly it is to write something, right? We can say, "Okay, let's send this to hello@materialsfront.de." You know, this is great. And then down here, right, just some text. And then we can hit Command Enter to send it again, right, without even leaving our keyboard, or we can click here on send in order to, well, send our first message from Notion Mail.
Now, in terms of the other UI elements, what you need to of course pay attention to are here on the left in the sidebar, your views. This is sort of one of the big innovations of Notion Mail. It's really, really cool. Can't wait to show you everything behind this. Then you have your generic email sections, right? So, all mail, send, drafts, what are you used to? And then down below, settings and templates. We'll talk about the settings and what you need to change there in a moment. But first, you have down below this, like, app switcher, right? To jump into Notion or into Notion Calendar. If you have both of them connected already, right? You also see in, uh, all day, right here. I see already, like, for something for today, what's happening. And then in the top right corner, you have just like in Notion, the main thing, also a few setting options, right? So we have auto-label, we have filters, groups, and then the general view settings. These will be very important when we talk about views in detail. But first, let's figure out what settings you need to change when you open Notion Mail for the first time. The single most important decision right off the bat, of course, right? Are you going to use Notion Mail in dark mode or in light mode, right? Clicking on the settings and then on your inbox here, you can change between system, dark, and light mode. Personally, um, I really like the light mode for this one. Same as with Notion Calendar. I think it's just easier to read overall. So this is what I'm going to stick with. The second change is then how you want to read your email threads. Right? Notion ported, well, the three typical views from Notion main, right? We have our side peek when slides in from the side, the center peek when we get this modal popup, or the full page. And I'm a side person all the way, right? So all my database views in Notion are set up this way, so I also want to read my email threads like this. Then, in terms of the font size, I like a larger one, right? Just makes it easier for me on a big screen to read. Auto-advance, right? This is like, you know, can ignore this on the first launch. So that's pretty much everything that you need set up here, and then all the other ones, right? There are not that many settings yet. These are more for the detailed preview workflow. So just make sure you have your theme set and your thread style, and then you're good to go. One more thing, actually, maybe, and that is signature. Currently, Notion Mail will simply take whatever Gmail signature you are using, right? But you can, uh, choose whether you want to include this in replies and forwards that you send from Notion, right? So it differs from your Gmail settings. So just make sure that this is set up the correct way.
With settings out of our way, it's time to create our first view in Notion and also learn about how we can roll back any changes because chances are, if you, you know, use the auto-onboarding from Notion, your inbox might look a little bit different than you're used to, and you might actually be missing some of the important messages. So, we'll look first like how we can create views and then how we can roll back any of the changes so we make sure we don't miss anything important. In order to create something new, let's just click on the plus button here. And you see we have a bunch of options to create a new view. We can do it from an auto-label, we'll talk about that in a second, configure manually, or choose one of the templates, right? Notion has a bunch of pre-built templates. They're nice, but, you know me, right? If you're power users, then we usually want to build these from scratch. Of course, we can look at templates for inspiration, but this is like my go-to option. So, we will configure manually. And you see, if I do this, what it does, it creates on the bottom here this new view for me, it automatically sees I can, and it jumps into the filter settings. Before we go there, let's actually, you know, rename this. And so we click here, we say, "Actually, I would like here, you know, this exclamation speech bubble." And let's call this, you know, like, um, priority senders, something like that. All right. And then we can head back over here and click on plus. And I'm going to zoom in a little bit, right? So it's just like a bit easier for you to see. So let's click on filter. We can also use Ctrl+F as a keyboard to open this. And then we see, "Okay, currently the way this view is built, right, is mailbox does not contain." And I can click on it to see spam or trash. That seems fine. And then it's not a promotion and not social. And you see in brackets, "banded Gmail," right? So these are both labels or like categories that Gmail is automatically trying to identify, and then Notion is just rendering it based on that. But, and that's the cool thing, we now have a bunch of options below that. And right again, if you use Notion, you can very quickly identify that this looks like properties in a database. And that's basically what Notion Mail is doing. I think what's the big, big revolution here is that it gives you your emails in a database, and with that, it gives you access to properties, and through that, to all the magic of Notion to building the ways that you want to see your data. So, we can add more properties later. We'll talk about it in a second. But for now, we can use these default properties, right? They're just part of every email. And so, we can say, "Okay, I want to filter here," and I want to say, "Only certain people, right? I only want to see them from a few ones." So, what I want to go, 'cause I want to go in here, and I'm just going to say, "Okay, I only want to see, for example, maybe these are just my favorite, you know, newsletter creators." So, I might want to see the emails from Ali Abdal. And I can add a few ones later in a moment. So, just click on here. Right now, you see it applies these rules. And now we see, "Okay, I have only here my emails in there from Ali Abdal." Now we can expand this, right? We are not limited to this one person. So, let's go back to filters, go on from, and now I can add anyone else, right? So I could also say, "If I want the amazing Notion newsletter from Matias Frank, right?" I can also save this here. Now I have sort of my favorite priority senders in this separate view. I can also rearrange this view here on the side. Could say, for example, "Okay, you know, maybe I actually want to look at this, you know, like immediately always after my inbox. This is like sort of really, really important to me, and that's why I pin it there." But we're not limited to this, right? We could now combine this filter with additional, uh, you know, factors. We could say, for example, "Okay, I only want to see here things with attachments, right?" That might be a really, really useful view to build one where we just see everything that, you know, we got sent or got sent from certain colleagues because that might be really important. Or we can just change the way we look at it, right? Just because email is usually always organized in a chronological way, doesn't have to be that way, right? We can change that in Notion Mail. To do. So, let's click here on the group option. And here we will see by default it is group by date, but we have a bunch of other elements that we could do it to. For example, we could split it into my read and unread mail, right? If I just do this, you see in a second. Okay, I see I have two unread emails, and then I have these read ones. For priority senders, maybe actually quite a nice way to see, "Okay, these are the emails that I really need to still look at, and this is sort of my ongoing backlog." Or we can go in and say, "Okay, actually, it would be really cool if I just knew all the emails that Ali sent me, right? All the emails that Matias sent me." So what I want to maybe do is I want to group this by email or domain. And the second I do this, right, is we unfortunately for now need to still do this manually, but I can start typing in, "Okay, like, you know, like the Ali Abdal one." I can add that, and I can add the, um, hello@matiasfrank.de, right? Oops, I think it's Matias Frank. Yes, let's use the Matias Frank.de as the other grouping domain. And as you can see now here, I have my emails grouped by, well, kind of who sent it. Well, I wish, to be honest, that if I set to this grouping by person, it would just automatically take whoever I have have in my filter, right? I don't have to do this twice because in this situation where I first said, "Okay, only show me emails from certain people," and then group, it's kind of twice the work. But other than that, right, it's really, really useful. It's really nice also if you, you know, work for example with, um, a few large companies because you can do it on the domain level, right? You don't have to do the specific email. We can just say, "Okay, anything that comes in from, you know, this ending, I want to have it looked at here." And now, you know, I have my priority inbox here with all the people that I care from, and I see, "Okay, these are the last emails that Ali sent, this is the last that he sent, right?" And then I can just go in and read them whenever I care about.
One last thing we need to talk about here, and that are the settings under the gear, uh, option. So if you click on here, we see that we can edit our properties. Again, something that reminds us very much of Notion. If I click on here, we see that by default, right, it shows me these sort of default email properties, right? From, subject, label, and files. But we're not tied to them, right? I can say, "Well, files, I don't really care about on this view." And "from," I also don't care about because I have set up grouping, right? I know that these are from Matias and these are from Ali. So, I'll turn this off, and now I just have this very clean view where I only see the subject line. But we don't have to stick with this, right? We can take it a step further. We can add our own custom properties, just the way we can do it with Notion databases. You see there are a bunch of options where we have our person properties, checkboxes, dates, and I think the most relevant ones will probably be to add like select and multi-selects, right? A single text and multiple texts. The status property to actually start working on emails, right? You can like sort of like move them through a cycle. And then summary and text is also pretty nice. Let's start very straightforward, right? Just like, let's add a text property. The second I do this, where I can move this around where I want this. Right now, there's still like a little slightly annoying bug, right, where if I move this anywhere here in the view, and I just have it there, you see that takes up space, but I can't really edit it from here yet. So I need to click into the email, and then here I have this text option. I can say, "Okay, you know, this was great!" exclamation mark. I can also, if I wanted to, right, say whether I want to show or hide it here, but let's just have it, "This was great." "This was great." Have it at this. Hit enter. And then if I close this, right, we now see, "Okay, my text remark popping up here." And then of course, right, in the view, I could say, "Okay, this like sort of small comment that I have." Well, I want to see this in the front of it, right? I want to see it after the subject line, wherever it makes the most sense. So you sort of start seeing how these databases come to life. And of course, there's still a bit of a way to go, right, until we have the sort of full database functionality for Notion in my inbox. But it's really, really cool that we can start thinking in these terms and start organizing our emails around it.
By far the most cool one, though, is definitely the status property. So let's get rid of the text one, right? That's more like to to play around to to show the general idea. So let's going to we're going to delete this. We're going to add a property. Now, the status is a bit of a tricky property. So you see, I actually currently have currently a lead status and an action status, and both of them are labeled as custom properties. And then I also have a general status for tracking priority. Now, it took me a second to figure this out, but basically, what happens is if you add a status property, this is sort of Notion's generic status property. So you see it pops up here in the front, and if I click on this, there are a few predetermined options, right? Uh, in progress, done, not started, kind of what we know from the general, uh, Notion property as well. And now if I click here on edit property, right, I can, uh, oops, sort of, let's actually go back here, right, and go back to, um, the status property through [music] this here. I can now change the actual different options, and I can rename this. And the second I rename this, right, from status to, for example, um, you know, like, newsletter, um, status. Uh, if I go back to my property options, right? Uh, let's say add a property. We see that this, like, newsletter status has become its own little thing. I actually don't see it on here because here I added already. But let's go to a different view, right? Let's go to maybe this, like, archive. Um, and then let's go to edit properties, add property. We see that our new set status has now become another custom property, right? Whereas this generic status is still there. So I can sort of pull in the same status settings from this other view onto this one here as well. So let's go back to, uh, the priority senders, um, and look at one more thing that we need to know when it comes to statuses, and that is that right now, uh, for these statuses, we don't have an option to set these icons ourselves, right? If I add a new option, um, I can only say, "Okay, you know, this is sort of like, you know, um, not taking notes." You see there's no option to really add a little icon. And if I also rename one of the other ones, and even if I just change it from "in progress" to, you know, "in progress," actually this case not "waiting," "in progress," "reading," or like "currently reading," let's call it that way. We see that this little icon disappears, right? So I wish again, right, here that we had a bit more customization functionality, but I'm sure it won't take long until we have the same options as in Notion, right? Where we can set sort of like an icon, or we can just have an emoji there, and to make it a little bit easier to then indicate, "Okay, these are the different levels that I want." At the moment, right, editing an option really doesn't do anything, right? If I click on this, right, I can just rename it, and I have this option to split the label from the inbox. We tackle this in a moment when we talk about how to fix our inbox. But basically, the only thing we can do is delete this, right, as default, or then change the color to whatever it is that we prefer.
Now, the cool thing about statuses, though, right? Like so much about limitation. The cool thing is that now I have in my inbox, right, the option to say, "Well, okay, what, what is this level of this one?" Right? Like, maybe this one is the one that I'm currently reading, and here for the missing puzzle piece, right? I'm, I'm done with this one. One year from now, this is where I want to take notes. And you see here, this is by the way where I wish that we could set these little icons, because it's really cool if they pop up there rather than just the color. We can back once we enter the status, we can actually also head back over to our group section. And we see that now instead of group by keyword, we could also group it by our new set status, right? This property that we've added. So rather than, you know, saying, "Okay, who is it from?" we could say, "Okay, actually, I want to see like, you know, what progress it currently is in." And now, with just a few clicks, right, I turn my inbox from this like chronological order of things to an kind of action item list, right? Where I can move things through. And just like in a Notion database, I can drag and drop things, right? So currently reading, here's why I love my Notion work. But let's actually move this to done, right? I'm done with reading this, and I can update the status like that. Now, here we can also change the order of the status levels. One thing that you might have noticed, right? If I was here in this option, there's no way to drag and drop this, right? Right now. But once I created this grouping view, I can go to group, and then here I have the option to say, "Okay, at the very top, right, uh, not started." That's my default. That's the ones that I should maybe look at next. Um, cancel is actually one that I don't really need at all. So I could just also like, um, hide this as a group from here, right? No need for that. Uh, taking notes is sort of like the step in between, currently reading, and then done. And actually, I also want to change the color from taking notes here, maybe to this, like, nice little yellow. And now when I have this much more logical, um, view of grouping for my different emails from these different senders here, I should probably turn on the sender again, right? Now that I no longer group it by that, but still pretty cool what I can do with a few clicks in my email box.
Now, before I continue, because with statuses, it can get a bit confusing, I think it's important to quickly take a step back and look at sort of the data architecture of Notion Mail and compare it to Notion. Right? In Notion, you have full control over the database that you set up. You can set up as many as you want, and for every database, you can freely choose the properties that you have, and you can create any kind of views. So if you look at Notion, right, we have our task database, we have projects. I've created here a status property there, a status property. I can, you know, add another status if I want to. I can even add a third status. But now if I add another status, right, it will start, um, you know, labeling them status one. So these are different status properties, right? Out of the box, right? It's like sort of like hello, right? Even though they have all the same options, they are all independent. And if I then, you know, create a new view, I can choose which status I want to see on there. Projects, on the other hand, right, it's completely different, right? I don't have these statuses on there, right? It's a separate database. Now, with Notion Mail, the concept is the same, but the very, very important thing is that we sort of don't have control, right now, over the database. Right? We have [music] one database, emails. All the emails in your account, right? They go into one big database. And then what Notion Mail allows us to do is create these different views. Right? We can say, "Okay, now I want to split this one view, right, which would be maybe my task here, into this one way of looking at it, and now in this other way of looking at it." And that's also the reason for this behavior of the status property, property, right? If I look at the status property, right? If I go here, right? Remember, and I want to add more properties. If I add, like, the default status, unlike Notion, where Notion would just spawn, you know, status one, status two, status three, Notion in general will just use this status priority one whenever you click on the, and only if you rename it, right? And then turn it into this custom property, do you get a separate one? And yeah, so like this can, can be a bit confusing, right? Because sometimes you might have some emails, uh, in particular when you set up later more complex workflows and say, "Okay, these are emails that are, you know, about work and actually things that I need to do something with the status." So I need a status around, you know, like, okay, um, to-do, in progress, done. But then you might have another category, right? Where it's more like, uh, you know, maybe about reading, or maybe it's about a person you need to track different cycles. And in, you know, uh, in your Notion system, you would probably just create a different database for that, right? If it's a task system, well, it's tasks. If it's hiring messages, right, it would be a CRM. Here, since it's all in one database, it's a little bit more confusing. But I hope this little excursion, right, to like several databases versus one database, helps clarify how the status property behaves and how Notion Mail in general will, you know, display these different things.
But back to our views, one thing you might have noticed while we were building this out is that here under priority senders, I also can, like, open this toggle now, right? And I see the groups that we've created here, and that's pretty neat, right? I can click into, for example, "take notes," and only see the things that this applies to. We also see these breadcrumbs at the top, but we don't have like the full, you know, child functionality the way we have in Notion. And we notice this because when we try to now say, "Okay, on this view, on just take notes," now I would like to group it again, you know, by domain, by sender, well, we realize that option is missing. We don't have the possibility here, right now, to do that. If I want to do this, right, if I wanted to create a view where I say, "Okay, everything that I'm currently reading, or everything where I'm currently taking notes," these are the things where I want to, uh, you know, see it group differently, well, we need to take a different approach. So let's just move actually these now two emails here into "currently reading," and let's go click on plus and create a new view, right? Again, configure manually. And here in, I have my inbox now again. I want to say, "Okay, only show me these things with that status." The first thing that you notice is, well, if I just look at the properties, my status property is actually not here, right? Status not there. In order to get this, in order to be able to filter by it, I first need to add a property to this view, and I do so by clicking on the gear icon, right? Properties, and then add property. And here we see, well, our new set status, right? We sort of took it out from the normal setters option. We can add it with one click. So now that is here, I can go back to filters and set up, and I can either use the filter option here, right? And set up that way. We have now "new set" here as an option, or the a little bit more powerful way to set up filters here in general is to go to the filter option there because here I can also, uh, combine several filters, uh, more easily, right? One thing that you might notice when trying to build your filters here is that, okay, right? We say maybe we want from a certain person but not from someone else. If I click on from here, right, I can only add this, and I have only one option, right? So if I have the, the Aliabdal option, right, again, Ali@ali.com, if I add one contains, I can't now go back to from again and add like a "and does not contain," right? In order to get this more granular control, you always need to go to here and then to your filters. In here, you know, you can add as many from filters as you want and stack them any which way. But let's delete this for now, right? I don't care about that. I also don't care about this one. I actually want to remove all the default filters. And then the only thing that I want to have is I want to add our new filter and say, "Okay, by new set of status where this is currently reading." This is what I want to see, right? And then I can click on save here. Or I could actually, like, in this when I'm building this outer, and realize, "Actually, this should be a different view," right? I could also like pull out, but this should be saved on this view. So let's click on save. Perfect. Now I can also go in here, right, and just like quickly give this a better icon. So let's just, you know, like maybe read this, like, looks good, and then, you know, currently reading. Perfect. So now I see everything that I'm currently reading. And here I have now the full group options again. I can say, "Okay, um, here I would like this now group by email domain," and so on and so on. So I see the emails from Ali and can't, you know, nest this below. Obviously, I can also can't drag it there. Uh, again, right, like Notion Mail, while it takes a lot of, uh, pages out of the Notion playbook, we're not fully there yet where we just get this like sort of agnostic, um, email building block in a full Notion setup. I hope we're moving there, right? And this is already pretty cool. Uh, and yeah, just need to know how to work the tool to create then the settings and setups that you want out of it.
Now, we've pretty much mastered views, or at least understood the basic concepts. There's one last thing, though, and that's very important. During your onboarding workflow, you might have clicked on some things where it says like, "Well, skip the inbox," or while you're building out these views, you might have realized, right? Sometimes you have, um, these options. For example, if I click on any person, right? If I click on Ali, and I right-click here, I can split Ali from the inbox, right? This is, this is interesting. Uh, so, um, that says like, "Sender's emails will appear in a new view." Well, if I, if I click on here, right? First, what it does, it will create this new, um, view here for me, right? Ali Abdal that are there. And the more important thing is that in my inbox, Ali won't be there anymore, right? Ali used to be here in these seven days, and now he's not. And that's because Notion Mail, when you pick this like sort of like skip the inbox option, automatically sets filters on your inbox to say, "Okay, um, if certain criteria are true, then don't add it here." It sort of combines two steps for you. If you set this up manually, you would probably go in the inbox and say, "Okay, in the inbox, I don't want to see emails from Ali anymore," and then create a dedicated view for him. But particularly with the onboarding provided, it can be quite easy to accidentally do this and then be in a situation where you see less things in your main inbox than you want to. Right? So, for example, if I also delete this Ali view, he doesn't come back to my inbox, right? He still is not there. So that's the last thing, right? We need to figure out making sure that if we accidentally set up any views and change the way our main inbox looks like, then we can go back to it, uh, how it's actually supposed to be. Now, to do it, let's click on our inbox and let's click on the filter section, uh, option up here. And again, right, either here or for more control, let's go directly to the filters here. And we see, "Okay, email not the promotion, mailbox inbox." That's perfect. But this extra filter, right, that was added, "keyword is not Ali." That's the one that we need to delete, and then we want to save with that. And then with that, right, here is back in our main inbox. It's one of the biggest traps, I think, right now, right, with Notion Mail, where you accidentally sort of like destroy your your traditional view because all these new views are grained, right? But as we're getting used to these new workflows, we still want to make sure that we have this one central place where everything that we care about shows up. So that's how you fix that issue.
Before we now continue to my recommended starting setup for Notion Mail, I want to address a few elephants in the room around the Notion Mail functionality. First, right now, Notion Mail only works with Gmail, right, on Google accounts. The team already said that they work on the Outlook integration. So that should be hopefully soon on the horizon. I can't wait for IMAP, right? So we can just integrate everything. Then the second thing, and one of the main reasons that Notion Mail has not become my full daily driver yet, is that it is currently single inbox only, which means if you're like me and you have a lot of different emails from a lot of different providers, you can't have your sort of this unified multi-inbox view. It's one of the things that I'm hoping for, but for until then, right, it will be mainly used for me for my sort of like company email account, the one they use for like outreach and for coordinating with potential clients and leads. But again, right, also here the team said they already work on it. And number three, mobile apps, they apparently very soon to follow. I'm very excited for that because right now I'm actually an Apple Mail person both on mobile and on my Mac, and I'm not the biggest fan of it. It was just like it's so fun. None of the other email tools have convinced me enough to to make the jump, but I think now is on a good track. So, I'm really excited for that. Uh, all of these things, right, by the time that you watch this video, might actually be already resolved, hopefully, right? Fingers crossed. You'll find an updated version of all of this in the blog post in the description, right? There's a Notion Mail Mega Guide that will have the most up-to-date information and all the additional tips and tricks. So, definitely make sure to check that out and check regularly, right, in case something changes.
Next, how should you set up Notion for your own personal use case? If you ever tried explaining Notion to a friend, then you might have noticed that reaction that it's in the beginning quite hard to really explain what it's for, right? What is the point of using Notion other than sort of like a pretty looking software? The difficulty here is that Notion, right, as unopinionated software, puts you in control of your workflows. And if you don't think about them, right, if you just see this empty page, then it looks like, well, this tool can't do anything. And I think we will see a similar trend with Notion. I think in the beginning, right, when you first open this up, at least that was my experience, I was like, "Well, what does it do? Right? Like, why am I supposed to use Notion Mail over anything else, except for the fact that it looks like Notion?" And I think the most important thing here is as well is starting to think about, "Okay, what are your actual workflows in email? What is the way that you need to work with email in order to make the most out of your day?" And if you switch the perspective, right, from instead of looking at, you know, Notion Mail to Google, and you just learn a few tips and tricks and then you use it to organize your over to, "Okay, if I could, you know, create workflows around my email, how would I do that?" I think that will be the key to unlocking Notion Mail. And now I want to share a few details, right, about what I mean with this. It sounds very abstract, and hopefully this gives you a good idea. Plus, I also have a recommended starting setup which I think will work great to illustrate these concepts. It's called Tara, right? Very similar to Tara, the knowledge management system from Tag Font, but Tara is really geared towards email. So I think you're going to enjoy it. But before we jump into that, right, let's talk about these workflows and building them in Notion in general.
Now, so far, when it comes to email and workflows, there's sort of an inherent tension, right? Because the way email is structured, it's really just like this medium of communication information, right? If you have a legacy email client, you have your inbox where you receive communications, right? You have then folders or labels, depending on what system you use, to sort of like categorize that information, and you have search to retrieve it. But that's not really how you work with email, right? When it comes to like the work part of email, there's pretty much three things that happen, right? You get something in your email inbox, and either this is something actionable, right? It belongs on your to-do list. You need to, you know, take take action here, or it is something that you want to consume or read, right? Maybe at a later point, right? It's some some information. It's a newsletter, or it's a, you know, just a great essay. Um, or there's events that you need to save and store, right? These are sort of the things like, uh, you know, like receipts, uh, or like from your airline, travel information, uh, or like just like something, right, that you don't have any time for now, but it might be like a a handy resource later on down the line. This is sort of, right, like what you actually would need to do, but email doesn't do that, right? And we have a bunch of other ways, workarounds, right? It's like if you use Outlook, right, you have your sort of like Microsoft To-Do and these sort of things integrated, or we can try to use flags to indicate what has to happen with what, but it's sort of all weird workarounds because email is just like that. There's so many different roles, right? It has to take, and it's at the end just, you know, communication. So it makes it very, very hard to actually have workflows in your email tool. Well, until now, this is basically kind of right. But in an ideal world, what would happen with your email, right? You would get a notification in your email inbox, and then either automatically via rules or with the help of AI, right? You would make a decision whether this email requires an action, is something to read later, or something to save and store. And again, right, like we can sort of like try to hack our ways together with like legacy email clients. In particular, with the advent of AI, right, it's getting a bit easier. But Notion AI just puts this at the forefront of you, and it makes it so much easier to think in these workflows, right? And to create and build email around it. Let me show you an example of how this looks like in action. And the example that we're going to look at is in my Notion consulting, right? I have a lot of Notion consulting requests. I get some requests that
Just come in, right? Someone sends me a random email, right? Uh without any prior touch point or they fill out a form and then I send them a message. And then there are a lot of like email chains back and forth, right? Try to figure out whether or not we should work together.
In a normal or legacy system that involves a lot of me, you know, writing things out, checking my inbox and seeing, okay, is there anyone, right, who, you know, oh, Matias, right, here, Notion help for tech wave, right? This might be something. Okay, they're trying to reach out to me, they need some help. Okay, so typically, right, what I would now do, so I would go ahead and like write this down in my to-do list or like go over to my CRM, right, and add, okay, there's no new personal message, me, we should like do something with them and then try to track their like how this is going on.
In Notion, however, I have now set up a separate view for this, right? My Notion support requests. And as you can see from the get-go already, right? Uh, we have first grouped, we have it grouped by the status, right? I track directly in my email client how these things are actually progressing. So we have proposals sent. We have something for in progress. And then we have a bunch of new leads, right? We also have some leads that I might want to pass on for others. H and this is sort of the overall situation.
Now, how does it happen? Right? How do these things get here? Well, basically with no interaction of my own, right? This is all automatically sorted for me. The leading thing for this is a label. We haven't touched too much on it, right? So far, we just had like in our priority centers, we saw that it sometimes pops up. It was one of these default properties. Um, we know it from Google, right? This option to label something, but they are just a lot more powerful here, right?
So, what we can do is in our filter view, I can say, okay, show me on this view everything, right? Where it has the label Notion support request. That's how I call it. And I could of course go in into my inbox and I could say on any email, right? So for example, this this Demark aggregate report, which doesn't definitely doesn't belong into it, right? But we could say, okay, let's label it accordingly. In Notion, we can do this by just like if I if I click on it, of course, I could say, okay, let's add like any label here if we wanted to, right? We could I can go up here or we can just press L, right? I can just hover over an email and I can press L for the keyboard shortcut and then assign a specific label manually, right? This is the manual sorting part.
The next step in the system is that I can set up a rule, right? Again, you notice from Gmail, right? We cannot set up hard rules in order to say, okay, if certain conditions are true, all automatically add it there. And this I can do in my settings, right? I can go over here to my Gmail filters, right? These are my my rules. And I can say, okay, these are this is what's currently applied. And then I can go over to Gmail to write that rule for me, right? Unfortunately, we can't write it in Notion Mail directly. I wish we could, but so far we need to go to Gmail.
So, let's do that now and just look at how we could manually write apply this rule. Sorry, not many, but how we could write a hard rule in order to sort things. So here's my Gmail box, right? In comparison, you see looks a little bit different. Uh, and if wanted to now say, okay, if certain things are true, right? It should automatically apply this label. The way I would do this, I would go up here, right? And I would say, okay, let's um add like a new option, right? I want to say, okay, if you know um something's true, you see already the issue. Now, now I need to figure out a very specific set of hard criteria that should be fulfilled in order for to apply this label.
And this is fairly easy for the emails that I get that I send, right? Whenever someone has a form submission on my website for consulting help, I always will reply with the same subject line. And the subject line will be your Notion support request. So I could fairly easy now go ahead, right? And say, okay, if if that is the case, right? I want to create a filter and I'll say, okay, with these images, what I want with messages, I want to apply the label. And then I could choose now, right, my um Notion support request label. That means, okay, perfect. Now I've managed to sort of like sort everything that I send out.
But there's of course a problem. The rules part, right? They need to have a fixed and hard condition which again, right? It's easy if I send that email, but if other people send me messages, well, there might be very, very different uh subject lines, right? So, if you just go back to Notion Mail, we see that we have also in our oops, in our inbox. Sorry, just going to get out of here. In our inbox or in I think we have this like Notion for Tech Wave, right? That doesn't have the Notion support request in there. I could of course try to get more generic. I could say, okay, anything that has Notion in there, please apply the label there. But then I get a whole bunch of Notion, you know, like questions or so that would all not be correct.
And this is where, you know, the last step comes in. AI and AI, right? Can allow us to to like sort of read our emails and figure out, okay, based on the context of this message, is that something that is in Notion spot request, right? Or does it belong anywhere else? There already a bunch of like, you know, email add-ons, right? That that can try to do this for you, but Notion Mail has it built right in. And this is like auto-label feature, right? That we are sort of like seeing your whole time but haven't really talked about.
If I click on auto-label, you see that Notion AI has like sort of like uh some suggestions, right? They say, well, maybe coffee chats and casual catch-ups, that might be something that I want to uh automatically label or any Notion related updates and invites, also a good idea. But I can also just describe the type of email that I want it to label, right? So, for example, like actually coffee chat this week, right? This is actually a good idea. So let's just see what happens if I use this AI assistant here. I click on coffee chats and casual catch-ups and then Notion AI is now going to think, looking through my inbox, what might be emails, right? That in its opinion, right? Uh, should fall into this category. It will create this label then for me and moment will show me, right? Like what it thinks should fall in there.
So, okay, it says, okay, but here's, right, coffee this week, perfect. That is definitely like it. And it shows like networking as a label name, pretty good, right? Okay, we have this like community post, yes, perfect. Notion spot guest, no, that's not right. This is not something that should be here. So we'll tell it no, it should not go in here. Um, but like the actual ebook, that should also not go in here, right? But like this community post and this coffee chat, right? Perfect. That should be the case. Now you see up here, right? It has like a few details around like the, you know, the tag that it used. Uh, and I can decide whether it actually should, um, you know, split this from the inbox. Remember previously, should this be hidden in the inbox or should it still show it? I generally want to keep everything in my inbox. Uh, so I'm just going to click on save here. And now Notion AI is going to start automatically applying this label whenever it thinks it is relevant. Right. Networking.
I can also help teach Notion AI when to apply this label by hovering over any email, right? That is actually um one. So it could go, where is it? Maybe I don't have anything else here that that really fits well, but let's just say here, if this was a networking email, right? I would like just press L. I could press on networking and then, um, after I do this one here now to not mess it up, but like then we we'll get this little pop-up, right? Thank you for, you know, helping Notion AI understand what should be networking event. And as you keep, you know, manually applying it to certain emails, Notion AI will figure out, okay, this is everywhere where we should put this.
Now, of course, we can combine this and oops, sorry. We can combine this with our hard Gmail rule. So, we could now create a Gmail rule that says, okay, anything that has the word coffee chat in the uh subject line, that should have the tag networking. And then I'm going to use my Notion AI auto-label feature, right? To catch all the things that don't have coffee chat in there, but sort of should fall into the same category. And then I can create my own view here on the side to organize it.
Now, once we have our AI label created, we can also go and refine the prompt, right? So if we go back to our settings, we have this uh, you know, Notion AI option that we haven't really talked about. And here you see all the AI labels that we applied. And you see I currently have a bunch of them. We we go over the action required and process ones in a moment. But the most important one for now is a network one month. And you see this one is fairly short. Whereas the other ones that I've wrote, they are a bit more likely. So for Notion support requests, right? For example, my prompt is, any email of a lead around my Notion business or emails sent from me to leads about this strong signals. Other words, Notion support request in the subject line, right? Could of course further refine this, but as a starting point, quite decent.
So for networking, right? We could then now expand this, right? Anything where someone wants to get in touch with me, pick my brain, like have a chat and so on and so on. And I can just do this, right? Click on here, edit, and then modify, um, this specific prompt. So this can then become your new starting point when it comes to email, right? You have your rules, your sort of hard repeatable fixed criteria to sort it into one of your categories up here, right? Whether this should be on your to-do list, you read later, or you save and store one. You can then use AI sorting to catch all these edge cases, right? Situations where it's like you don't, you can't create a soft rules.
Another good example for this would be actually travel, right? When it comes to travel, you can of course set certain rules, right? Maybe something like your flight in the subject line, but trying to catch all the emails, right? From all the different travel providers, pretty pretty hard. If you book with 17 different airlines, adding every single airline to sort of like the from sender list, that's pretty annoying. Instead, you can just write, you know, an AI prompt, okay, anything, you know, relating to any upcoming travels, which is not promotional, right? Another good thing there, so you can just have the, you know, sort of like last minute offers sorted out automatically. And then, of course, at the top, you still have your manual option, right? Where you can just press L and apply a label manually for like these one-off things for outliers for things that you have not yet automated or need a more personal touch. And this is sort of like your entryway, right? Into workflows in email.
After this first set, right, the sorting comes of course the pipeline, right? And again, the cool thing about Notion AI is that we don't just need to then after we've created these labels, right? Go ahead and like move tools immediately. We can work right here, right? So my Notion support request, I'm tracking in here, right? Whether my post is sent, in progress, new lead, right? At some point, of course, I will move it over to my CRM if it reaches a certain stage. But for this light here in the beginning, this is perfect, right? So Notion help for Tech Wave, right? If I, I can now reply to them, right? By the way, I can do this also with a shortcut where I can just press R and say, okay, you know, great, uh, you would love to be, uh, of help. Uh, here are my rates, right? Yada yada. And then I can press send. And when I've done this, um, we can move this up, you know, to my in progress pipeline. I know, okay, now I'm waiting on them and then slowly work my way through this. Or another example, right, of course, with our, we already looked at this, right? With our currently reading one or with our priority senders, where I get my new setters and can write in here for these two read elements, track them by going through these stages.
[music]
Step three at this point are three question marks because of course in an ideal world, what I would now be able to right is take this email from my email communication tool and add it to Notion as my sort of, you know, everything else. So where I can build my CRM, where I can build my content pipeline, my relay, right? Where I can have a lot more flexibility than these simple statuses. At this point, it's unfortunately not yet possible. Again, by the time you watch this video, maybe a change, right? Remember the blog post in the description and we know that the team is already working on this functionality to send emails much better to Notion. But even though, right, the step is still missing and we don't have then the full flexibility of just, you know, bloating email object in Notion. I think just having step one and step two already in an email client is amazing. Right? If you removed the word Notion from this Notion Mail client and just told me this is an email client, right? That allows you to automatically sort your inbox and then in your inbox track your work and your progress towards certain goals. I would be like, yeah, hell yeah. Yeah. Sign me up for this. I love this. Right? Of course, given that it's Notion, I would hope and love for it to be able to integrate with the rest of my system. That's not there yet. That is really unfortunate, but I'm already really excited for these first steps. And once we have the third step as well, right? Once we can say, okay, once, for example, my email, right, reaches the, uh, not currently reading, but maybe the taking notes step, right? Automatically create an entry in my notes database in Notion. Well, that would be the absolute.
Now, I know this can be very overwhelming whenever someone hands you a box of Legos, right? Says, well, build whatever you want. Question is, what should I want, right? Where should I start? So I've done my best, right? To give you a few like sort of starting blocks here and then my, you know, recommended starting setup so you don't have to stare at this blank page and, you know, overwhelmed by all the choices. I think some great use cases, right? To use the new rules, uh, AI sorting and views in Notion would be a travel, right? Making sure that all your travel documents automatically categorize in one thing. It's also what Apple is trying to do, right? With the new iPhone app. Invoices, another big one, right? I get so many invoices randomly in different places and just making sure that they're all in one place in case I pocket to save them, which I do most of the time, right? Great use case. News is a big one, right? My this is actually the one Gmail rule that I've had for the last four years and it's just like transformed my inbox is that I say whenever you get an email that contains the word unsubscribe, because you say I need to contain it, right? Put it in a separate inbox with a rule that already works amazingly well in 80% of the cases. And now I can use AI labels, right? And extend this rule and say, okay, if it's, you know, a newsletter or any other kind of, you know, like long form read, right? If someone maybe sends me something to recommend or like, you know, like case study, some of these sort of things all go into one folder. Job applications, both ways, right? Whether you're the person who's applying to jobs or whether you're someone who's hiring, making sure that they automatically get, you know, added into a certain view and then use statuses to track how you, you know, go through these cycles. Perfect. Networking, right? The coffee chat example, outreach, sales, client coordination, all great, you know, very communication-heavy practices where being able to sort them is very useful. Or if you're a student, right? Course assignments, updates, anything from uni, right? That has to be kept in one place. I think these are all nine great starting use cases. You should for sure find, you know, one or two out of these, uh, to get started.
But besides that, right, I think there's a general template, right? The Tara system I was talking about. And if you don't know where to start, right, just build this, play around with it for a few weeks. And I think this is already sort of like gets you 80% of the way there. Tara basically comes back to the system that I showed you before, right? We have our email inbox and we need to figure out what is an action, what is read later, what is Satan's store. Or if you have to push it into an acronym with all your life, right? Then it would be this triage, right? Things come into your inbox and you need to make a decision and then you decide, is this an action? Is this to read? Or is this to archive? And with Notion Mail, right? It's super simple to set this up. I just quickly deleted all the other views, right? We built previously and then you'll see sort of my Tara pluses in here. I have actions, I have read, and I have my archive. And then below that, I have my calendar, talk about in a second, and my Notion support request, rather than one of the specific workflows that spins out of this. But on action, I get all my emails, right? That require me to do something. It is created by the filter, the label action required. Have, right? We look at how the AI assigns a moment and I know everything that's in here, I need to do something about it. I can then add a status to it, right? To indicate whether I did something about it and can trickly track, okay, you know, this is in progress, right? This might be done. Coffee chat next week. But these are all things I haven't done yet. I could break it down further with views, right? And say, okay, sort of like this is my action, like group it maybe by that, right? Or like have like no action open as a subview. But this is the perfect starting point.
And then I have read, which is granted completely empty here because on this email address, I actually don't receive newsletters. So I need to change this. But if I would get any, right? They would show up in here and I could, you know, same as our idea with previously, go now through that and organize things accordingly. Then I have my archive, which are all things based on certain rules of things where they think I should keep, right? They should not just, you know, skip the inbox, you know, like like it's not the archive of Gmail where it's basically one big dump that you never check again, but more like these informations of things that you think might be relevant.
Now, in terms of setting these up, right? Fairly straightforward. We create three labels and we want to create them, um, as auto-labels, ideally. You can also get started, right? If you don't use Notion AI, you can get start just with rules plus manual sorting and that's already a huge step. But if you have Notion AI, might as well use it. And then for Notion AI, I'll add these prompts, right? There's a there will be a template that you can download in the description and we have all these prompts in there. And then for Notion AI, right? You see, so my action required prompt is basically anything that requires a response, contains a request, assigns me a task, needs my approval, has a deadline, or requires me to make a decision, right? Basically, well, things that require an action. For the, uh, read one, right? Anything that is, you know, newsletter, industry updates, blog post, sort of like anything. Yeah, that might be there. Then for archive system, right? It needs to be archive system. You can't use archive as a label because that is already taken by by Gmail as system one, but it can use anything else. And here I say then, right, okay, now any email containing reference materials, receipts, confirmation and so on and so on, right? Things I might need access to in the future, but they don't require any action now. And this is actually now a good example also where we can go in and teach the AI, right? When I'm in my archive and there because of bunch of things that I don't care what, right? For example, these Demark reports, I actually don't want them here. So I can just like unarchive it, right? And we see Notion AI learned from this email. And I can, if I do this now, a few times, right? It will start and also removing these and not actually tag them in the future anymore. Like same with these Notion team updates, right? I don't care about those and so on and so on, right? Can make sure that it only really keeps in things that I care about. And I could also fine-tune the prompt if needed.
[music]
And this, right, is the starting set that I recommend for you. Go ahead, create these three labels in Notion Mail. Then create three corresponding views. Make sure that you set them up, right? The way we talked about by adding the, uh, corresponding filter to say, only show this label. Then choose whether you want a status on them. Right? In my case, for actions, I want one status. Right? This is my action status. So you see also, right, here on the properties, I have my action status here with like done, in progress, to do, and waiting on. And then I have for my read one, right? I have a different status property. I have my, um, reading status. Oops, I actually didn't add it there. But we can add now our not action status, but our where is it? Umah from before. Uh, can't find it right now. Our status, maybe maybe I deleted accidentally, uh, our, um, status for newsletters and, uh, then of course, my archive. And then once you have these three views and want to go beyond, right? You want to do Tara Plus, then I would recommend to go into these nine categories that I shared with, right? And maybe pick one or two of these use cases to expand the Tahara setup. Add that. So in my case, I added one that I wasn't actually on the list. I think calendar, right? Which just like aggregates all calendar invites. So whenever I get something sent, just making sure that I don't, sometimes I miss meeting invites and they don't pop up in my calendar the right way. So I just want to make sure occasionally that I have one view I can just go through and make sure everything looks correct. And then in my case, right, the client outreach Notion support requests, which has a separate status, right? This one is my lead status. So here we have a different different order, right? With this done for others, in progress, and so on. And I think if you do this, right? You have an amazing starting setup for Notion Mail to really see what all that magic is about.
Now, I don't want to claim that this tag setup, right? Is something very magical and new. This is just like a big mashup, right? Of like very established themes that have been around for a while. Of course, right, Tara, the organizational method from Thiago Fom around the knowledge part and then also like just very heavily influenced by GDD, right? If you haven't read that book, definitely go ahead and do this. It's amazing, right? And inbox zero, right? Or this process of going through your inbox, right? And deciding where should something go, right? That's basically pure GDD. So, in other words, you could also call this like create a GDD setup in your Notion Mail because I think Notion Mail was really built for this. And it will help you understand the principles behind it a lot better. And then it's time to take this and truly make it your own because that's the beauty of flexible customizable system like this one.
Actually, maybe it would be a good point now to quickly ask Andrew, right? One of the people behind Notion Mail about his two favorite use cases. So, I think there are two use cases I am really excited about. One is a combination of the views in Notion Mail. So, that's how we've separated your sidebar into different components of your inbox. One that I use is journalists where, you know, I'm doing a lot of outreach and communication about the Notion Mail launch. You know, we're talking about it to make content. You know, I'm trying to find people to publicize it to, you know, hopefully get the word out. You know, Notion AI isn't just good at labeling it. It can actually sort it into, you know, what type of content or what publication you're from. And that's really awesome. And that hasn't been done before. And then with a view, I can actually see all the different people or publications I'm communicating with. You know, let's say PC Mag and The Verge and, you know, all these great publications and really stay organized. And I can create the label and then AI does everything going forward. The other is I'm going on a trip to Las Vegas in three weeks. And in my personal inbox, that is not something that an existing label could just do with a simple filter rule. I'd have to filter, is the email from Southwest? Or is it from Caesar's Palace? Is it, you know, I'd have to really dig in deep and make a complicated filter rule to have that done. And with AI, it can just type emails related to my trip to Las Vegas. And then the system is smart enough to actually just do everything else from there. Rental cars, flights, hotels, entertainment, and everything just gets sorted automatically. And that's really special because it's kind of, you know, actual knowledge about the email and the sender and the contacts that has never been done before. And it's like create the label and then forget from there. And so I love those. Um, you know, I'm going to kind of keep making more ones as I go to different places.
>> Before we move on now to the next section, one last word about pricing. Well, it's probably an important topic. I should have maybe covered it earlier, but basically Notion Mail is free. 90% of the things that you've seen here, right, you can do for free. Everything is available. The only thing that will be locked behind the paid plan is Notion AI for now, right? So, if you want to be able to use the auto-label thing feature and for it to automatically assign these things and then later also autocompose, right? We'll talk about that in a moment. Um, that is something where you need a general Notion plan. It's part of that, right? It's not an extra purchase. So if your Notion account already has Notion enabled, you'll be able to use it without any additional purchase. But otherwise, right, even if you don't have that, even if you need to rely on rules and the manual labeling, right? I think this is really, really a big game changer for email.
Now that we know how we're going to organize our email, let's talk about the writing experience in open, which is, I have to say, pretty cool. As I mentioned already, right? We can simply hit C anywhere in our keyboard, and then we pop up our little editing pane here. And then I can add a recipient by a subject as all usual. The cool part is now here in the main editor. So when I write a mail, you see we have our slash commands. So I can, you know, start with hey, you know, like, hey, Matt, uh, this was great exclamation mark. And here's a rundown of what we talked about. And now I have access to pretty much all the Notion blocks, right? So if I type slash, I can get a heading. So you know like, uh, first section, uh, I can also use this to insert, uh, the our to-do list very quickly with, you know, like one item, two items, and so on and so on. We can have unordered list, we can have columns, right? So many cool things that can make our emails a little prettier, uh, much more accessible, uh, and I know this is a small part, but personally, whenever, you know, like my formatting in my email get messed up and I need to like work around the, you know, Apple Mail or something like that to like reset the font size, these sort of things, that's just really annoying. So I love that the experience here in, you know, Notion Mail is so Notion-like and with just, you know, the hit of a, you know, the backslash, uh, we get access to all of our usual formatting magic.
Now, as I already mentioned, we don't have a lot of good integrations between Notion Mail, right? And the rest of the Notion ecosystem just yet, but one is there already and that one is pretty cool. So if we type /schedule, we get access to, uh, this scheduling block. And if you have Notion Calendar connected, right? The first time you do this, you get this pop-up. If you have it connected, you have then the availability option to choose your availability directly here in mail. So I just went ahead and did this set up, right? For Notion Calendar on this other email for the consulting and now I can type /schedule and you see I get my, uh, little Notion Calendar pane up here and I can now go ahead, right? And see, okay, where where do I want that, right? Like I can just simply drag and drop and say, okay, here I would have some availability and here, uh, and here, right? I can change the duration if I say, okay, this should actually be 45 minutes, uh, one. We have our available blocks, right? We can also like go ahead into other weeks and then, right? From do this. And once I close it off, right? We just get this like nice little scheduling link for the other person. When they click on it, they get directed to Notion. Of course, right? I could also go switch now apps, go to Notion Calendar, create my availability there, paste it in in here. That's what I've been doing so far. But this just makes it a little bit easier having it all in one place.
Now, Notion wouldn't be Notion without templates. And no, I'm not talking about the templates that you download from other people to help set up the system initially. I'm talking about templates that you can use to streamline your own workflows in Notion Mail. They are called snippets and you can access them either by, uh, hovering down below here, right? Insert snippet or typing slash and then either the name of the snippet or simply snippets, right? To see all the ones that you have available in your workspace. And basically, uh, snippets work a little bit like more powerful text expanders. If you don't know what text expander is, I think it's actually one of these tools that every single person should have installed on their machine on their laptop because they are so so useful. They just allow you to type something short, right? To insert a longer piece of information. In my case, for example, what I use this for is I have this dot, like if I type dot URL then Y, I get my YouTube URL. If I type dot URL, um, what is it? Uh, X, right? I get it for Twitter. I have another one for LinkedIn. I have also some for my scheduling links for like a lot of general information whether I need to often insert in random messages or so. Um, so that's super useful and snippets kind of work like that on steroids, right? They allow you to inject any kind of text dynamically, um, into, uh, your emails, um, with the usual Notion block formatting. It's a little bit as a database templates in Notion, right? Could be added to any page with just a single command. Actually, pretty cool idea. I hope the product team picks that one up.
In order to create and manage your snippets, you can go to your settings. So under settings and then snippets, you will actually have a bunch of snippets already preloaded, right? Follow-up, zoom link, schedule reply, schedule outreach. These are all there by default. And then I've added also like my cal and my like a fun little uno one. But let's just take a look at how they work, right? So we can say, okay, let's create a new one. And we can call this, um, maybe let's say this, you know, like let's make this a polite note. So let's get just our hand, right? And then, uh, let's say, you know, uh, this would be like slash no, and then you can just say, hey, uh, thanks a lot, unfortunately not interested at the moment, um, best nets, right? Like if you have this kind of no message, right? Maybe or like whatever it is, right? That you have to write quite often, you can, uh, set up the snippet for that. But we can take it one step further, rather than just, you know, this like sort of like unpersonal message, we can now use the snippet and personalize it with dynamic data. So if I wanted to say, well, okay, let's, uh, you know, like to actually like address him with a name, we can go in there, we can add our curly, um, brackets and now you see I have a few options. I can, for example, dynamically insert the first name of the person, right? This like pulls from the email details, so whatever they have set up in the email account, it will pull that email. Yeah, so now I say, hey person, you know, thanks a lot, not interested. Already much better than the other version. To use it, right? We would then simply click on save and then go out of here, go back to our draft and then type /no, right? That gives me access to this. And now I have here the details in there very quickly, right? Super useful if you have to respond to the same kind of message often.
Let's take a look at another example. I want to go on more podcasts this year. So I should probably have a response that whenever someone reaches out to me, right? And says, hey, you know, do you do podcasts? I'll have something along the lines of like, you know, heck yeah, would love to come and talk to you. So let's, uh, set this up like just a, you know, very plain and simple one. And then we say, okay, you know, hey, uh, and then again, right, our trick with the name, uh, you know, this sounds sounds great, would love to join your podcast. Um, do you have any, um, additional, uh, you know, guest guidance for appearances, uh, on your podcast and so on, you know, yada yada, um, thanks, uh, by. Okay, could be a better message, but you get the gist.
Now, this isn't bad, right? But we probably in some messages, right? We would rather have the actual name of the podcast in there. And we probably have to write this a few times. Now, we don't know this ahead of time. We don't know what the text is should actually be. But in Notion Mail, we can use actually placeholders for this. And then when we write the email, we can just insert the data once and it'll fill out all these placeholders at once. In order to do this, we remove podcast here, or we can actually, yeah, let's remove it for now. And now we open our curly brackets. But rather than picking one of these options, I will just now type podcast and then close it off. And then you see we have now this other variable, right? Which for which we of course don't have an automatic information, right? We don't know what podcast that will be. But if I now click on save, right? And then I go back to my messages, right? Um, send, let's just read whatever we have here. And now I say, okay, /podcast. Uh, what I can do now is, you see I have this pop-up for my variable and saying, you know, like, okay, let's call this, you know, um, Notion Notion Unblocked, perfect. And now wherever we used this variable, right? It filled out Notion Unblocked. So in these situations where you have particular lengthy jars where you need to maybe reference, you know, a specific element a few times, what you don't know ahead of time what it would be, you can use this to quickly create a simple mail merge, right? Without any additional tools.
Last but certainly not least, we can also use AI to help us create better answers. So, here I have this, you know, fictional chain of me with someone else who's excited about buying some Notion marks from a fictional company. Well, Notion marks that produces really, really cool themed Notion marks. Uh, so when we're in here, right? We can then go to reply and auto-reply. I can simply hit R, right? We don't have to go to the actual reply button. I can say, you know, like, "Hey, Jamie." And now if I don't know what to reply to this, right? I could now ask. Yeah. So, I can simply type, um, our space at the beginning of it, right? Same shortcut as with, um, uh, Notion. And I can now say, well, okay, we can do something simple. Uh, you know, please, uh, draft, um, excited, uh, excited, excited reply to this, uh, email chain mentioning that I have to look up our ordering process. And the cool thing about NAI, this thing is, right? It has a context of that email thread. So rather than, you know, me having to give it all the context in my prompt, it knows that we're talking about this Kban King Mark, right? We know he knows what we had like back and forth. And then I can insert that right without any too much prompting. That's one thing. Uh, and the other thing is that rather than, you know, doing this, uh, what we can do is we can actually go ahead and we can say, um, all right, um, I have this documentation. I have it in Notion. So let's write this based on this. So I can say now, okay, um, please, uh, explain to Jamie our ordering process based on, and then I type add, right? And then I have the option to pull up whatever, you know, um, uh, ocean and Notion page I have here. Maybe our customer success and operations, right? Maybe this, maybe here, um, you know, uh, product, um, brief, um, and now it will read this page, right? Read the email chain and then answer that email. I think that's a pretty cool implementation, right? Contextual AI to help us write things faster. It won't be the reason why why you switch to not mail, but in particular if you have to answer the same questions a lot, but if you work in, you know, this customer success kind of role or any else where you have to, you know, sort of reference documentation often, it's a good starting point so you don't have to switch again context that often.
Now, before we move on, I have a quick favor to ask. If you found this helpful so far, please consider subscribing to my channel and to my newsletter. There are already more than 30,000 Notion fans on it. Pretty insane. In my Notion news, I share more tips and strategies, free Notion templates, and a behind-the-scenes look as I'm building out Europe's number one Notion consultancy. You'll find the link for it down in the description. But first, let's get back to Notion Mail.
Now, let's talk keyboard shortcuts. I'm a sucker for some good keyboard shortcuts. Anything pretty much, right, that speeds up my work. So, I'm really, really excited that they have a ton of them in here. You can basically think of them like all the, you know, Google Mail shortcuts work. Then a ton of the Superhuman shortcuts work. And then we have a bunch of extra shortcuts layered on top just for good measure.
Now, for example, right, I can simply rather than like going with my mouse to click on an email, I can just use, you know, my, um, arrow keys to navigate through the inbox. And then if I want to reply to something, right? We already talked about, right? I simply hit R and it opens up that email and I can immediately message that. And if I want to send that email, right? Again, we can hit shift enter to, uh, do that. And then we just jump to our next thread. We actually can do this in our settings and we can say in our settings, okay, what should happen if we, uh, you know, end the conversation with one of these. We can hit escape to close this one. And then we're off to the race again. See, again, just as a reminder, right, to create a new email, uh, if we want to, and then escape again to close that down.
Now, if we are over an email, we can do the same, by the way, if we just hover over it, right? We don't need to select it with our, um, our keyboard. If I just hover over this email and write coffee chat this week and I I hit R, then I will start replying to this coffee chat request. Um, here, which would be a great use, right? Of my scheduling feature link in Notion. What we can do as well is if we hover over one of these emails, right? We can simply hit L, uh, and that opens our label options, right? So now I can again write, could either navigate through here or I can simply say, okay, this should actually, you know, be a Notion support request. And then if you do this, remember, right? You're teaching Notion AI at the same time where when it should apply these labels. Um, so be be a bit careful, right? Not to apply the wrong label to the wrong email.
The other two most relevant shortcuts will be E and U, right? If you hover over anything and hit E, you're going to archive this, right? This goes to your Gmail archive, right? Not to, um, your, you know, the the archive label. That's a different one. Uh, and if you want to make something unread again, right? You hover over it and hit UU, right? Of now these two emails are back in my queue. These are pretty much the most important shortcuts in my opinion, right? Just to reiterate, C to create a new draft, right? Of create a new email. R to reply, shift enter to quickly reply to something. Escape to go back to your inbox. And then E to archive, and U to unread, plus L to assign a label without ever, you know, having to click into this actual label section.
And then, of course, the shortcut to rule them all. Command K. If you've been around the block, right? Recently on over the last years with any type of productivity tool, you know that command K pretty much always opens this like bit context menu that allows you to do a whole bunch of things and will always teach you about, you know, the actual like more, uh, dedicated keyboard shortcuts. So here, right? We now learn, okay, inbox compose, all right, all nice, but then navigation ones might be interesting. So we see, okay, we can actually jump to the different sections of my, uh, you know, mail site by hitting first G and then one of the other letters. So if I hit G and then T, we go to send. Uh, reminders are H and then D, right? Drafts, G and D. So let's just try this, right? Let's, uh, do go out of here, hit G and T on my keyboard and there we are. We are in set. So pretty neat, right? That you learn like through these like different actions what you can do. We can also go further, right? And figure out like other options, right? Open the settings. And of course, we can also use, uh, see this option, right? To see.
All our shortcuts, right? So if I click here, I get now an overview over pretty much anything, everything, right? That I can do with shortcuts in Notion Mail. So if you know want to have a deep dive about that, uh, then I would recommend to check that out, right? And see, okay, how, how does that look like? For example, reply all, right? That's that's another one that can be quite useful, right? Hitting A, um, rather than, uh, the normal R to make sure everyone is still CC'd in this message. While we talk about shortcuts and features of power users, we also have this context bar, right? That you've probably already noticed that pops up here whenever I hover over an email. And we have a bunch of nice options where we can start an email, we can also like archive, trash it, we can mark it as read or unread, and we can set a reminder, right? So if we want to make sure that, you know, if if we don't reply to this or if so, no one else has replied to it, where we can have, um, a few options here. And then we can say, okay, I want you to, you know, like ping me with this again that I have a look at it. So far so good. The cool thing is though, that this is customizable. So the last thing rather, we didn't really talk about in the settings for different views is if you go to our view, you see also hover actions. So you can actually say, well, usually I don't care about most of these, right? I figured out, I I learned, right, from this video how to archive something, and I learned how to trash something, and I know also how to read and unread. So I don't need these, right? What I do want is, I might want a start for like a specific label, right? And I want the remind feature. But now I can also pick something else, right? So I can, for example, say, I always have to apply a very specific label, right? And I don't want to go through the motions. So we're going to go here and say, add specific label. And then we can say, okay, the label that I want to apply, right, is for example, maybe my, uh, Notion support request, right? That's the most simple one that should always be. We can also then choose the the icon, right? For this quick action. And if we have then anything, right? Where we say, actually, we want to archive or delete this, right? Or you see this, the first thing that like more automations coming directly to Notion Mail, really, really cool. Um, but yeah, so for now, let's leave it at this, right? We have now added our specific label. So now if I hover over something, we see this label option, right? And I can with one click apply Notion support request, or I can remove it, right? It's already applied. So it also is smart and contextual and allows me to toggle labels on or off of the hover actions. That's probably the one that I'm most excited about. The other one that's quite useful is the unsubscribe one, right? So, if you have a lot of newsletters and you need to clean them out, then you could go onto your, you know, your read view, right? You probably don't want this on on your inbox view, but on your read view, I could now go in and say, okay, here in my hover actions, what I really, really care about, right? Is the unsubscribe one and then maybe, uh, um, you know, like, uh, read unread, uh, to be able to say, okay, I actually read this newsletter. I still want to have a look at it. So, right, being able to contextualize your actions in the app like this for the specific use, I think is also a really cool touch. I can't wait for a few more options here. Uh, but I think this is already a really, really cool start. So much about Notion Mail. Now, I'd love to hear from you. What do you think of Notion Mail? Are you going to make the switch, or do you just want to binge more Notion content? Well, in that case, I've got you covered. Here's my list of 117 must-know Notion tips in 2025. Just click here and I will see you in a few seconds. Here's everything you need to know on how to set up time tracking in Notion. Whether you want to set up a simple system for your personal time tracking or something more robust and complex for your team, I've got you covered. In this video, we'll go over the simplest possible time tracking that you can set up in Notion in just five minutes, an advanced method that uses all of Notion's latest features, and even how you can send automatic reports to your clients with the time track data in just one click.
So, first up, simple time tracking in under five minutes. We're going to build this inside this simple project management system. If you're curious on how to build this, I have actually a separate video that walks you through every step here. But for this purpose, right, all we want to do is we want to go to the back end. We want to go to our task database because this is where we're going to implement our simple time tracking. Basically, we have tasks and we want to figure out, well, how long do we spend on them? The first thing that we need to do is we need to add a new property. So, we want to click on plus here and we want to create here, um, a date property and we're going to call this our start time. And then we're going to create a second date property and this one will be our end time, right? So again, date property, end time. Now what we're going to do is we're going to fill these properties then with our start and end time and then automatically calculate how much time we actually spend working. Now we of course don't want to do this manually. So what we're going to do is we click on plus again. And this time we're going to look for a button. And this database button will help us start our timer. So we're going to call this start tracking. And then what we want to do is we want to edit this automation. And we want to say, okay, when this button is clicked, what should happen? Well, what we want to do is we want to edit a property. We're going to edit our start time and I'm going to fill in the time when we click this button. So that means now if I click on save, right, uh, click here and now I will automatically fill out the current date and time in this property. So far so good. We could even take it one step further, right? And say, okay, when I click on start tracking, I actually want to update this status property here, right? So we have, um, a status property and we can say, edit property, also the status, and make sure that the status is moved to in progress. Right? Probably makes sense the second we start work on something that we also want to indicate, well, now this is in progress. And you see when I click on here now, right? You get this little dash here. That's because I'm currently showing the status property as a checkbox. But if I go click on edit property, show as select, you'll see that it actually moved, uh, task two to the in progress state. And same for task number three. If I click here now, we're going to use the same trick to stop our tracker. So we click on plus again, right? Add another button. Let's call this stop tracking. You can of course also, you know, like start task, end task, whatever you want. This is just your tooltip. You can also actually add emojis here, right? So if you want to add, for example, a red, uh, circle, right? For the stop track and the green one to start, you could do that too. So here, when the button is clicked, what we want to do is again, new action, edit property, and then we want to fill in the end time. And again, we want to fill in the time triggered. Click on save. And now, if I click on any of my stop tracking buttons here, right? It will fill out the end time, 11:23, 11:23, and 11:23. We of course don't want to leave it at the start and end time. We want to instead figure out, well, how many minutes, hours, or even days did we spend on something. In order to do that, what we need to do is we need to create a formula property. So, we're going to click on plus, create formula. And don't worry, even if you've never written a formula before in your life, just follow step by step and you'll be able to do this. And if afterwards you're hooked on formulas, check out, uh, the link in the description. I have a full formula masterclass, uh, so that you learn everything about it. All right, let's call this minutes worked. And here, oops, worked. Let's, uh, look for like, and maybe this clock. Perfect. Now, you want to click into edit formula. And here is now where you can write it. What we basically need to do is we need to get the difference between the end time and the start time. And in Notion, there are a few ways to do this. The probably easiest, uh, and most intuitive one is to use the date between operator. So, I'm going to start typing date between. Perfect. And now I give it first the later date and then the earlier date so that the number is positive. So the later time will be the end time. The first time will be the start time, right? Separated by a comma. And now I need to give this a third argument, like an X, right? If you've ever written any Excel formulas, you know, you give need to give it certain arguments. And you can figure out which arguments these are if you hover over the date between, right? It tells me also here, date, date, and then unit, right? So I have my two dates and now I need to give it the unit that it's supposed to return. And I want to know the difference in minutes. So, in quotation marks, I'm going to write minutes. Perfect. Then we can click on save. And now, well, we're pretty much done with this part, right? It now automatically shows me how many minutes I've worked on a specific task, right? Let's actually, uh, upgrade this time, right? We have currently, uh, we don't have like any, you know, bottleneck, like any protection built in. So, we can just click on the stop tracking thing again and we'll jump to the current time, right? In the more advanced version, I can show you how to avoid this if you don't want to override it. But now, we see right here, we have now worked for five minutes. And if I, I don't know, were to set this from 11:23 AM to, uh, you know, let's do this to PM, right? So we have some really long duration. We see now, okay, we worked 721 minutes on this specific task. If you care more about the hours than the minutes, well, that's no problem either. You can either just update this formula, you can write a second formula to this calculation. So, let's do it in two separate formulas in case we want to know both values. So, I'm going to click again on plus, formula. I'm going to call this our hours worked. And now here, right, let's get another, get another clock. Let's get the filled clock for this one here. What we can do now is we can actually just take the value from minutes worked, right? That we have already. We don't need to calculate again. So I'm going to take minutes worked and then, well, very simple, we just divide it by 60. So divide it by 60 and now we have our hours. Time now, it is rounded quite weirdly. But luckily, Notion just recently released an update that allows us to round these directly here. So we can go now here to say, decimal places, I want actually, you know, I care about two decimal places, actually just for one decimal place for my hours worked. So I see, okay, 12 hours here, 0.1 hours there. And actually, let's, let's switch back to two. That gives us a bit more granularity. And I see here now, okay, this is the time I spent on these individual tasks. So that's pretty much actually it for simple time tracking in Notion, right? You can start your tracker, you can stop your tracker, and you see the results of it. But before we move on to the more advanced version, let's quickly take a look at a few ways now of how you can integrate this into your workflow and how you can show it in your system. The first and easiest way, right? Is to add, for example, to cards on a Kanban board or a calendar. So let's actually create a Kanban board here, right? Plus, let's say, okay, I want the board view here, uh, this, um, you know, by, you know, Kanban, perfect. What I want, uh, to do is I want to show by, um, status. That is also perfect. And I want to color the columns. That's usually what I prefer. Now, one thing that we can do then, right? Is we can go to properties and we can turn on our different utilities. So, for example, we can turn on our start tracking, right? And we can turn on our stop tracking. So now I have my two buttons here on this task that I can click to actually start the tracking and stop the tracking. And then what we can do as well, so for example, if I click here on start tracking, we also will see that this task, the pay to rent task, moves into the in progress column, right? Because we set it up that way. And then when I click stop tracking, it will stop it. Now, what we can also do is we can show then now the result on this board, right? And I could simply do something like, okay, properties, please show me the, uh, minutes, um, worked here. Now, this alone is nice, but now we just have this number here, right? Which in particular, if you have several numbers on our task card, can get a bit confusing, right? And you would need to hover over it to actually see that this is the minutes worked. So rather than that, in particular, if you show it on cards, what I like to do is I like to go back and add another formula. And I like to call this a display formula. So let's create a formula. Let's call this display time worked. And here for our formula, what we're going to do is we're going to type in quotation marks, hours spent, uh, a colon space, and then another quotation mark. This gives me my text. And then I will click on plus. And now I will pull in the hours worked property that I already created. So now what you see, if I just click on save, is that we get this nice little display. You also notice one problem here. We don't have it rounded. So now, uh, since this is a text property, we can't rely on the rounding from here. So now we actually need to use our Notion rounding trick. And in order to do so, we simply type dash round, right? If we only want to, um, you know, round it to full values, right? In this case, zero. And 12. But if you want to round it to, you know, our 0.2 values after it, we actually need to first multiply it by 100, then we need to round it, and then we need to, um, divide again by 100. And that's because rounding will always round to the nearest integer, right? So if you have them values below zero hours, you would always end up with an an unprecise number. So now we basically recreated the exact same result as here, but with this little tooltip. And we can even take it one step further and make this pretty, right? So let's take here, um, our, our hours worked property, right? Let's wrap the whole thing in brackets and then type dot style after it. Now, style in Notion formulas allows us to, well, apply formatting to it. So what you can do is you can say, well, make this bold and, you know, give it the code padding. And yeah, that's pretty much good, right? So now we have this.3, 12.2, and 0.08 time worked. And if we now go back to our Kanban, right? And say, okay, on my Kanban properties, I want to show now also my display property, we see we get this much nicer look. And I can hide the minutes worked. The second I click now on stop tracking for pay to rent, we see, okay, 0.3 hours spent on this task. Or if I update it for this task from earlier, right? We see it now goes up to 8. Another very common way to use this time check in Notion is of course to use it in combination with projects to see how much time do you spend aggregated across all the different tasks, right? What is a specific project? Remember, our task tracking happens currently on the task level, not on the project. These are two different databases. They're related to each other, right? Projects have tasks. So, let's make sure that we see how much time we spend on them in total. In order to do so, let's go back to our back end and let's open this time, not the task database where we previously created our, um, our time tracking, but the projects database. And this could of course be any kind of top-level database, right? So if you have, for example, clients and then you have tasks related to it, you can set it up on clients just as well. So here we see our projects, we have our tasks related to it. And now I'm going to create a roller. This is what allows us to now access and aggregate all the information from the related tasks. So I'm going to click on plus. I'm going to pick a roller. And now I'm going to call this, you know, total hours. And going to pick the same icon, right? Just so it's consistent. And with a roller, what you always need to do is you need to tell it, okay, from what relation should it pick that permission? Well, the relation is a task relation. So, I'm going to click on relation. I'm going to select tasks. Now, it just shows me the exact same task, right? That doesn't help me. But I can now click on properties. And here I can now choose any property from my task database. So, in this case, I'm going to look for the hours worked formula, right? And then instead of seeing the individual hours, I don't want to show them as originals, but I want to have the sum, right? So I'm going to go to more options and then on sum. And now it adds them all together. I could then also here write again, like show, if I wanted to have like some other formatting or so applied to it. But this is pretty much what I want. And now we see, okay, on the sample project, I've spent an aggregated 12.23 hours working. We can then of course take it one step further and again say, okay, formula, let's take, um, our approach from before, right? Display time. Uh, go back in and say again, right? Uh, same approach as previously, in quotation marks, hours worked, colon, oops, quotation mark, plus the, uh, total hours. Close it off, right? And we have again the same situation before. So now we would again write, apply our, uh, rounding and apply our styling, and then we can show it on our project card. Same process here as well, right? I'm on my dashboard. Here's my, uh, board of projects that I have. I click on the three dots, properties, and then turn on this new display property. I just added off-screen, also the same formatting, so just looks consistent. And we see now for our S project wall, we have 12.23 hours worked.
Now, let's take a look at the advanced method. It's a bit more involved to set up, but it has a lot of advantages, particularly if you use it in a team setup. Now, in order to understand a more complex setup, we first need to look at the simple setup and what the limitations are. This is basically what we built, right? We have a database for projects, we have a database for tasks, and then our tasks have properties, and we can with these properties record the start time and the end time. This of course has a few problems, right? Or limitations. Uh, most notably is that you can only start or work in one session, right? So if you finish your task in one go, it's perfectly fine. But if you have like very big tasks, right? Where you say, okay, I work now a little bit on it, and now I need to track later how long I work on that. Well, it gets a bit problematic. So as a simple setup, this works great, right? As a more advanced one, it has some issues. The same is true for some other elements, right? In particular, if you work in a team setting, maybe some people work at the same time at a task, right? How can you track that? Well, uh, in order to do that, we basically need to introduce another layer in our system, right? We will keep having projects and tasks, but instead of tracking the time actually on tasks, we're going to create another database, a database for time entries. And then on this time entry database, we will have the option to start and stop a certain time entry. And this will allow us then to say, okay, now I start my tracking and now I stop my tracker for this specific task. So here are these two databases where in this case clients, but projects work just the same, right? We have this two-level structure with our tasks. And now instead of doing our time tracking on tasks, we're going to create this third database. So let's have slash database. And we're actually going to build this from scratch. Or we don't need the AI helper for that. It's a fairly simple one. We're going to call this our time entries. And our time entries need basically the same properties that we had before. We need a date property for, um, our start time, right? So, so this will be our start time. We need a date property for our end time. Date, date for our end time. And then we need a formula to calculate how much we actually work on. Right? So I'm clicking again on plus, formula. Oops, my highlighting with with this high zoom level in the browser, Notion sometimes bugs a little bit the selectors. So, we're going to call this our, you know, minutes worked. Let's do hours worked, right? Let's do it in one go. And here we can already write that formula where we know it from before, date between, uh, and we're going to use the end time, comma, start time, in, um, we could actually just do hours right away, right? Then it just counts hours, or we do minutes again and do, uh, the calculation. Either way works. So let's click on save and then, uh, we have our hours set up here, right? And if we have a sample entry, sample entry, and we just put in some time there, we see, okay, the, the include time, right? This was now at 12:00 AM. And here also include time. This was at 12:27. Perfect. Uh, we see that we have worked 27 minutes, ideally. Oops. Yeah, not quite an hour worked. So let's go back to minutes, just so we have our information here. Minutes. Perfect. Because then we can also track the values. Now we're really ready. One thing that we need to do is we need to now relate the time entries to the tasks, right? So we know, well, what did we actually work on? So let's click on plus. Let's add a relation here. And let's make sure that our time entries are related to our task tracker. Right? So we can call this tasks. And then this will be the time entries. Perfect. I also like to swap out the icons here so that they match, right? Time tracking here. And let's here, we can actually just quickly show our time entries and make sure time entries have a little clock icon. Perfect. Now, the trick will be that in terms of the process, it will be like before that we click a button on task trackers and that then starts a time entry. So we have the same UI, right? It's just like in the back end, we have some more robust features that handle tracking. So let's click on plus. Let's, uh, search here for our button property. And in this case, our start, uh, tracking button will have a slightly different setup. What we'll do is we will add a page to. Right? So going for this option, then we're going to select our tasks tracker database. Uh, sorry, not task trackers. We're going to select our time entries. And then here we want to set now a few properties. The first thing that we want to do is, as a name, we can actually say, well, we are working on this thing for task, right? So we can say working on, and now we can dynamically pull in the task name, right? By typing at and say, okay, from this page, I would like to get the task name, right? So this will fill working on, and then task. And you could of course, like, you know, change this, you just have the task name, you get whatever context you can have around it, but you can basically pull in the information from wherever you're clicking the button. The second thing we need to do is we of course need to set the start time, right? The start time needs to be set to the time when this was clicked. And very, very importantly, we need to make sure that we also set the relation, right? Because so far it just has this text there, which doesn't really create a connection for the system. It's just like that. We as humans, when we read it, we figure out, well, this is a time entry for this task. But for Notion to understand this, we just say edit property tasks, and we say, please connect it to this page, right? This page meaning the page where the button is clicked. So let's click on save and let's test this, right? So I can remove my sample entry from, or we can actually leave the sample entry in there. I'm going to click on start tracking. And now we see here, working on improve website copy. Start time, March 12:00 PM, which actually is the time right now. Just hit it right on lunch. Perfect. And is also linked to my tasks, um, relation, to my task entry up there. Now it's time to build the stop tracking button. And this is a little bit more involved than previously. For the other one, where we could just duplicate the setup and say, well, let's just fill the end time instead of the start time. Here, that of course doesn't work because now we need to make sure that we find the relevant time entry, right? The work from website copy, and we stop that specific one. So how do we do that? Well, first, we need to add actually a property here, right? In our time entries, we should add a status property or like a select property, doesn't really matter. And then what we want to do is we want to call this, yeah, status, perfect. Can pull this to the beginning in terms of the status levels. What we want to have is not start, fine. And then in progress will be tracking, and then, uh, done will be, uh, stopped. Or maybe instead of tracking, we call this, um, running. Good. And then stop, we can actually make rand, just so that we stick with our previous color scheme. And running might be green. Perfect. So now what we can do is we first actually need to update our button here. And what we need to say is, okay, actually, when you add this page to time entries, also please make sure that you set the status to running, right? And we're indicating that this is currently the active tracker. So if I click now, right, on start tracking, we see, okay, work on publish release notes, this tracker is currently running. And this sets up, sets us up now for our second button, the one that stops the tracking. All right, let's click on plus, click on button, button, and then stop tracking. And here, let's now edit this step. Now, intuitively, if you just look at the actions and you never built any of these automations before, you might think, well, let's edit pages in. That sounds good. Let's select our time entries, right? Because that's where these are. And now, let's set a filter to pick that specific entry. The problem is that this is nearly what you need to do, but not quite, because there's no way actually to dynamically pick the time entry that is related to the place where we click the button. At least not if this is your first step. So, instead, what we need to do, we first need to define a variable. And this is already fairly advanced, right? If you figure this out, right? If you work your way through these steps, you already built a fairly complex Notion button automation, and you'll be primed to go through the whole tutorial that I've linked down below. So let's say, what, what we need to do basically here, right? Is we need to find this one entry, this one running time entry related to this specific task. So because otherwise, right, we risk that, you know, if we have seven different trackers running for seven different tasks, we don't want to stop them all at once, right? We only want to stop the specific one on this one. So let's call this, uh, tracker. And then here, let's click on the formula option and write our formula. What we want to do is we want to get from this page, we want to say dot, and then we want to go to time entries. This will give us all the time entries related to this, uh, task, and we want to filter it. Want to say, don't give me all tasks, only give me the task where the current, uh, where the status is equal to, and then running. And you need to need to spell this exactly the way you have, um, the label on the status, uh, labeled. Yeah, exactly the way you have the status, uh, on the status property, uh, in the time entries. And then click on save. So now what we can do is we can click on add action and say, edit pages in. So the step was the right idea. But now what we get is as an option, tracker, right? So we can just say, well, let's just update whatever we grabbed previously here with tracker. And here we can say now, okay, please, uh, here, what I would like you to do is first, I would like you to set the status to stopped, very important. And I would like you to set the end time to the, again, the time triggered. That's it, right? We don't need to do anything else. And let's click on save. So now what we can say, right, on working on, we have the, is it publish release notes, right? This is, uh, here, this task here. We have a currently running element. So I can click now for publish release notes on stop tracking. Should it fill it out? But for example, working on improve website copy. We don't have a single task running, right? Because we didn't do previously. So if first, let's try that it works the other way around, right? So if you have something where there's nothing to stop, we just nothing happens, right? This timer keeps running. But if we click on the right task, publish on release notes, right? Stop tracking. We see it switches to stop and we record the end time. This means our setup is already quite a bit further along than our previous one because even though we tracked already once on publish release notes, right? We can simply add a new one. So publish, not start tracking, right? We have a new tracker on here. And then whenever we click to stop tracking again, it will stop that one. And we can also have several timers active and running at the same time, right? For different tasks. Of course, only one running tracker per task, right? Now, but the next challenge that we're going to tackle in a second is how we can have actually multiple trackers running for the same task, which is particularly relevant, right? If you work in a team environment. If you work on your own, that's probably not important, right? You probably have one tracking active for a task at the same time. But again, if several people contribute to one element, you might need it.
All right, so let's stop tracking on all of them and then move on to our next implementation. Making sure that several people can track time on one the same task. In order to do this, we need to update our time entries once again. So let's actually quickly hide this property. Let's also hide the start and the end time, right? We don't need to this. We know how it works now. But what I want to do is I want to add now here, um, a person property. Oops. Click here, person. And, um, you know, just responsive or whatever we want to use it. And then what I want to do is I want to update our start tracking option and make sure that not just do we fill these information, but we also fill as a responsible person, the person who clicked, right? So whoever triggered this time entry should be recorded. So let's test this, right? I click on start tracking here and I get a new running tracker where, okay, responsible is Matias. Perfect. Now I duplicated this time entry. So we have now two time entries running for the same task and I assigned it to Jill, who works with me as a Notion consultant. So in order to make sure that now when we click on stop track, right? It doesn't check both of us off. We need to go back to the button automation, say edit, and then go here to our tracker, and we need to add a second condition. Right? We don't want to grab now all running trackers for this task. We only want to grab the running tracker for this task where I am assigned. So let's do this by first opening an and statement. Right? And basically allows us now to have a series of conditions that need to resolve to true. And the first one is still that it's running. And the second will be that whoever clicked is equal to, and then current dot responsible, and then dot first. Now, what we're doing here, right? Is we say, okay, who clicked the button? I clicked the button, right? If I'm the user that was logged in, and then check whether the responsible value, whether that is the same. And we need to add first because responsible in theory, right? Can be several people. This is an array, uh, in the person property. We'll always only have one person in there, right? But for the formula to work, we need to add this first in there. And click on save. Click on save here. And now, if I click on stop tracking for improve website copy, it should only stop it for me, not for Jill. So let's stop tracking. And there we have it. Stopped it for me, right? Before not hours worked, minutes, I think this is, I have the the wrong formula here, right? The wrong label still. But we see Jill's timer is still running. So she can later go back to it, right? And stop it for herself. And we can all work towards the same task without messing up each other's time trackers.
Last but not least, let's see how we can get now the time worked up to the client, right? To see how much time we work in total there. And this changes a little bit to the previous system. In the previous system where we just have two levels, right? We have tasks and, uh, sorry, we have projects and tasks. We can simply roll up, use a roll up on projects to get a value. We can't do that here because you can't roll up a roll up. So basically, if you were, you could build a roll up here, right? We can actually do this quickly. So let's say, okay, roll up. Let's grab the, um, the values, right? Let's say, okay, for my time entries, I want to get the, uh, hours worked is wrong, right? But I want to get this, and I get a sum, right? And let's call this time worked. Perfect. And now here I will see, okay, I have five, zero, and seven for these different entries. And now if I were to try this up here, right? If I were to say, okay, um, let's do another roll up, right? That seems like the logical thing to do. Roll up, uh, select my relation to tasks, and then properties. And I see, well, okay, time work is not there, right? I, I can't roll it up. So that's why I said, right, you need a different approach here. So instead, what you want to do use is you want to use formulas. And you can use formulas for every single step, right? So you can do first a formula here on task trackers, and then one on clients, or you can do it on clients right away. I'm going to show you both, right? Just so you learn a little bit more about formulas. Let's click here on plus and say formula, right, time worked formula. And here our approach will be to say, okay, I want to go to the time entries, and then I want to just get the, uh, sorry, I want to get to map, right? I need to, from map allows me to get a certain value from every single entry, and the single entry will be current dot, uh, hours worked. This gives me all the values, right? So this is pretty much the result from previously from the roller, where it shows the individual values. And I type dot sum at the end. And now it creates the same effect as a rollup, just with a formula. And now either I could take this roll up here, right? And say, okay, in this roll up, please now give me from task the time work formula and give me the sum, right? This works now. Or I could write another formula up here now that grabs the aggregated status from here. I could even take it one step further and I could do it directly, right? So this is now completely unnecessary. You don't need this for the setup to work. But what you can do with the new Notion promises, and why they are so cool, right? You can go in them and you can say, well, please grab me directly from clients the values from time trackers. In order to do that, let's say here, okay, I want you to go to tasks, and on tasks, what I want you to do is I want you to map the current, in this case, all the different time entries, right? Which means now I get on my clients all time entries that are connected to all tasks connected clients. And then, oops, in order to do some calculations based on this, I can now say, well, flatten this, and now I have access to the whole array, and I can say again, map current. And you see now the values that pop up here are now the values from the time entries, right? So we've with formulas, we went through another database to get to a third database. Pretty cool. So let's say here, hours worked, right? Same principle as before. And and then dot sum, right? Pretty much does exactly the same thing as the other process, but so little, little cool trick, right? For the more advanced Notion users.
With all that data in Notion, time to automate our reporting. How cool would it be if you could send all the information to your client with just one click? This is actually one of the most common workflows that we build for our clients during our Notion consulting projects, from daily task reminders to automated reports. Once you have your structured data in Notion, there's pretty much no limit to what you can create with it. And you never have to copy paste data from one place to another ever again. Now, usually we're using some third-party tools for these automations because that way we have full control over the design and can do some pretty cool stuff. But to keep things simple in this video, here's an approach that works just with Notion alone. Though, if you're curious about a more advanced workflow for your own company and need some hands-on support from us, well, just shoot me an email and we can have a chat. But first, let's automate this. What we need for this is pretty much only, well, a database with our clients, right? And then some sort of structured data of the information we want to send them. In this case, the main work, right? But it could be a bunch of other things too. So, in order to do this, let's click now on, uh, automation here and say, you know, notify client. And what we want to do is we want to say, okay, whenever something happens, in this case, what what I want to do is whenever the status, right, is set to, um, send bill, then I want to notify the client. What I want to do is new action, I want to send an email, right? And here you now need to first select, connect your Gmail account if you haven't done so. I have mine connected already, so I simply selected from the dropdown. And now I can say, well, who do I want to send this to, right? And I can actually, if we have a specific email property, which in this case, right, we have on clients, uh, their email, so I will just use that, uh, as a dynamic value. And then for the subject, uh, we can say, hey, and then add, you know, uh, we can use the the contact person, right? I think we have on the page, uh, sorry, on the trigger page, we have the contact person, right? If you had their first name, uh, would be of course nicer. Hey, you know, uh, we're done, whatever it is you want, right? And we can say, hey, again, write name, uh, we just finished our job for, and then again, write add trigger page, come with the client name. Um, we've spent a total of, and then now comes our number, right? Trigger page. Let's get, um, the, uh, formula, right? Uh, minutes on this task. That means, means you owe us X, right? And X of course would be another property on your database, right? Where you actually calculate your hourly rate, or if you have just like a flat rate, right? You would pull that in from the database. Doesn't matter as long as your values are on your database, right? You can now pull them into this message and create something dynamic and make sure, okay, whenever we send this out, right, let's actually not send this to this email. I don't know, this a test email, right? So before we email some random person, let's do, uh, hello at matiasfront.de. And then we can enable this. And now the second we set, you know, Sarah Chatno here, this person Maria Garcia to send bill, we will send out that bill. We could then also like have more, um, additional features in there, right? That we send after the bill is sent, we also want to update the status, yada yada. Pretty much the world is yours. But this is a very simple workflow, right? That you can use within Notion without any third-party automations to send notifications based on your structured data.
Now, when we add a bit more complexity to this and use also some third-party tools, then we can generate some really, really cool reports based on Notion. As I mentioned, so this is an example, right? Of something that we've built for a client where we automatically create an investor report for the limited partners, right? It's a VC firm, and once a month, on autopilot, all their limited partners, so all their portfolio companies get these automated reports where they see, okay, these are the asset management, right? These are the meetings that we had with you. These are the tasks, right? Which tasks were completed, which tasks are open. It's also split between like tasks that they internally have to do, right? And tasks that the external person has to do, which just creates these really, really cool structured reports without any additional work for the team, right? A real game changer, just because you have already structured data in Notion. So much more robust time tracking in Notion. It's one of these little things that makes your whole setup just that much better. But what's better than one little thing? Well, 17 of them. That's right. I have a Notion video with 117 must-know tips for 2025. Just click here and I'll see you in a second. After that, you'll be a Notion master. I promise. Notion is amazing to organize your work because it's one of the
Few tools that allow you to shape your setup exactly to your process. For example, if you're a fan of time blocking, well, there's no need to buy any expensive third-party software. You can do it all right in Notion.
In this video, I'm going to show you step by step how. With this setup, you'll be able to keep track of your tasks, time block your week, and afterwards even get some insights into your workload and how you overall did. Ready? Let's dive right in.
The first thing we need, of course, is a task database in Notion for our time tracking where, basically, right, this is where we'll have our time tracking entries and see when we work on these tasks. And here you can see I have a simple setup with just task, due date, and then a few other properties to indicate where they belong and what their status is. You can use the same setup or you can actually check out my Notion for Project Management guide in the description if you want to build your own setup from scratch.
In order to then actually record our time blocking, right, besides the due date, I want to add a new date property, uh, and I want to call this my time block. And this is a question of, uh, personal preference, right? Maybe you say, you know, your due date is actually when you also want to work on it. So you don't need two separate time properties. I often like this to indicate a due date is, you know, by when I have to do this, or if else, you know, there's a penalty attached to it, and the time blocking entry, that's when I actually plan on doing the work. So I'd like to have them in two separate ones.
And then the third thing that we need is Notion Calendar. You can time block also without Notion Calendar, but using Notion Calendar will make your life so much easier. And we're going to show you in a second exactly how. But basically, if you don't have it, make sure you download Notion Calendar and then, uh, you're good to go.
Next, I'm going to take all my tasks here and I'm just going to quickly select all of them and then say, okay, for the time block, I'm going to select just today's date, right? So, we all have, um, them here right now. Then I want to pull them into my calendar. In order to do so, I click on plus here and need to create a new calendar view. And we can call this, you know, just our sort of time block, um, view. And here, what we need to make sure, right, is that we show the tasks by the time block date. So, we click on the three dots and then under layout, we can see here, show calendar by. I want to switch this to time block. And now everything here on this one, right, should have my days. So, so far so good.
But of course, this is not a great time blocking view, right? Like, I mean, sure, I can, I can arrange them on the days, but, you know, I don't really see anything. Then that's the reason why we need Notion Calendar. You can try to work around it in Notion, but it's just not as smooth as using the dedicated calendar app.
So the next thing to do is head back over to the calendar and then you want to connect your Notion. Now, I have already set up my Notion connection, right? I see it here. Otherwise, you can click on the, the three dots, right? And you can, you know, manage workspaces in the settings. You'll be able to connect a new Notion workspace. After you've done that, your Notion workspace should show up here. And then you can click on the three dots and look for add Notion database. And I'm going to do this. And I'm going to look for my time, uh, blocking, uh, database that I created just now. Sometimes it takes a second. And you see also here in this little icon that you need to have a calendar that you set up previously, right? So you can't just, you know, create a database and then pull in. No, you need to create a database in Notion, set up a calendar view for the database, and then you can pull into Notion Calendar.
And now with one click, I have my time blocking tasks in here. And you see all of a sudden all my tasks show up here at the top of the day. Which means that now I can start taking these tasks and in Notion Calendar block them the way I want it. Right? So let's say, okay, I want to work on Monday on these things. So I'm going to pick my first task and I'm going to put it on 8:00 a.m. where I say, okay, from 8:00 a.m. until 8 until 9. Right? I can, uh, set a time like this. Take the next task. Okay. This is something, you know, that I want to work for a longer time and so on and so on, right? All of them can go in like that, and then with a few clicks, I have time blocked, you know, my Monday and my Tuesday with all the tasks I want.
And the cool thing is that if I head back over now to Notion, right, you'll see that these tasks have times. And of course, the display in the calendar here is still not great, but if I head over back also to my old tasks, we see that for all these tasks that we have, the current time block here is set now in the property. And this is in sync, right? So if you change anything here, it changes automatically in the calendar. If in the calendar you readjust it, it changes here. So with just a few minutes, you already have a working, simple time blocking system.
But now let's take it to the next level. Let's say, for example, you want to have sort of recurring blocks. Maybe every Wednesday morning, right? I want to have just a whole morning blocked to work on my newsletter. I can of course now create individual entries. So I can sort of have like my, you know, my, uh, newsletter sort of newsletter, uh, time, right? Exclamation mark. And we know that we can, uh, go in here, right? Set this for time. So, for example, for Wednesday, it will show up in my calendar here in a second. And I can drag it in there and pull it down, right? And say, "Okay, this, uh, is what I want on 8:00 a.m. here." And I could start duplicating this, right? And have it always, every single week. But that's a little bit cumbersome, right? Having to create this. So, ideally, we would be able to do this automatically.
Well, that's possible. We just need Notion database automations as our helper. In order to do so, let's click here on the flash icon and then let's set up our, you know, uh, that weekly set weekly Wednesday time. Let's call it that way. And our trigger will be the recurring, right? So, every X, I want something to happen. Now, you have a few options of how to set this up, but for the simplest version, what you probably would want to do is you want to say, okay, every week I would like to repeat this on a Wednesday. Uh, you can set a time around midnight. You can set a starting time. Uh, and then you're good to go. And then the action will be that you want to add a page to my time blocking database. I can set as a new item, or if I have a specific template, I could select it here. I call this then, you know, my newsletter time exclamation mark. And then I will want to edit a second property, my time block property.
Now, what exactly you set it to will depend a bit on how you want to see tasks, right? Uh, we won't be able to create exactly the same look as in, you know, like a normal calendar where we just simply set the event to recurring and then it just populates indefinitely in the future. I know if I go a year from now, right? I see this on a Wednesday. This is very hard to set up in Notion. But what we can do is we can say, okay, typically I need to, you know, plan my month in advance. So I want to always see the next four instances of my newsletter time and I want to have this automated. So for the initial setup, what we'll have to do is we have to create these four instances once manually. So we'll say, okay, I need like, you know, this one, I need one more time, two more times, and the third time. And then for each of them, I will set the actual, um, correct date. Right? So, we'll go in here and in a second, they all pop up, right? I will now move this from the 30th, uh, to the 7th. I will move this one from 7th to, um, 14th, and I will set this one from 14th to 21st. All right.
Now, we have that set up. We can go back to our flash and sort of calculate, okay, this week when should the next entry be created? So, let's go in here on the flash. Oops. Like this. Uh, say here, I want to edit this one and now I can say, okay, for my time block property, I want to set a custom formula. I want to say the date when this triggers, right? I want to take that and I want to add days to it. So, date add. And what I want to add are, it's like three that we have in advance, right? So we need to put it on the fourth slot in the future, which means 4 * 7, right? 28. Uh, and then comma base, and then we can close this off. And now what will happen is every Wednesday, this automation will go in and will create a new entry 28 days in the future.
And if you want to set also the time, right? We can do this as well. So we can, uh, do the, the date, um, the for, sorry, the range. One second. So let's click back here, right? Let's edit, uh, the setup. And now we can write our actual time. The one thing though that we need to update as well is quickly up here, right? We set here around midnight, and we want to have it start at the correct time block, right? So we say, okay, this actually should be at 8:00 a.m. when my time block should start. That's when I want to create this. And then I can go in here and for the time that it says here, I can say custom formula and I can also say, okay, please give me, um, the time when this triggered, and then I can add the corresponding days to it. Right? So I can say, okay, time triggered, dot, date add. I want to add 28, uh, days to this, right? We have the next, when it triggers, we have three more weeks already in advance with an entry, and it needs to put on the fourth thing, right? So, 4 * 7 in advance. And then we can trigger. So it will create a new entry at 8:00 a.m. in the future.
Now, if you also want the end time correctly, right? We need to make this formula a little bit more robust. We need to go in actually, like, just copy quickly, cut this out, and we need to set a date range, right? A date range allows us to specify a start date and an end date. And our start date will exactly what we have here already, right? The time triggered, date at 28 days. And the end time will be the same thing, right? Date triggered, date at 28 days. But then after we're done with the date add, we need to do another date add, right? We need to add again something to it, but this time not full days, but just the duration, right? So if you want to have a time block for 5 hours, you would put in five and hours and then close it off. And now, right, what happens is whenever this triggers, it will go 28 days in the future, uh, and create an entry from the starting time that we have set here, right, when it triggers, until the plus 5 hours in the end. Which means we have this rolling four weeks, right? So we, we can't again, right, go 3 months in the future and see our time block. We can have this rolling average kind of every four weeks, we have new entries fresh in our calendar with the correct time blocking popping up.
So now that we have sort of our idea of how we want to work with our time blocking, let's add one more layer to that and that's like an analytics view afterwards to see, did we actually do what we tried doing? In order to do so, we want to add a few more properties here. Let's go in there and let's create a new property and let's call this, you know, um, work. Perfect. Then, uh, we want to create two buttons here. Button number one will say start working. Uh, and this will work similar to, uh, the time tracking method that I already shared here a few weeks ago. I have it's linked also in the description. If you want to build, you know, dedicated time frame in Notion, you can go check it out. This is kind of a simplified version of it, uh, specifically for this purpose, right? I want to, um, start working and stop working. Just see when did we actually have this task in our template.
So what I want to do is when I go in and say start working, when we click this button, what I want to do is I want to set the, um, the time in this property. So I want to go edit property and I'll say work slot and let's set this to the time triggered. Perfect. Which means I can now click in here, right? And says like, okay, April 27th, right? 1:13 p.m. And now I can go in here, right? Will stop working. I can say, okay, when I click this, what I want to do is I also want to edit a property. I want to edit my work slot, but with a custom formula. What should happen is I want to go to this page, right? And from this page, I would like to get, um, the work slot, the start time, right? This is what I what I have in there. And then I want to also add the end time, right? Which is the current time. So in order to do this, right, we need to do again the date range, right? So I'm going to copy all of this out, right? And same as before, right? We're going to use the date range operator. Our starting time is what we have there actually, and our end time is then the time triggered. And now I can click on save and on save. And then we can wait a minute, right? And then we'll actually set this to the date range from 1:13 to, uh, 1:40, right? Because just a minute passed. But you get the gist.
This means now you can whenever you start work on something, right? You can click on your start working button. When you stop working, you click on your stop working button. And then we will create another view here. And I'm just going to duplicate this. And we're going to call this our, you know, worked or like retrospect retrospect view. And in here we want to show as our, we don't want to show it by time block, but we want to show it by the actual work slot. And you see it probably coming together now because we can now head over back to Notion Calendar, pull that view into Notion Calendar and compare, did we actually when we had set our work slots should happen, did that actually well, does it match, right? With the times when we actually worked.
In order to do so, let's go again, right here in our Notion Calendar. Click on the three dots, say add Notion database. We search for the same one again, right? Time blocking tasks. And now you see both of our views pop up here. Right? Before that, we had only one. So that pulled it in. We have our time of view already. But now we want the retrospect view. And now it will have that here as well. And we can add different colors for them. Right? So if I say, okay, this one, and I don't want gray, right? Maybe I want like orange to see how I actually work on these things. And you see this one task, right? I just started tracking already pops up here.
Now, unfortunately, one thing that I wish was a little bit easier is that I could rename them here in my sidebar, right? In the calendar. That would be a nice quality of life, cuz now you see it's both time blocking and then we just have like in slight gray behind it, the name of the view. H, but that's just something you need to live off for now until Notion changes it in the calendar. But so pretty easy, right? With that to now time block your week and then afterwards whenever you work on these things, start the trackers with the buttons and then see, okay, this is how you actually, you know, went ahead and did things.
Now that you know how to time block in Notion, you probably noticed one thing. Notion formulas and automations are incredibly powerful, but they can also be quite tough to learn. That's why I put together an ultimate Notion Masterclass. With this one, you'll become a Notion expert in no time and learn everything you need to know about formulas and automations, and it's completely free. Just click here and I will see you in a few seconds.
Notion is an amazing tool, but it gets even better with the right upgrades. I have been using Notion for more than 6 years, and I've built systems for thousands of people. So, naturally, I've collected a few favorites over the years. And in this video, I want to share with you 14 awesome tools that make Notion even better. So, let's dive in.
Kicking things off with number one, Spark Mail. Spark is just hands down a really great email client that happens to integrate quite nicely with Notion with just a few clicks. You can save any email to your Notion system. So, for example, here I have this email from, well, myself, and I can click on the three dots or I could use shortcuts to do this. Go to save to and then select Notion here and then I can, you know, add a few information if I wanted to. Otherwise, I just hit save and then over in Notion in a second, you see you are the best popping up here. I can open it up. Have all the context from it, right? So the actual, uh, information from it. I can open it in Spark. I have a deep link and the rest of the media information. So, pretty easy way, right, to get your emails into Notion. Of course, there are also more robust ways, right? More advanced ones that also pull, uh, over things in databases beyond that. And if you're curious about the tutorial there, I have a link for you down below in the description.
Number two, Morgan. Morgan is my go-to calendar recommendation for anyone who can't use Notion Calendar. That will mostly be the case because you use Outlook, right? As you know, Notion Calendar works with Google Calendars and also since a recent update started working with Apple. But if you're in the Outlook system, you're still out of luck. Morgan, however, is a really, really great alternative because not only do they allow you to connect pretty much any calendar software, but on the other side, you can also connect a lot of task sources, for example, Todoist or Notion, and then you have the same effect of being able to pull your Notion database entries into your calendar, right? Overlay everything, schedule it in one convenient interface, and then check things off. So, perfect if you're a time blocking fan.
Number three is Rows. Rows is the perfect Notion sidekick if you need some spreadsheet superpowers. Because as you hopefully know, Notion has databases, not spreadsheets. And that means some things they can do a lot better than Excel. Other things, particularly when it comes to certain math operations, well, not so good. Well, enter Rows. Rows allows you to connect to Notion. So you can take any Notion database and sync it in real time into your spreadsheet, which means whenever any change happens in Notion in your database, that will automatically be also updated in that spreadsheet and then you can do, well, everything that a spreadsheet is good for. For example, one of the things that you can't do in Notion, right, is to create a pivot table. You can of course do something with charts, right? So here in this example, we have max sales and then we can see we can have a graphic representation, uh, that tells me kind of the same information as if I were to create a pivot table, but of course, it's not a true one. With Rows, you can do that fairly easily, right? I have my synced Notion data here. This is the pivot table based off of it. I could now customize it and most importantly, I can go ahead and I can start sharing this. Right? So I can say, okay, please embed this. I can copy the embed URL. I can head back to Notion. I can paste it in here. Embed this. And [music] now I have, um, a pivot table of my Notion data, right? Living right next to my actual information. And since this is updated in real time whenever we make any changes over here, right, if new orders come in, our pivot table would also update.
Number four on our list is WhisperFlow. One of my favorite recent tool finds. Now, I already included Whisper in my recent video about my favorite AI tools, the personal text stack that I use over there, but it's so great and works so well with Notion that I have to have it here as well. Basically, it's dictation software, but really, really good. And it plugs into any tool that you use. So, of course, it works also in Notion. All I need to do is hold down the hotkey and then the transcription starts. It will automatically, you know, whatever I talk through [music] figure it out and then turn it into text on the page. Even better, if I make any mistakes, right, if the way I speak, if I accidentally say London instead of Moscow, also, and I correct myself mid-sentence, it will also take that into account and clean it already up. It's absolutely amazing, right? And I can't imagine working without it.
Number five, Tally. Tally is another one of my all-time favorites. It's basically the best form builder out there. If you don't have one in your company yet, well, I definitely recommend you check them out. And even if you have a different one, they are probably better and a lot more affordable. Basically, it's a Notion-style form editor that you can use to create forms and you can then sync them directly with Notion. They are also a lot more advanced than the basic Notion forms feature. So personally, for a lot of flows in my company, I still use Tally because Tally supports things like conditional logic or UTM parameters, things that are kind of hard to do in Notion forms. So personally, my split here is if I need something quick and simple, I use Notion forms, and if I need something more advanced, something that really gets the job done, it's Tally all the way. I actually have a video with a bunch of my favorite Tally use cases also linked down below in the description.
Number six is Super.so. If you need to turn something in Notion into a website and you don't want to have it look just like a plain Notion page, then Super is your best friend. It's basically a website builder that takes your content in Notion and turns it into a better looking web page. I recommend Super whenever someone asks me how they can add password protection to their Notion because with basic Notion publishing, you can't do that, right? Of course, you can invite someone with their Notion account and then they have to log into Notion with a password, but it's not quite the same as if you share certain content with them and you require them, right, to log into that specific page. For that, Super is really amazing. But keep in mind that it's best for static pages. So, it's not for client portals. For client portals, I have another recommendation later on.
Number seven, Circleback. By now, you might have noticed a pattern. A lot of the tools that I talk about do kind of the same thing that you can already do with Notion, but just better, right? For example, Super allows you to publish pages with a bit more, uh, options than just basic Notion pages, or with Tally, you can build more robust forms. Now, Circleback slots right in that list because it's really, really good at meeting notes. The basic Notion meeting notes feature is great and it's really useful if you're getting started, but particularly if you have your whole company operating system in Notion and you track tasks, meetings, and all the other things that happen in terms of business intelligence, then Circleback is unbeatable because it's really, really good at extracting the action items from your meetings and then sending them as specific database entries to Notion. Right? So you can make sure that after your conversation, meeting notes and the individual tasks pop up in the respective databases without you having to do anything.
Number eight, QR Codes for Notion. Now, this is a fun one that I actually built myself. I got into VIP coding a while ago and I started creating these Notion mini tools. And one of my favorites is this QR code generator because this solves a problem that I often have. Whenever I give a presentation or talk and I want to include a nice little QR code at the end, you know, as a CTA for people to sign up to my amazing Notion newsletter, I need to go through all these weird pages and try to find a good-looking one. So now it's much easier. You can go in here. It's completely free. You can, you know, enter whatever URL you want. You can pick any of the Notion colors, right? This is, uh, the same color that Notion uses. So, if you embed it in your Notion workspace, it will look really, really good. And you can even switch between light or dark mode. Then you can download it and copy it and have just a functional, simple QR code for free.
Number nine are two more tools that are really useful if you do anything around Notion or Notion consulting. These two are also a result of my VIP coding sessions and maybe they'll be helpful for you. The ROI calculator might come in particularly handy if you try to pitch Notion to your boss but have a hard time putting sort of into real numbers what the benefit of it might be. Here you simply put in, you know, your, uh, company, so for example, MF Consulting, and say we have 43 people, and you'll get a number on the potential cost savings based on some conservative estimates of how much time a better system might save you across knowledge, project, and meeting management. You can play around with this, right? Tell me that you're really, really good at knowledge management, but rather poor with project and meeting management, and through that, right, get to your final number, download a report, and send it to your boss. And of course, if you afterwards need help implementing Notion at your company, well, you know who to call and who to talk to. I'm happy to help you there. And to just touch briefly on the other one, the contract generator. If you are a Notion consultant yourself or you hire a different consultant and need a contract, right, you can use this to generate something based on my best practice template. You just fill in the information, add the scope, right, your financial terms, some legal details, and you can copy this contract as markdown, add it to, you know, Google Docs or Notion, and quickly have it signed. Of course, not legal advice. Make sure that you talk to a lawyer before that, but as an information and inspiration, this should do a pretty good job.
Number 10, Softr. Back to slightly more elaborate software again with this one. Now, I often get questions about client portals or how you can share, you know, a part of your Notion database or setup securely. And there's a lot of wrong and outright dangerous information on YouTube. There's pretty much no way to do this natively in Notion right now. What you need is a workaround that either involves syncing one database to another one. I have a tutorial for that below in the description. Or to use a third-party tool like Softr to build a front end on top of your Notion data. Softr is amazing for this. And I have a few videos where I walk you through building anything from, uh, you know, a public roadmap all the way to fully-fledged client portals with task management. So check them out if that's something that you're curious about.
Number 11 helps you spruce up your Notion pages. I'm talking about Indify. This one is kind of a trip down memory lane because when I first started using Notion, Indify was the coolest thing. Basically, it's a widget website that allows you to create fun little widgets and embed them in Notion. There are a bunch of them out there, but this is still, you know, my go-to one just because it holds a fond place in my heart. You get a bunch of useful ones for free. For example, counters, countdowns, and clocks, right? You pretty much see that in any beautiful Notion setup screenshot on Reddit nowadays. So, if I just want a quick one, right, I can have my clock default in here. Continue. I have a few setup options that I can choose from. And then with just one click, right, you can embed this in here. Right? This is a clock, but I could also go for an analog one with my numbers or these like nice minimal ones, right? They also sometimes add new ones. Uh, you have again, like limited customization options, but it does the job if you want to spruce up your setup a little bit.
Number 12, Atlassian. Another question that I get very often is, should I use Notion as a CRM? And the answer always is, well, it depends. It depends on your specific needs. If you need a lightweight CRM with basic functionality, you can definitely build it in Notion. But if you need something more robust, right, if you have a whole sales team and need more advanced go-to-market features, well, then probably something like Atlassian is your best pick. And I love it in combination with Notion because it shows the strength of Notion in a company very, very well. Basically, you can get started with Notion for pretty much any function in the company. And as your company grows, you might reach a point where for certain functions, you need specialized software. In this case, Atlassian as an amazing CRM tool. The good news is that you can then very easily sync your existing Notion data through automations to that other tool and still after your setup make sure that the core business intelligence flows back. Leadership can still see in Notion, okay, these are the number of deals that we have, or this is, you know, how much we perform here, but the team can start working in a tool that looks and feels a lot like Notion. And you really notice from the way that the team pushes updates that they really, really care about the user experience. So, another tool that I really love and that fits in perfectly into your Notion ecosystem setup.
Number 13 is another shared spot for Make, Relay, and Nadel. If you want to take your Notion setup to the next level, you will need automations. They make things so much more powerful. My favorite softwares for that are currently Make, Nadel, and Relay. And if you're just starting out with the world of automations, I would recommend actually Relay app because they're very simple to get started with. I will link to a few tutorials using Relay or Make down below in the video description and also to this recent blog article that I wrote about a few ways to automate your business using Notion and Relay.
And now for number 14, AI. I actually nearly didn't include Claude and ChatGPT, but they definitely belong on this list because did you know that you can actually use them to control your Notion? You can create tasks, set up whole databases, and even have it schedule your week for you. Here's a short tutorial on how to use that. Just click here, and I'll see you in a few seconds.
All right, now you've taken your first steps for single-player mode in Notion. Time to switch gears and explore how you can use Notion to run your company. Whether you are a founder gearing up to pursue your next big idea or you're already a team that's scaling up rapidly, this chapter will give you all the tips and tricks to turn Notion into a superpower for your team. Oh, and of course, if you need any help with these kind of systems, let me know. My team and I would love to support you. You can learn more about our work with a link in the description.
If you use Notion for work, you're sooner or later going to run into this issue. How do you manage recurring projects in Notion? Whether it's onboarding a new client, planning a recurring campaign, or reviewing the latest deal in your pipeline, you don't want to have to reinvent the wheel every single time and manually add all the individual tasks. So, in this video, I'm going to show you three ways to manage recurring projects in Notion. From the easiest one that barely takes 5 minutes to set up all the way to the most complex method that most of our clients end up using. Ready? Let's dive in.
To start with, let's quickly talk about what recurring projects actually means in this context. A recurring project relates to everything where you have one big container and then a series of tasks underneath that should execute or at least populate in your system every time you take on that project. In so far, it's different from simple recurring tasks, right? A recurring task might be something like at the end of every month, do the taxes, right? Or every Monday morning, write onboarding message or, you know, welcome message to XYZ. A recurring project on the other hand means that there's a whole lot of steps that always have to happen in that way. So the question is now, how do we preload [snorts] them?
And the first method that we're going to look at is the template method. That's the one that takes barely 5 minutes to set up, is super simple to get started with, and the one that I recommend you first implement to see how it feels before you move on to the more complex versions. For this, you need to have your general project management system in place. So, at least a project database and a task database related to each other. If you don't have that yet, then pause this video now and check out my guide on how to set up project management for Notion, the general one, or one of the specialized ones, the Notion for Business or Notion for Venture Capital setup guides. The example that I'm going to use here is from this Notion for BC setup. But again, basically all you need is a project database related to tasks. And then on this database, right? So you see this is our project entity. It is related to tasks. We have, of course, set up a database template already. So if I open up any of my entries in here, right, we have the usual effect of a dashboard where I can click into, I can see all the open tasks related with this one project.
Now to turn any of these into like a recurring project template, I'm going to go here and I'm going to take my new project entry and I'm going to duplicate it. That way we have now this new template and I'm just going to call this, let's say, a new due diligence. Right? So this might be a type of a project that recurs quite often for us. So we want to create a separate template for it. In general, the dashboard can remain the same. We still want to dynamically pull in all related meetings, docs, and tasks, but we want to set up a certain set of tasks, right, every single time this executes. Unfortunately, we can't just go in here, right, and create now new tasks entries. The way Notion templates works, right, is when the main entry gets applied, the related entries won't get duplicated as well, right? Because they live in a different database. So, if we were to create tasks right here, right? Task one, task two, task three, we would get these as entries. We can actually quickly do this and inspect it, right? Sort of like, uh, test task, uh, wrong, maybe something like this, right? Uh, and now the, what will happen is if we check our tasks, this will exist, but it will not actually duplicate when we apply this.
So how do we solve this? How do we get a new set of tasks every time this due diligence project is applied? Well, we just need to make sure that the tasks are part of the actual page that gets applied here. So, let's click into tasks. And then in here, uh, what I typically like to do, uh, or recommend to clients who set this up is that we first set up a toggle, right? Sort of like hide these things away. And we're going to call this, um, something along the lines of, um, default tasks. And then we might want to just apply, like, this light grayish background color to them. Right? That always, uh, I think is a nice visual touch to sort of deemphasize them a little bit. And we open this toggle. And now in here, we're going to write either a list of, like, an unordered list or a list of checkboxes, doesn't really matter, of the tasks that need to happen. So let's say when we have a new due diligence, what do we need to do? We need to, uh, uh, ask for, uh, access to, uh, data room. We need to review data room. And we need to, um, sort of like write the, the report, right? Let's just keep it a simple list of three entries. This is pretty much 80% of your setup already done.
And now what we can do is we can head back out to our projects. We can now go ahead and create a new due diligence project. So, right, let's going to click on here. Now, we have a new due diligence. I'm going to scroll down to my tasks. I'm going to open my default task one. See, we have this test task wrong, but this will be the same one every single time, right? So, if I, if I finish it, right? Oops. Let's not set it to done, right? Let's set it to in progress. The reason, so you see the reason why this doesn't work, right? If I create now a separate due diligence, this is, this is my second one. You see that the task that it has, uh, is shared across it, right? It's not a fresh set of tasks. So, not what we want. But back to, uh, the actual part, right? Let's delete this quickly. We open now the default tasks. And now all we need to do is take these three, uh, elements and drag them into our task list. And now just like that, we have a new fresh set of tasks. And after that, right, we can sort of delete this, uh, default task toggle.
Now, of course, this method is not perfect. It still requires you to whenever you have this recurring project, go in in the beginning once and set up the tasks. Right? You don't have to write them all out. So particularly if you have 15 tasks, right, simply dragging them in there will be a lot faster than repeating it, but the drawback is clear, right? Uh, you need to still do it. And the only kind of meta information that you have in this context is the name of the task, right? You can't say, well, ask for access to data room, that is always the job for Matias. Reviewing the data room, that's always the job for Jill, right? That's very hard, uh, in the system to, uh, yeah, put in there. So if you need to add additional context like that, then method number two will be the one for you.
Method number two will use the simple automation approach. So we're going to create a Notion database automation. And don't worry, even if you've never done this before, it's super simple. And I also have a full guide on both formulas and Notion database automations linked down below that you can check out. So the very first thing that we need to do here when we want to create a database automation is we need to have something that this triggers off of, because probably we don't want this to be applied every single time, right? We only want to apply it for certain types of projects. Again, let's take our due diligence example. So in this case, we need any kind of property, uh, to make this a bit easier, right? What I'm going to do is I'm simply going to create a type property here, right? So we're going to call this type. This will be a select. And then I'm going to, uh, change this to like, um, some shapes. That's my typical icon, uh, for that. And now we can create a new type, uh, for like due diligence project, right? Say, okay. When due diligence is applied, uh, the type that we want to set here will be, um, due diligence. Perfect.
Now we can go and click on the, um, automation icon and set up our first automation. So this will be set default tasks for due diligence. What's our trigger? Well, we just created it. Our trigger will be that when the, um, type is due diligence, right? So if the type is set to due diligence, then this automation will trigger. Now, what is supposed to happen? Well, whenever this project is created, we want to set up default tasks. So new action, add page to our task database, right? So let's go for, I think it's called VC tasks. Always need to see. Yes, that should be the correct one. So we're going to add this to our VC task database. Um, the name will be, um, get access to data room. And unlike in the previous one, right, we can now set any kind of property for this new task. So we can go ahead and say, okay, what I want is, uh, the owner of this task should always be Matias, uh, and the, um, due date for this task should be, um, sort of like X after when it has been created, right? So like, we get, we need to get this within the first week. So we're going to set a custom formula and we're going to say, okay, once this has triggered, right, date triggered, date add, and now we're going to add seven, comma, dates again, right? Formulas linked down below, um, and that's it.
Which now means whenever we create this project, it will automatically not just create this task and assign it to Matias, but it will also set the due date for 7 days later. And you can see how powerful it is because there's a lot of other elements that of course that you can influence and preset pretty much everything that you have, right? In this case, of course, since it's a demo setup, we don't have many more properties. It's a simple task management system, but you get the gist. Now, after you've set up this one task, right, you need to repeat the process for every single task that you want to create, which luckily gets a bit faster because you can simply duplicate a step. So, I'm going to click here, right? I'm going to say duplicate. So, second one would be, um, a review, uh, data route, right? Let's say that is a task for Jill. So, I'll send it to her and we will say, okay, that will be within the first two weeks that we need to do that. Then, we're going to duplicate this again. And, you know, sort of like write, um, review or what it was, and this one will be assigned to me again. Oh, maybe the page creator actually, that might also be interesting, right? Whoever, um, actually triggered this automation, whoever set up the new due diligence project, maybe they should always be assigned, whereas the other two might be, um, uh, people that have sort of fixed roles. And then we say, okay, that report needs to happen within, sort of like, let's say, 21 days. Perfect.
And then all that's left is for us to enable this automation. And now we can actually sort of like, can just create a new due diligence project, or we could assign the tag here to trigger it. Let's create a new one for this, right? So let's call this our, um, third due diligence. And then if we investigate the task tab, we will see like that in a moment, this will start to populate with the open tasks. These
Automations, why do they always take a moment to run? Anywhere between, sort of like, 10 to 30 seconds, and then they'll pop up in here. Actually, I just realized that they will not populate because we forgot one crucial step. Let's go back to our automation, uh, and just click on the one that we've set up. And now go back to the task, and that is the most important part here. We need to, of course, link the task that we create to the project. So, these tasks have been created in the task database but not been linked. That's why they don't pop up in the dashboard. So, I need to click on project here and say, "Okay, link the project to the trigger page, right, the new one that has come in." And we need to do this for every single one.
And now you already also see one of the big drawbacks of this method. While it allows us a lot more control over what we set up and how we do it, if we ever need to change something, right, it can be quite cumbersome because we need to remember the correct automation where we have done this. We need to go in, and then we need to update that list. So, if you have, you know, if you're the Notion champion for your team and you have a few recurring projects, then this is a great, very cost-effective method to get started. But if you want to enable your team, right, to build, uh, these kind of recurring projects, projects, or manage them once they are created, it can be a bit more problematic because you always need to go in here, right? And depending on permissions, people might not have access to update the database automation. Plus, there's not a lot of visibility, right? There's no place elsewhere in the workspace that tells you, "Okay, when we set this up, this set of tasks gets created." Of course, you can write it down somewhere, but then you always risk that your documentation in the actual workflow, right, gets out of date at some point. And the third method gets around it, but we get to that in a second.
First, let's test this again, right? Let's set up a new due diligence, like the fourth one at this point. Look at the task, and now see them populate. Right here, our tasks. They're correctly assigned, and we have the due dates assigned as well. Oh, and by the way, if you need help setting up your company workspace, then let's get in touch. I'm on a mission to build Europe's number one Notion consultancy, and my team and I would love to help you put down the perfect foundation for your team. You can learn more about our work with a link in the description.
Now, method number three is where it gets really interesting because it's the most scalable approach, for sure. But on the other hand, it also takes the most effort to set it up. So, you really only want to go there if you know, "Hey, that this is a process, right, that we want to automate, where we want to have it run always that way." If you're not at that point yet, right? If you're sort of still building out the business and like the type of processes that you do, or like projects change all the time, I would get started with one of the first two, right? To just test how it feels, and then once you run into the limitations and the frustration, then you can upgrade to method number three.
So, how does it work? Well, for method number three, we actually need to go to our back end and we need to create a new database. This will be the process database, and we're going to, uh, add it just right here, right? So, this will be a new, uh, full-page database, which we're going to call, um, processes, whatever it is. And in here, we're now going to set up, basically, the properties for the tasks that we need for our recurring projects that should be populated. So, one of the things, right, that we wanted to populate was the, uh, owner, right? So, let's create the owner property. One, uh, thing that we also would like to have is sort of the, the due date offset, right? You offset. Let's make this a number. It will become clear in a moment why. And, uh, for now, I think those two are fine. We could add a description as well if you wanted to, but, uh, let's keep it like that for now. Actually, we need again one more thing, right? Right. So, we need, uh, in this case, let's use a select property. Let's call this sort of like process, um, to indicate what this task belongs to. And in this case, right, I'm going to use, um, a select property. You could make this, of course, even more advanced by creating two databases. So, like process, process tasks, right, to mirror projects and tasks, uh, to like, you know, group them really nicely, but it will do the trick to just walk you through the approach here. Let's call this one view.
And now what I'm going to do is I'm going to go ahead and I'm just going to create the tasks now that should be spawned whenever a new project is created. So, again, right, um, ask, uh, spawn access to data room. We will get the, um, the new data room, and we will get the, you know, right, breeding task. And then we can set up here and write owner. Here will be Matias. Uh, owner here will be Matias, and owner here will be J. And then for the due date offset, right, this will be seven, this will be 14, and this will be 21. And in terms of the process, it's all the due diligence one. And now that is basically our setup.
So, why does this matter? Well, here's how the whole thing ties together. Whenever a new project is created, it will trigger an automation, an external automation, because Notion automations can't yet do this. Once they get updated to that, I will leave a comment down below, uh, and probably update a blog post so you know exactly how to do it internally. But for now, external automation, and that automation checks then whatever is currently in our process list and creates those as entries in tasks. And that has the huge advantage that you're sort of pulling the, um, the the thing that gets automated outside of an automation, right? This is just a Notion database, which means you can embed it into the rest of the system and create what I like to call living documentation. Let me show you.
So, here's sort of a sample documentation page, right, in our VC docs database where you outline and explain, "Hey, here's what happens." And you sort of write down your process, right? You tell like, "These are the things that need to happen." And then you can sort of like simply go ahead now, right, add, um, as a heading, you know, um, our process. And here, instead of just writing in text, "Hey, these are the tasks that need to happen," well, we just embed our task list, right, our process, right? So, we do a create link view of data source. We're going to pull from processes, and we're going to say, "Okay, and let's filter this, right, for, of course, only the ones that are assigned to the due diligence process." Which means the person who's responsible for managing the due diligence process doesn't have to be the same person who sets up this automation. Right? Once this automation is set up, everyone who has access to this page and is supposed to manage this can go in and be like, "Actually, we realized, um, 7 days, that's that's far too late, right? Like, it needs to be, uh, this needs to happen within 3 days." And actually, there's a fourth task, right? Um, and get everyone, um, research competitors, right? Uh, let's see that we also assign this to me, right? And with just two, three clicks, you've expanded what happens without having to touch the automation. So, it creates a lot more visibility and is a lot more scalable, right, in using it across your system rather than the systems where you have it hidden behind automations. That's why it's so powerful.
All right. Um, I just noticed while we were doing this one, uh, element that's missing that we should add to it when we take this, uh, approach, and that is of the order, right? Um, and that's, uh, just so we can make sure that tasks get generated in the right order always. So, right, this would be sort of, um, this would be number one, probably, right? This would probably number two, this number three, and this number four. And we can always sort this by the order. In orderation, we will make sure as well that tasks get created in [music] that correct order. And here we'll do like five. Perfect. The setup here is ready.
So, now, let's build an automation that actually creates these entries. The tool that we're going to use today to build this is called Relay, and it's one of my favorite automation tools. My go-to recommendation, actually, for everyone who's starting with automations. It's very easy in terms of the interface. AI is amazing within it. And that's why, right, we're going to use it here. Even though we don't need to actually embed AI in this particular one, but still, if you're starting with one automation tool and want to learn the ropes, this is the one that I recommend. But of course, this approach works just the same with something like Make.com or Zapier.
So, inside of Relay, right, link for it down below in the description. Um, we're going to create a new workflow. The workflow that we're going to call, uh, let's call this create, uh, need tasks. Um, needs a trigger, right? When should this happen? Now, I want this to happen whenever we create a new project in Notion. So, the easiest way to do this is by something called a webhook. A webhook is basically sort of like a wave, right, or a notification from one tool to another saying, "Hey, something happened." And in Notion, we can say, "Hey, Notion, please send a webhook to Relay every time a new project is created." So, this is the option I'm going to choose with. And we say, "Okay, unique URL for this webhook is this one." Hook Relay API. All right.
So, let's copy this for a second and head back over to Notion. And we still need, um, an automation in this case, right? But the automation just triggers the thing once. It doesn't do anything else. Let's quickly go to, um, our projects here. And let's set up a new automation and that says, "Okay, um, sort of like trigger the the process." And we say, again, right, "When the type is set to due diligence, then please send a webhook to." And now we can paste, um, that, uh, sub here. And we can say, "Yes," and we want to sec, uh, send all properties with it. Let's enable this and let's pause our other automation for a moment. And then, uh, let's head back over to Relay. And in Relay, we can now say, "Okay, please configure automatically." Right? This will help us read the data that Notion is sending. So, we're going to click here. Relay is now listening for one of these webhooks to come through. So, in Notion, we're just going to create now another due diligence. Right? This has to be our fifth one. Fifth, something like that. And then we go to Relay and wait for the, um, webhook to come through so it can take that information, right, and turn it into [music] structure for us to work with. And there we have it. You don't really need to bother with this, right? This is a JSON object. Uh, it can look quite intimidating if this is the first time that you're doing this. But again, for the purpose of this automation, all we need to do now is click on save and then here on done. Step one is all in the books, right? A new d, new digit has been created, and Relay is getting notified.
So, what want, what do we want it to do next? Well, we want it to look at our process database, right? So, I'm going to click on add a step. I'm going to say Notion, and instead of Notion, I want it to find pages in a database. I want it to find pages in the, um, uh, in the process database. Now, if you're using Relay and Notion together for the first time, you'll have to authorize Relay now, right? It will show you a little information. You will go through authorizing it, and then you need to make sure to give it access to the right database. In this case, um, since I have Relay generally already connected, all I need to do is make sure I have my projects, tasks, and processes shared with it. And to do so, I'm going to click on the three dots here at the top right corner, going to connections, and then need to say, "Okay, please connect this to the Relay." Right? Relay needs to be connected to this one. And then I'm actually just going to connect the back end overall. Like, in general, right? And just do this because this is sort of like a demo one here. We want to give automations always only access to the pages and database that they need to have access to. In this case, this will just speed things a little bit up. So, let's head back here. And now we should be able to, in here, find our processes. Let's see whether that pops up already. If I search for pro, and if not, we might have to wait for a second and refresh it. But yeah, that looks good. Back end processes.
Now, what do I want to return? Well, I want to return a list of matching pages. And then we can now set the filter, right? What is it that we want to find? And you can either write that filter yourself, or you can ask the AI, right, to write that filter for you, right? So, in this case, let's just, uh, say, "Okay, um, please, uh, retrieve all pages, um, where the type is set to due diligence, right?" What, what is that option? Like, did we, uh, label it like that? Let's just see how we spell that. Due diligence with caps. And generally, this search is case sensitive. So, let's make sure we set this up. Um, and you see within a second, it's one of due diligence. Perfect. Didn't have to do this manually. Now, if no option, uh, is found, right, what do we want to do then? Well, if no option is found, um, we want to still continue without a result. And then we just, um, say, uh, to not do anything. And then sort order. This is where our order comes in, right? So, we say, "Let, well, yes, I want you to order this by ascending so it comes in the right level." Last but not least, right, if you have more than 50 tasks in your set, then we need to, of course, update this and make sure that, um, this works correctly, right? You might want to change the limit, but in our case, we have just three tasks, so this is all good. Now, usually, uh, if we click on test step here, right, um, we'll be able to just like see, "Okay, like, what would come through?" And we see, "Okay, ask access for data room. There's currently one out of four." And these are the entries, right, that come through, uh, for having pulled that. Perfect. So, let's click on done here and think about the next step, right? And we can rename this so we actually know what's happening here, right? Find, um, relevant.
All right. What we want to do next, right, is we want to create those tasks. Uh, so we're going to click on plus. And the first thing that we need to do is we need to create a loop, right? Because we found a lot of different entries. And for every single one that we need to edit, we found, we need to create one. So, we say flow control, and then we say loop over a list. So, what we want to do is we want to list, loop over every item in pages. You see, Relay has automatically selected that for me because that's currently the only list that we have. And yes, we want to do this for every single one. Click on done here. And now let's add a step inside of the loop, right? So, everything that we add here will happen once for every entry. If we add something outside, it will happen once the loop is finished. Our step here will be again a Notion step. And we want to say, "Well, yes, please create a page in the database." The page that I want to create it in, right, is sort of like called VC tasks. Let's see whether it can find it. Well, and then inside of VC tasks, we need to, um, add our entry from the previous found step. Seems like sometimes takes a moment, right? Particular if you just started giving this access. I here it is. VC tasks. Perfect. And we see, uh, I could apply a template if I wanted to. But, uh, I can now just populate the fields. So, in terms of the name, I'm going to, instead of writing it in, right, basically what we did in the previous, the previous time, right, with the Notion automation is we just gave it the information directly in the automation, but here we want to pull from the other place. So, we're going to click either on plus or type at, and this will allow us to access the data from before, right? So, I'm hover over page, and we see all the information from here. We can pull here. So, I want to pull in the name as a name. And then, uh, in terms of the, uh, owner, right, I want to pull in the, um, from page, the owner. And then for the due date, we want to now create sort of like an, an offset, right? And we say, "Okay, uh, in terms of the offset, please, um, increase this based on what we have there." Right? Actually, we have to do like a calculation first for that. So, we'll, we'll do that in a second. Um, that will be a tad bit more complicated. But for now, let's just have name and owner. And then, of course, make sure we connect it to the correct project, right? So, in terms of the project, which project should it be? Well, it will be the project not from the initial patron, right? But it will be from the ID that we previously found from up here. And we actually also need to quickly find that before we go to it. So, let's just click on done for a second and then add in our two additional steps that we need in order to wrap up this step.
Now, to find a project, let's click on plus and then go to Notion. And then for Notion, we will, um, with again, like find pages in the database. We want to pick our, um, projects, right, that we have in the back end. And what we want to return is, even though it's a single page this time, I prefer always going for list of matching. Um, and make sure that we add a filter where we say, "Okay, let's search for the, uh, ID of that, uh, project." Now, the ID will be from our webhook, right? And we have it in our webhook in the payload in the data. Now, sometimes, um, if there's a specific field type, right, it will not show up directly here, uh, well, under other fields. And even though it tells us, "Well, this is a different sort of like, you know, type that we're looking for," we can still map it in here, the ID, and [music] make sure that it will find it. If nothing is found, right, then we want to pause the run in this case because that means that the thing that just called the webhook doesn't actually exist. So, someone probably created and immediately deleted it again. But otherwise, we're good to go. So, now we can say, "Okay, let's test this step." I'm just going to paste, um, that ID in that I have copied to make sure that we find something. And we see, "Yes, perfect. We find our fifth due diligence here." So, I can click on done. I can go back here and I can say, "Okay, under projects, I would like you to map to this entry, right, that we found under two." Right? This is the project that it should connect to. And then last but not least, the due date calculation, right? In order to do this, we need to do this in the loop, right? Because we need to calculate a corresponding due date for every single task. Let's click on plus. Let's go to utilities. Um, we need to do something with, um, the date. Oops. So, we need to transform data. The variable we want to transform is the, um, current, um, date. And what we need, what we want to do is we want to add to this, right? We want to, um, add to, uh, this, um, time. And the days that we want to add to this come from the page that we found, the due date offset, right? This will be, um, our, uh, calculation. And then here, what we need to do, I need to make sure that this is set to days, right? If we want a different one, we could do that here, but we want to have it be in days. And we go back to our create a page. And now we can also map the due date to our calculation. Right? The date that we can map it to is the one that we just calculate here. Say save. Say done. And that's basically [music] our setup. Right? If you just go through it again, when a new project is created, this scenario will trigger. It will find the project. Let's rename this so we know what it does, right? And find project. It will find relevant tasks. And then for each page in the relevant tasks, it will calculate the due date and then we'll create that new task entry and link it.
Now, let's test this, and then there's one more thing that we need to do to make sure this also works for different types of processes. So, we're going to turn this scenario on. And now we say, "Okay, let's start this when, uh, a webhook is called." Right? It will tell me, "I can't start this manually unfortunately because of the webhook trigger that is required." But no problem. We go to Notion, we create yet another, uh, due diligence, right? Sixth due diligence. And then we can head on over here to the run tab and we see, "Okay, something is currently running." Right? It just received the webhook and it's now going to create the pages. Right? Now, it's currently on step one of four in the loop. So, let's go in here. Let's look at the task and let's see. Okay, the first two have already been created. There's number three. And now number four should pop in as well in a second. Noticing one thing, what we already need to update, we need to reverse the order, right? Because right now, uh, they come in in the opposite order. But that's no problem, right? So, we go back here and now that all four are completed, right? We should have the fourth one pop up here in a second as well. And then we can go back, uh, into the editor and do two changes. First, find relevant tasks, right? Um, sort needs to be not ascending, but descending. And then the one other small trick that we need to make sure to have so that if we have several times types of recurring projects, they don't conflict with each other. So, let's look at find relevant tasks. Currently, we find it by due diligence, right? Which means no matter what project type comes through, it will always look for the due diligence tasks. That's of course not what we want. We want this to search for the option that matches what comes through from the project. So, under webhook payload data properties, and then type select name, that's where that information is, right? That's what we want to match. And now that means that in Notion, right, if we set up a different project type and different tasks in the process, then a different set of tasks will be created. I just did this right. So, I made sure we have a new template called exit project. I simply set, uh, changed the type tag. I made sure that our automation, right, triggers for both the due diligence and the exit project. And then of course, under processes, I, um, added two new test tasks. And that means now if we go back to projects and I create a new exit project, it gets a different set of tasks, right? This one gets now in a second a test task one and test task two, whereas the, um, due diligence ones, right, they get the other ones. And you see like how scalable this becomes, right? Because with you having set this automation up once, the team can now start editing and updating these processes directly in Notion. They don't need to have any idea of the underlying automation that is going on. And at the same time, you can pull the information from that, right? The things that are getting created into your documentation into the open to make sure that there's never a possibility that documentation and the actual, you know, process automation fall apart.
Now that you know how to create recurring projects in Notion, it's time to speed up your workflows. Notion AI is incredible at helping you get through your to-do list faster, but you'll need to know how to prompt it. My team and I have tested a lot of ways to make Notion AI better, and I recently published a video with our favorite six tips to make it work smarter. So, to take your Notion AI to the next level, just click here, and I will see you in a few seconds.
Looking to run your business in Notion? There are thousands of Notion tutorials out there that show you everything from building a habit tracker to a second brain to even an AI image generator for cats. But what about resources on how to set up a company workspace? That's quite hard to find. But you're in luck. In this video, I will break down the exact blueprint that you can use to build a scalable, secure, and efficient Notion workspace for your company. You start from a blank page, and you will end up with the best-in-class setup that's better than 90% of Notion workspaces out there. Ready? Let's go.
This is what we're going to build together. You will have a main landing page so that everyone in your company can quickly find whatever they're looking for. You'll have dedicated pages for your different departments. So that if someone comes to the marketing home, they will see, you know, what are the most relevant documents for me as an external person, but also for the internal team, right? Quick access to their main dashboard that will show them the OKRs, their projects, tasks, and docs, everything that is specifically relevant for marketing. You will also have a structured back end that will store all the data in your company, right, across a wide range of different things. And then when you go in deeper, you will have also set up different projects and dashboards that will help you, you know, get the most important information for that specific project at one glance. Last but not least, individual contributors will also have their own unique dashboard, which is different from the, you know, team dashboards and all of the other things because it is tailored to only the things that they need [music] to see as an individual, right? I see my tasks, my quick actions, my links, and so on. So, if that sounds good, well, then let's dive in.
First, we need to define the basic structure of the workspace using team spaces. Notion team spaces are basically containers inside your workspace that help you break everything [music] down and structure it. You can find them here on the side, right, under the team space section. I currently have one, or under settings and members, if you look at, uh, team spaces. Now, the way you want to work them is mainly to a guide people through the system, right? And help them quickly find the relevant information. And B, and that's even more important, to manage [music] access rights. Now, when it comes to initially setting them up, it can be quite, you know, overwhelming, but I wouldn't make it too complicated. [music] I would simply replicate your organizational structure in order. So, if you have a very small team, you know, something below 10 people, and you don't really have a formal separation in actually [music] you know, different kind of, uh, departments, and everyone takes on every role, then maybe you don't even need different team spaces. You might as well just have one HQ team space. If you have a larger team and you have actually, you know, different teams or departments, then it's a good practice to create one team space for every department.
Now, in this case, let's actually, uh, do just that. So, we will have our main one, and I'm just going to click in here, say team space settings, and I'm going to quickly rename this one to, you know, just HQ. And I'm going to, uh, add two more team spaces for two different teams. So, we want to have, okay, on the one hand, we want our, um, uh, we want Ops, right? And here we will go with the gear icon, and let's stick with the orange color for this workspace gear, uh, create that team space. And then we will create also, oops, a second one for, um, our, uh, marketing department. Now, when you set up these team space, one thing that you'll see, let's just get some, no, maybe this one here for for the marketing, uh, team. One option that you have while setting these up is these permissions. Open means that anyone in your team can see and join them, which is the default setting that you should choose when you create these team spaces that are, you know, just separating it into larger chunks. But you can also create a closed team space. That's very good for, uh, things that need to be walled off. So, for example, if you say, "Okay, my HR department, they have confidential information, no one else is supposed to see," saying that, legal, these sort of things. And you can create a completely closed team space for them. Now, if you're on the business plan, right, [music] then you can even create private team spaces that are not visible to anyone else because closed ones will still be visible to everyone in the company. They just can't join them unless they're invited. But for this case, let's just create two, uh, further open team spaces. And that's pretty much all that we need to do at this point. Right now, we have a bit more of a structure here. We can remove these default pages, uh, in there, cuz we want to create our own ones. But, um, that's pretty much everything that we need in terms of the team space setup.
Next, a boring but really necessary step that most people miss. If you want to run your business in Notion, it's really important that you stick to certain best practices. And one of them is proper access management rights. Now, this is not a very fun topic, right? It's quite boring to organize it, but it's really crucial that you get it right from the beginning because otherwise things will turn into a mess later down the line. The way this basically works, right, is whenever you invite someone to your workspace, you want to make sure that they have access to the right pages, to the right information, and to the right team spaces. And the biggest mistake that people make here is that they do it on an individual basis, right? So, if I go to settings, members, I can of course see, "Okay, these are the people." And I can now just add a member. And then I can go ahead and say, "Okay, this member is an Ops." So, I click on also on, you know, these three dots here and say add members. And I will invite that person here. Because the way team spaces work is that, um, you see under team space settings, this one is my default team space HQ. So, every new member will automatically join HQ. But for other team spaces, they need to be added [music] because those are not the default team spaces. Now, that is very cumbersome, and particular if you later down line, you now have 50, 60, 100 people in your company and you try to do this on an individual basis, it's a mess. So, what you need to do instead is at the very beginning, and again, you don't need to overthink this, uh, start setting up certain groups. And you need to have at least, at least two groups in your workspace, at least, uh, an admin group and a user, right? You can then further break it down and say, "Okay, I also want to create individual groups per department." So, you could say, "Okay, I will create also in this case an Ops team, uh, and I will create a marketing team." And it's often a good idea if you say, "Okay, you want only certain people to be automatically added to a workspace," then this makes a lot of sense. In other situations, you might say, "Well, even if you're not part of marketing, you should still be part of the marketing team space just because we will have, you know, some documentation in there that people should be able to quickly access." So, that's kind of, uh, a decision that's up to you, but you should at the very least, you know, have this user and the admin group. And then what you can do is you can go in and say, "Okay, uh, for all the team spaces, I want to make sure that I add members." And I will add, um, you know, in this case, let's say, "Okay, we add everyone to all, uh, spaces." So, I say, "Okay, all users should be part of Ops as a team space member, [music] and same for marketing, um, all users should be a member of marketing as a team space member." Now, unfortunately, you currently can't, or if you're on a, on a lower team plan, you can't add now, you know, the admins, uh, as the, um, uh, team space owner because that is only available [music] uh, on the more advanced plans, and not on the basic plan. So, those will need to be added individually to the team spaces, but we still want that separate group cuz we need them for some other settings down the line. All right. So, again, right, this doesn't take more than 2 minutes, but just take the time, set this quickly up, and then let's actually proceed to the first cool step.
Now, onto the fun part. When building a Notion workspace, it really helps to break things into two components: front end and back end. The back end is all about Notion's databases. You need databases to organize pretty much anything, whether that's a task, a note, or a lead in your CRM. The front end is all about dashboards and building the workflows for the people that use the company workspace every day. And here people tend to make two mistakes that really hurt them down the line. The first one is too many databases. And the second one is not properly utilizing dashboards. But don't worry, it's really not that complicated if you know how.
So, first, let's make sure that we have a solid foundation of databases to do. So, I'm going to go into a page in my HQ, my basic team sprints. I'm going to call this back end. So, I have one location where all my databases are stored. Going to give this a quick, uh, server icon, um, so we can easily identify it. And then this is the page in which I will create all my databases. Now, in the beginning, I will create them here as inline databases just so that we can quickly manage and connect them. But later, they will be all turned into pages and then be all stored here. And storing all your major databases in one single location in Notion has a lot of advantages. Most importantly, it means that you never need to go looking for information, and your admins know exactly where to put things, and yeah, lots of trickle-down, uh, effects from there.
So, the type of databases that you will have in your company, of course, depends on what sort of information you have to intact. But there are certain standard databases that will be present in most larger team spaces. We need one database for, uh, our team or team members. We need one for teams, so the individual departments in our company. We need one for maybe our OKRs or like any other type of goals that we are, um, you know, try to achieve. Then we need to have projects as larger components of our actions and tasks for the individual [music] day-to-day items. We need docs to store our knowledge. And then we probably need a CRM of some sort of like some place to store either people or clients, or maybe both. That's the basic structure. And of course, you can, you know, expand this from here and create, um, some Excel databases for events. If you have a marketing department, you want to do content separately, you could do that, right? Uh, easy to break it out and create more if you need, but this is [music] a very good starting point. So, that's exactly what we're going to create right now. I quickly went ahead and created these databases all as inline databases on this page. And true saw. Super simple, right? We just go somewhere, we type slash database, that pops up. We give it a name, that typically delete the tag property as you know that gets automatically loaded in, just so we have a clean slate. Just, yeah, do that quickly so that you don't have to watch me do that 10 times for other individual databases.
And now it's time to fill them with life. And whenever you set up your databases, you basically want to think, "Okay, what for this type of data, right? So, for a team directory, what is the type of information that I need to know about this? What do I need to record about it?" And, uh, that's your first go as the properties. And then you want to, you know, have a second round, uh, going through it and thinking, "Okay, is this information that I necessarily need to have as a property, or is it enough if I just have it, you know, in there?" [music] And we were going to do this, uh, you know, in in detail, the slow way, for maybe the team directory first, and then for the other ones, we can, uh, do it a bit slower. So, let's think about what are, what is information that you might want to have about your individual team members? You might want to know about them. Okay, what is the role? What team do they belong to? You might [music] need their email address. You might want to have, uh, a picture of them. And maybe if you're an asynchronous team, you want to have their, you know, meeting link to quickly talk to them. Then, if you further brainstorm, you might say, "Okay, it would also be cool to have like, you know, like a quick, uh, bio of them, you know, their their interests or their passion about." You're trying to build a, you know, better team culture, maybe like an interesting fact or something like that. So, that would be my initial brainstorm for properties that we might need for individual, you know, people in the team.
If I now go through it and think about, "Okay, what, which of these properties belongs, you know, which of these information belongs actually as a property, or which one can I just add as, you know, unstructured page content?" Really thinking about, "Okay, do I need to see this at a glance when I look at a database, and do I need to be able to filter by it?" Role, probably, right? Want to quickly scan and want to see, "Okay, is this an individual contributor or a manager?" Same by team, right? I want to have different views where I see only teams in different, yeah, people in different teams. Same for email, need to be quick, I need to quickly access that. The picture, we can use to display it, and the meeting link, we can also then just, you know, click quickly to go out there. But when it comes to bio, interests, and interesting facts, those are things that, uh, I really don't need to see on this main level. So, for that, we can just, uh, refer, you know, to the actual page body and later create a template for people to create it. So, that's again, quite a quick process to figure out how do I set up my database. And then it's as easy as going through here and doing exactly that.
So, let's add something for the role. And here we're going to create a select field, uh, which is, you know, either or. So, we can say, "Okay, let's just add two options for now." Let's add, you know, um, manager, and let's add, um, individual, uh, contributor. But of course, you can just like add a different roles in your team in here. Then we need a team option. And here we have our first connection coming up because we see we have teams already as a separate database. And [music] whenever that is the case, right, whenever you have some information on one database that is a data type somewhere else, you want to make sure that you don't create a select, right? You normally have a select here with a team, but instead, you want to have a relation to teams to allow you to pick that. And then later down the line, we can use that information to build automatic team dashboards. Really cool. So, we're going to say, "Okay, please relate this to, uh, the teams database." Show it on both sides, you know, and, uh, here we have, uh, we called this the the people. And then we, uh, add that relation. Now, one thing that is less of a, you know, utility thing, but really helps down when your team space in your database get larger, is to also during this setup step, think about the icons that you want to use because by default, right, it gives you this arrow for relation. And what I would recommend instead is to replace that with a default one [music] for that, right? So, a person would probably have an individual, um, person property, right? So, I look for the person, oops, and I will, uh, pick that here. And the teams would probably be several people. So, again, right, looking for people, and here I will, you know, give it maybe the, the three users, just to make it visually a bit clearer. Perfect. We have that. Then we will get quickly the email for that. We can just have the standard email property. And we need, uh, an image, which will be a file and media that we can upload. We can just call this, you know, uh, profile picture. Oops. No, I don't want to delete this. And then >> [music] >> um, the meeting link, which is another, which is a URL property, which we can call meeting.
Let's continue with teams. And for now, we actually only need a second property on here, uh, to indicate the lead. We can already indicate who works here, but we might also have one, a separate property that tells us who is actually heading this department. So, I create a new relation to the team directory. And this one, uh, will also show on both ends. And it will say on here, you know, it will be delete. And on the other one, it will say, you know, um, add. And if I add this relation, we see now we have the same thing. Just quickly, you know, we'll add a briefcase here to indicate that's the boss. And here, um, again, you know, this to indicate belongs to teams. And now what we could say, let's say I work with Rachel, uh, and Ross, uh, in this company. And our teams remember Ops on and marketing. [music] So, operations and marketing. And I can now say, in marketing, you know, um, Rachel, uh, and work, and Ross. And the lead here is actually Rachel. Perfect. Quick and easy.
Moving on to OKRs. On OKRs, we first want a status to indicate where is this, right? So, let's look for the status property, add it, and say, "Okay, uh, here we have like not started." That's perfect. Uh, but instead of in progress, I want, uh, on track, and that's supposed to be green. And I want, um, up track, and that will be red to indicate, um, whenever we work on them, you know, how's the current status. And then we have, um, done, and that will be, um, blue. But also maybe, uh, a second one, you know, um, you know, cancelled, to indicate, yeah, this one did not go through the way we thought it would be. Perfect. So, those are our different status levels for them. And then we want also a way to indicate when they happen. Now, there could, you could actually create, you know, a separate database now for all the quarters in your company, or the months, or whatever, you know, time horizon you have for planning, and then link them to the OKRs. But for this purpose, we keep it a bit simpler and
Say okay. We just do this as a time and we say okay, this will just be the quarter. So let's say okay, we have here, um, Q1 2024 and we have Q2 2024. And let's just create Q3 2024. And I can just say for each OKR, well, this is my option, you know, for Q2. So one could be here to, you know, let's say, uh, increase lead flow for Notion consulting by, uh, 20%. And that will be my, uh, OKR for the next quarter.
Now, one additional thing that I probably want here, the OKR has the ability to tie to specific teams. And we do that very easily, right, through a relation. So I set up a relation, say okay, this belongs to, uh, teams. [music] And here I want to have it on both sides. I want my OKRs and I want my teams. Add relation. And again, remember, we want to set up quickly our, uh, things. So here, if it points back to teams, we always use this emoji. [music] And if it points to OKRs, for OKRs, let's take the target that seems quite appropriate. And now again, what do you see how this is much, much clearer visually than if you have all these arrows going on all the time? So this OKR is for the, um, marketing part. Let's remove this. Uh, and then I think that should be pretty good for the OKRs. Let's check what my quick notes say here. What I wanted to set up there. Yes. OKR status, time, and team. Perfect. So that's it. Let's move on to projects.
Projects, first and foremost, also need a status property. So let's add the default status. And here I will leave it. Now, if your company has, um, very, very recurring projects that always happen in the same way, then you probably want to have your different stages in there. Let's say, for example, you're a VC company and instead of, you know, generic projects, your main type of projects is a deal, and a deal always moves through the same seven stages, right? You have initially [music] this like the prospecting phase, then you have like the further research, you have then, you know, like, um, a pre-interest round, you, you then do like a due diligence and so on and so on. Then you could create, um, probably a separate dedicated database for this type of project and then set up your statuses accordingly. But for generic projects, in your, just having this here is probably good enough. You might want to throw in an "in review" status, but otherwise, we are good to go.
Then we need a date property to [music] indicate the duration of this project. So here we say duration and, uh, we, um, add [music] it like this. And now we can could go in and say, okay, you know, let's, uh, add a project. Let's, uh, say here, okay, um, set up new, um, blah blah blah, um, work with me page. And that's a larger project. And this one will go from, you know, we have add an end time. So we say, okay, it goes from my May 19th until the 31st. That's how when we want to be done with. Now, project should have a responsible person. So, oops, let's add a person and call this responsible. And here I can now add, uh, me as one of the people.
Now, you might be wondering at this point, okay, um, why do you add a personal property and not just a relation to your team directory? Well, that's because unfortunately, or like unfortunately, currently Notion, uh, doesn't give us the option to, uh, automatically, you know, um, filter for entries here. Uh, whereas like, uh, when we add a person property, we can add one of the more use, one of the most powerful filters in Notion, that is the "me" filter. So you see, I can say responsible contains me. And this is now dynamic. That means if someone else logs in, they will see all the tasks or projects assigned to them, and it will make it a lot easier for us later down the line to build dashboards automatically. So, um, wherever we assign these things, we should have the responsible person. And then for whatever reason, we also need it to be related to the team directory, then we need to actually use third-party automation to that. In that case, what we would do is we would add here, uh, actually a person over property as well and call this, you know, Notion account. Then we can assign the, uh, Notion account over there and, uh, can then use an automation to say, okay, whenever, um, this person's tagged like that, create automatically a relation between these two entries. That's a bit too in-depth for this tutorial, but if you're interested in that, let me know below in the comments and I'll set it up. It's particularly useful if you want like more in-depth analytics, uh, for the team, see who works on how many tasks and so on. But for now, let's continue with this.
So, okay, we have our duration, our sponsored person. We probably want to see what team that project belongs to, right? Uh, so, let's create, um, a relation. We have two options here, actually. Um, we can Oh, no. Let's, let's do the, this one. Yeah, let's say the relation and we can relate this to, uh, team and then say here, okay, this is the team that this project belongs to, and these are the projects of the team. So, again, we will say for our team, we have the, uh, people icon. And for projects, what icon are we going to use? Maybe we want to use the, uh, the globe to indicate what we're trying to achieve there. Perfect. So now we can also say this is part of the, um, marketing team. And pretty much, uh, done, I think. What else did we have here? The team docs and client and customer. So, uh, projects, we haven't looked at docs yet, but, uh, when we have knowledge, we probably have them at some point. SOPs, right? Relevant brainstorms, a lot of notes, and we want to be able to quickly reference them on our projects. So, again, we create a relation to our docs database for later and say, okay, please show me docs and please show me a project, uh, down here. And for docs, we will have the paper icon later down the line. [music] And, uh, that's that. And then last but not least, I, we had the the client. So our connection to the CRM. Now, this depends, of course, on the type of business that you have. If you are a service-based business or like an agency or consultancy, um, like my business, then you have mainly clients, uh, and you want to link probably your projects to specific big ones. If you have something else, right, you might have a different name for this, but let's just quickly set it up as well. So, our relation to the, um, CRM database, show on both ends, have this. And then for here, uh, let's take another people property. In this case, let's say actually this should be the, the two people, or maybe it's the, the profile, actually. Let's take the, Oops, I like the ID here. Perfect. All right. So, that's our basic setup for projects.
Now, let's continue to our tasks and go through the same motions. Now, if all of this feels a little bit overwhelming, or you need more help because you just don't have the time while running a company to set this up, don't worry. I'm here to help. One, you can just download the free complete template for this whole setup down below in the description. And two, my team [music] and I, it's literally our whole job to help companies and startups across the whole world to build better systems and save a ton of time using Notion. So if you want to work with me and the team, then just, you know, go to the website and then under the "Work with me" section, you can send me an inquiry. Alternatively, you can also, you know, reach me through email, LinkedIn, Twitter, wherever you are, just send me a message and we can see how I could best support you going forward.
On tasks, we also first and foremost need to indicate are they done, are they not done. We could, of course, also here use a status property to indicate that a bit in more detail, or we could use a simple checkbox. Now, most of the time, I would recommend going with status. Even if you, uh, say, okay, my tasks are always either done or not done. I don't need "in progress" because they're not like big entities. But what you can always do, you can always say, okay, show this as a checkbox. Uh, and then you still have the options if you later need them because you, you know, want to increase the complexity of your build. But and that way, yeah, you're just a bit more, you know, forward, uh, thinking. One thing that we can do is we can actually replace this with, um, a check mark and then make this super, super narrow. Uh, and if we wanted to, we could, uh, move it later to the front in certain views. Um, but for now, let's leave it here. Perfect. So, we have our checkbox to indicate whether that's done. We need, uh, a date that indicates the, uh, due date. We probably, or definitely, need a responsible person, right? So, again, a person property and call this responsible. And we want to be able to connect our tasks to projects. So, let's create a relation. Let's relate this to projects. Show the project. Uh, this has always only one. Sure, it's correct. And for our projects, where we picked the globe, and for our tasks up here, we said we will pick later the checkbox. Perfect.
Now, what we can say is, okay, for setup, what do I need to do? The work with me page, you know, um, [music] write copy, uh, get a new headshot done. And maybe a third, uh, task is like, set up Tally. Uh, perfect. All of these three belong to the project. So I just mark all of them and I say, project belongs to the setup, um, work with me page.
Now, one cool thing that I can do is I could, of course, like now manually say, okay, please link these tasks also to a team, but I don't have to. Because tasks will probably always be related to a project, even if it's like a catch-all project, right? You can just create catch-all projects for tasks that don't have a dedicated one. And what we can then do is just pull in the, uh, uh, the, um, team based off the project it's assigned to. And we can do that through a rollup. So, let's create a rollup and call this, uh, team. And let's just give it the correct icon, right, so that we're consistent, uh, throughout the workspace. And say, okay, please look at the project relation and please pull in the team. And now we see, okay, amazing, this is pulled in for the correct team. And we could do the same now for the client, right? If you want to, for whatever reason, later be able to filter tasks per client, we could go in and say, um, oops, another rollup, uh, let's call this the client, um, get the, uh, ID icon. And again, say project. And please show me here the, um, CRM entry. And the original. We, of course, don't have a person signed there. But let's say, uh, this is like, you know, okay, this is an internal project. But let's say I'm actually doing this for Steve Jobs. Uh, he really needs a new work with me page. And now I see, okay, all of this belongs to the client Steve Jobs. And you see already the magic, right? We don't have any front-end built here, right? This is not the way that we want to later interact with the data, but it's really cool to see how everything starts to be connected and tied together.
Just one last thing, of course, also for tasks, we need docs. And here I will create a unique relation to docs because I want to probably assign different docs, uh, to the task, not necessarily always just show the ones that are on the project level. And say, okay, please, uh, add that relation. And again, write, uh, just take the paper here. Now, just like a quick side note, right, with these rollups, um, that of course means that you always show the same thing here as on the project level. There might be situations for other information, right, where you need to do it manually. For example, let's say you have a location-based business and [music] you have, um, certain tasks, and then you have projects, but they have might have, you know, like, tasks might relate to different locations, not always the same as the project. In that case, you need to then create a relation to locations instead of this rollup and then manually assign it. But whenever you can get away with saying, okay, tasks will always have the same team, the same client as a project they belong to, rollups just save you the click and make it a lot more scalable.
We're making great progress here. So, let's see for docs. First up, we're going to make sure that our icons are correct. So, let's take the global projects. And for tasks, let's take the check mark. And then let's make, uh, sure that we have also here status. That's something that's often, uh, overlooked. Do docs probably are not always automatically finished, right? So you also want to make sure that you have this mini project management built into your wiki system, into your company wiki, to be able to say, okay, this is, you know, currently drafting. Actually, to rename that. So like instead of "in progress," we're going to say, you know, "drafting." And we're going to add here, certainly, um, like an "in review" property to make sure that if you have certain documents, you know, that need to be reviewed before they are, uh, done. And then we have a perfect.
Now, another thing that we need on them is we need to have, um, a valid until property. So, let's add a date property and let's just call this valid until. And that way, whenever someone creates a, a property or document, they can, you know, say, okay, this is, you know, I said like, this will be valid until, you know, June, July 31st. Then someone else should have a look at it. And that way, you can quickly just guess like when someone looks at it, see whether they should check in with a responsible person or not. You can, of course, make this a lot more fancy, but I have a different company wiki [music] uh set up where you can do it all automated through task and I, uh, so sorry, through formulas and inputs. [music] But here, this is a, a good, u, um, solution for to begin with. We, of course, need also again a person property to have the responsible person. And then we probably want to link our docs to teams. That way we can later create team-specific pages for all the docs. So again, set up relation, relate this to our team, show on both sides, uh, add the corresponding icons for teams, multiple people. And then on teams, uh, towards the top, uh, here, where are we? There we are. Docs, they need the paper. Perfect. Anything else I wanted to create on docs? Status, responsible, tags, and teams. Ah, tags. Let's add on docs, uh, on docs. Yeah, two things, actually. First, a select property to indicate the type. So, right, you might have, um, a brainstorm, you might have list notes, you might have documentation, uh, SOPs, reports, and so on, right? Like whatever type of documents you work with, create them here, right? Uh, mutual notes in case you don't have a separate database for them. And that way you can then quickly indicate what this is about. And I would really recommend to have, you know, not a lot of different doc databases. There's an argument to be made to have meetings outside, but for most other documents, I would really recommend to have them all in one place. And then just use [music] these tags to indicate what they are about because that way it's much, much easier to later down the line find the knowledge and create this like, you know, single source of truth for your company. Let's just say, let's create actually some docs. Uh, so let's say, okay, um, how to upload, uh, social, like a, uh, link and post. Um, how to, um, produce, uh, YouTube, um, oops, video up here. And last but not least, um, brainstorm content, content Q1. And then we can just, you know, go in there and say, okay, both of these are SOPs. Uh, if we wanted to, we could make the tags, uh, more fun by saying, going in there and saying, okay, let's add a gear, right? Okay, this has nothing to do with Notion for business in particular, but helps sometimes, you know, make things just visually more interesting. And the brainstorm is, of course, a brainstorm document. We can then add it to certain projects. So, let's say, um, the, uh, you know, for whatever reason, the brainstorm content that was really relevant for my work, uh, with me page. Um, and the person responsible for this is me. [music] And all of them belong to the marketing team. So again, let's just go all of them. Uh, say, okay, um, here, let's edit the, um, teams property and all link to marketing. Perfect.
That leaves us with only one last database, the CRM. And here we can again just add some very simple properties. Let's say also here we need a status, right, for, um, uh, the people. So this will be here, in this case, like to-do, in progress, complete. It's not perfect, but we can just ignore this. So this will be, you know, like a lead. This will be, um, angle creations, um, and this will be then here we have either one or we have, um, lost, or a very, very simple, uh, CRM, uh, setup. And of course, we also need a responsible person, uh, on each of them. Person and responsible. Uh, and, uh, yeah, then I think we are good to go for now. Projects, of course, need to be, um, with the correct action. And there we have it. We're not fully done yet, though, with our back-end steps. We have our, all our databases set up with, like, the core data, and we've added some sample data so we can quickly see how it would actually look like. But one thing that we want to do before starting building the front-end is to set up the main views on every database. As you know, in Notion, you can look at things in different ways. So, for example, for the teams, right, we have this table, but maybe somewhere else, we just want it as a quick navigation thing. So, one thing we could do is we could create a gallery. Now, the reason that we want to create these main views here on the main database is that they will be reusable. So, let's say, for example, um, I have this team database and I want, you know, this just this quick way, uh, of using this as navigation. So, I'm going to say new view. I'm going to pick the gallery and I just call this, you know, um, uh, team nav. Uh, I will actually change the icon to the tears, uh, thing, and I don't want to see the database title. I don't want to see page content. I just want this very minimal card. I don't even want to see any other properties. And then I click on done. And now later, if I go somewhere else, let's pretend this is a different page, right? I can actually create a different page. Uh, test. I can now say, okay, uh, create link to database and I can pick teams and I can say, give me the team nav, right? This is now available to be pulled in here. And that just saves me a lot of time later down the line, you know, building out these views here once on the main databases because if I need to use this nav view, you know, on 10 different locations, I don't have to set it up 10 times. So, let's quickly do that. So, for, um, teams, that's pretty much the one that I want, right? I want to have the team nav. [music]
Now, in OKRs, um, I want to again, like, have it probably as a table, but I definitely want to have, um, one view again where I have this like, you know, gallery view. So, let's just call this, uh, gallery. And for OKRs, um, our, uh, icon was target. Um, and then here again, right, we want to, don't see the database title, going to have this gallery, uh, no page content, just, um, this. And actually, on this one, I, when I have this, I always want to see the status quickly to make, you know, sure to be able to check where that is. Now, again, how deep you go with these views really depends on on what you need, right? Let's say, if I have a ton of companies, like a ton of teams, one thing that might want to do is actually create a separate view that is, you know, broken down per team. So, then I would say duplicate and I call this, you know, by team. And on here, I would set up now a group and say, please group this by teams. So I see, okay, exactly which team has which, uh, OKR. So, if I have a, let's just set up a second for ops, um, you know, um, let's say document, um, our core value engines. And this is again another, uh, Q2 project. And it is in, um, in operations. And now I see, if I look on my by team, I have one for operations and one for marketing. And actually, this should always, um, be hidden. Perfect. Again, but you can take it a few steps further and then break it, uh, down even more. You can already preset certain filters. So, uh, here for OK, it probably makes sense to have this option to quickly filter for a specific quarter. So, I'm going to say, uh, give me this quarter filter quickly accessible here. So, I can just flip between different quarters if I need to on the later, um, dashboards.
So, let's go through the other databases and set up just some of the most essential views that you want to use over and over again. For projects, you definitely want to have a Kanban. I'm going to create this Kanban view. And here we will take a board. Again, we don't want to show the database title. Uh, card preview none. It's correct. Now, one thing that I didn't, don't like very much that Notion changed it that way is now when you create, you know, a Kanban board, by default it has, uh, it's hiding all empty groups. And for a Kanban board, that's not good because on a Kanban board, I want to drag things between columns, right? Even if there's nothing in there. So, you need to go into group by status and then say here, hide empty groups. No. But what I want to do is color them, just to again create some visual interest. Perfect. So, now we have our simple Kanban board there. And now I can choose the properties that I want to see on them. Whoops. Let's just click on them. Uh, and let's say, okay, the properties, what I want to see on this view is for sure the, um, the, uh, responsible person, the duration. And then I'm just realizing I forgot to create one property. I want to have a progress indication. So, on projects, I want to be see, okay, how many of my projects and my tasks are done. So, let's just go in here and create a quick, uh, formula. The reason I do this with a formula, not a rollup, is because we have a bit more flexibility over how we show it. So, let's call this progress. And let's say, okay, please give me this neat little progress indicator. And the formula will be to say, okay, go into tasks and don't worry if you've never written formulas or are confused, can of course find all these formulas in the blog post or in the free template that's linked below. So, tasks dot, um, the, um, filter, we want to figure out how many of my tasks are done. So, we say current, um, status, uh, is, um, none that. And of that, I want the length. Now, I can just quickly check that this, uh, works by saying, okay, you know, if one of them is checked, uh, does it work? No, nothing happens here. So, let's see what did we do wrong. I, we forgot, uh, this here, and I spelled length wrong. So, let's spell this, oops, correctly. Length. And then let's click on done. And now we see, okay, zero. If I check one off, it should be one. Perfect. Now, there's, of course, not progress yet. So, we need to actually divide this, um, by the, uh, tasks dot, uh, task.length, right? So, by by all tasks, uh, and if I do that, I now get the, uh, you know, percentage. I can then actually go in quickly and say, okay, please add this property, show as a bar. And [music] the number format will be percent. That's great. But, and now you see also the problem that happens with the rollup. If you do it, you have this like very, you know, long number. It doesn't auto-round. So, we can, uh, though, uh, do that for us. So, we will just wrap the whole thing, um, with some brackets and then say, okay, multiply by 100, then, uh, we round it, and then divide it, and that way, um, by 100, and that way we get our needle 33%. If you want more numbers there, we can just add zeros, and then we have a perfect, nice, clean progress bar. Now we can go to icon one and just turn on this property to show it here together with the other information of progress. Please show it here. Perfect.
Let's add some more views because on projects, we also probably want to have this quick, uh, option. So, let's say gallery, uh, projects, n. And let's say again here, card preview none. Uh, card size is correct. Don't show database title. Just want to see that. But I want to filter it. I only want to see, um, the current projects that I'm working on. So, advanced filter and say where the, um, status of the project is "in progress." And that way, whenever I load this, right, I only have these ones and none of the others. So, it's actually set this one project that we have here to "in progress," and then it will pop up here. Um, again, quick thing that I forgot to mention on the Kanban, I also want to set up a filter because I want to make sure that like this "done" column doesn't fill up, right? Otherwise, if you don't set up a filter, at some point you will have hundreds of projects finished, hopefully. So, for that, we actually need one more property that I didn't add in the beginning, and that's the "last ended time" [music] property. Now, to be honest, you probably actually want to have a "last" property on pretty much all databases because it's super useful to sort by most recently used. Um, in this case, it also helps us to build a filter where we can say, okay, please here, um, make sure that you don't show things that are, um, done. So, is not, um, complete. Or let's turn this into a group, um, where the, you know, last editor time is, um, um, on or after one month ago. And that means, or like one week ago, depending on what you want. That means I can now drag this into none, it will still show, so I always see my most recent projects that I finished. But after a month of not, you know, modifying anything with this project, it will disappear here. So it automatically, you know, cleans this backlog and doesn't clutter it up. Really, really useful filter for Kanban views.
All right, perfect. Now, uh, just one, or two more things. Um, we probably want to have a view for "my projects." So, I will actually take this Kanban view, um, and duplicate it and say, [music] call this "my Kanban." Not sure why Notion currently selects this whole thing. Ah, there goes the way. Perfect. And on my Kanban, let's actually, um, you know, use the, um, the, the emoji here. I think we have like, what, if I recall correctly, of columns, fun button, there's like a, you know, pillar, uh, column. Ah, there, yeah, there it is. Perfect. Uh, these pillars. And here, set a filter where we say, okay, only show me the, um, you know, on top of this, only show me things where, um, the responsible contains. You see, there comes this "me" filter in because this can now be used for pretty much everyone's individual dashboard later down the line. And make sure that it only shows the, the project that they individually are responsible for. We could do a lot more views here, but let's [music] move on. But you get the gist, right? The views that you already know that you need to use later in your build over and over again, set them up here. And if you forget them, actually come back and add them there instead of like, you know, creating a separate, uh, link view. Perfect.
So, for tasks, uh, what we definitely want to do is, um, we want to have like, you know, um, open tasks. So, let's just take this check mark and let's call this, you know, open. And database title is not shown. Perfect. Let's click on done. Now, one thing we could of course now set, create an open and my open, right? So for like the general team and only my open. But here for tasks, most of the time they will be on the individual level. So, let's actually already set up this rule where we say, okay, where responsible contains, um, me. Now, that of course requires people to always put in, uh, that they are responsible. And sometimes in a larger team environment, that won't work because, you know, people sometimes are lazy, they don't fill everything out, and then they wonder why things don't show up in the correct views. So, it's best practice, you know, if you set up these workspaces to account for as many of these edge cases and make sure that for users, right, it feels just very, very smooth to do that. So, what we actually want to do, we want to go into tasks and create a new property. We want to create this "created by" property. Again, just a back-end system property, gets filled out automatically by who created it. And we want to hide this in the view. We don't ever need to see it. But here we can now say in our filter, okay, please, um, let's turn this into a group and say, show me all tasks where I'm responsible. All the ones where no one is responsible, I created them. So where, you know, responsible, uh, is [music] empty and the created by contains me. And now you see we have exactly that situation, right? Uh, all of these tasks, I forgot to set a responsible person, but they still show up now here in the system. And it's, you know, fully dynamic. Whoever opens this will see the tasks that they created and didn't assign to anyone. So that way you don't have this issue. Now, of course, we said open, so we need to also like add another filter and say, and of course, where, you know, status, um, is, um, actually not where status is not, um, complete. Perfect. And then we get this app-like experience where we can just tick tick tick something off and it disappears. And you see actually the progress here just jumped. Let's just duplicate this and also have our, you know, uh, uh, tasks. So, uh, because often times, uh, if in video, we hide them automatically, right? We want to have a way to see the ones that were recently finished. So, we say, okay, status, uh, actually, um, is perfect.
Now, just two last things, um, on the, let's also create this like "last edit" property on here, right? So we can like sort by it because now what we can do in on the open view, we probably want to sort by, um, the due date [music] um, ascending, so we have our earliest task, tasks that need to be done next at the very top. But for done, we want to sort it differently. For done, we want to make sure that we have the last edit time descending. That means the things that we finished last will be at the very top. Yeah, minor things that you can always adjust, adjust these views to how you work. That's the beauty of Notion. But these are some very typical settings that people like to have on their task manager. Ah, before we move on, let's actually make sure that we format these nicely and only show properties that we need. So, let's actually get, you know, this check mark to the front. Then we get this like nice effect of having a checkbox at the very first thing. Then this is fine. This is fine. Project, want to see, um, the team. We actually probably don't need to see when, when, you know, if we assume this is like the individual's person list, client, we might also not want to see docs. We can leave, but we definitely can hide these two properties. And now, you know, the whole thing, uh, is a lot cleaner to look at and also fits on a smaller screen. And then we would do the same button. So, this is how you would adjust them. You can, of course, like create a minimal open task where you show only very few properties and an expanded [music] one, but that I leave up to you and how you want to set up your system.
So, let's just quickly go on docs. And on docs, we probably just want to have, uh, two things. We want to have one thing for, you know, "my docs." And here, uh, I will just set up a filter where we say, again, right, we have a responsible property, so we need to have the same fallback. So we create, have this "created" [music] "create time" property, but the, um, "created by" property, t in the view. And let's set up our filter on "my docs" where we say, okay, um, let's make sure that, uh, you know, either responsible, um, contains, never pick your name, right? So that automatically gets adjusted to whoever is logged in. And, um, oops, another group where we say, um, the, um, responsible is empty, but [music] um, created by contains. Perfect. And now we have this thing for where everyone can see the docs. Let's just add like a quick, um, you know, icon here, the page. And here, um, what we probably want to sort by is, um, again, last edit date. It's edit. That way we can say, okay, please show me the documents, you know, I used last, uh, at the very top. And descended. Perfect. We could, of course, then also, you know, create a Kanban to track the status of our, um, documents, but let's leave it at that because this video is already getting long.
Last step, when we are happy with, you know, how we set everything up, uh, in general, we can just now turn all of them into a page. So, by doing so, we just click this. Then we go here and set the correct icon, right? For our individual people, that was person icon. And then I'll go quickly through all of them. That way, we have now this much cleaner look, right? We can just say, okay, these are my, um, databases. U make it bold and quickly underline it with, um, divider. Much, much neater way to organize your back end. And then we can, of course, like still go in, right, and edit things, but it makes it not just for the initial setup easier to have it all on one page.
Now it's time to build our main dashboard. To do so, let's go to HQ. Click on plus. Let's put this up here and let's call this. Oh, then we can add an icon. And then we can start building this page. Now, in terms of your homepage and the main landing page of your company, the way you want to structure it really depends, uh, on what the main purpose is supposed to be. And generally speaking, you have like one of the purposes for this page. First, purely navigational, right? Just like one place where people can quickly go to all the other, uh, spaces in the Notion workspace where actual work happens. Or second purpose, you can already introduce some workflow and, you know, dashboard elements on here. Now, I would be careful with doing too much of the second run. While it's very tempting to throw on all the information you could possibly have on here, usually it's much better to have like a clean and simple page. So, if you know people that open this up and navigate to home can actually use it to quickly go everywhere, and [music] you can always, you know, um, pin your, um, actual workflow pages, the dashboards, uh, to the sidebar's favorites, so you can still quickly access them. So, let's for this one focus more on this purpose of navigation. From up top, let's just create a call out and let's say, you know, okay, we have here, um, the, uh, like quick info box, right? Um, welcome to, uh, the Notion home, or, you know, company, whatever, uh, it is that you have here. Make this maybe format it a bit nicer and say, okay, the, our text color will be orange to keep it themed with everything else. And then [music] we, uh, create below this, like path between columns for quick actions. Now, on the one hand, we can say, okay, let's, uh, do the, um, maybe the, let's say we have here, um, main, uh, pages. And over here, we have, um, no, main databases. And then let's just add some dividers here. Uh, and then we can start linking things. Now, we don't have main pages yet. We'll have them in a moment, but we have already main databases. So, we can start now using linking to them by using the add command. So, if I press add, I see I can now look for things and I can say, okay, let's show you here, you know, my, um, [music] different things. And let's link here to, you know, the team directory, let's link here to teams, uh, let's link to pretty much all the databases, right, that we created previously. OKRs, um, our projects, our, um, tasks, our, what else do we have? The docs. And then last but not least, daily, um, uh, CRM. And that way, right, people can just very quickly from here jump to the, uh, corresponding database that they're looking for. We will later, of course, add here the main pages for the workflow elements to do that as well. But for now, let's actually just, uh, keep going and say here down below, let's, uh, you know, say, okay, here our, you know, um, team, um, amazing player. Divider again. And here, create now a linked view of database. And here we will pull in our, um, team database that we have. And remember earlier, we created this like team nav. So, I can now just click on it, it pulls it in, and I have it here. Now, one, uh, tip from my also 99 Notion tips video is, if you want to have very clean looks here for these, what you can actually do is you can go and rename. You can just add a space in here. And that way, you don't, don't have anything other than the icon. And that can be really nice if you use already a heading that you know tells everything that you need to know about entry, then you don't need to double the information there. [music] Again. All right. So, we have that. And then, uh, last but not least, let's add something here below, you know, like, uh, create a help question mark. Again, particularly in the beginning, when you roll out a Notion team space, uh, or like a Notion workspace to, uh, a new team that is not used working with that, you probably need to, uh, give them some resources, how they can get some help. So, let's just, you know, go for the question mark here. Um, and say, okay, uh, need, uh, so, uh, here's how you can get, you know, support. Uh, let's take this, make it bold. And then below that, we can just pull a line in here that allows us to expand this call out. And now we can just like list out the contact details of the person they should contact. So, maybe we have a specific person, right? So, let's actually create a column. And then we can here, like an image placeholder. And on here, um, you know, Matias, uh, is your go-to. Matias is our Notion champion champion. If you have any questions, don't [music] hesitate, hesitate to contact. Exclamation mark. Now, you can, of course, do two things. Instead of like writing Matias, what you could also do is you could link to Matias, right? Because we created him as a person in your directory. Makes it even easier for them to then access more information about the person. And then we could, of course, then have here, you know, email, something like that, to make that easier. Perfect. Again, very, very rough draft for this homepage, but it's a good starting point.
With that done, we can focus on building our team dashboards. For that, we can navigate to any view of our teams. So, we can either go now here to teams, or we can do it here. Click on the drop down. And now set up a new template. And we will call this, you know, team. We will give it an icon, uh, our team icon as a default. And then teams can pick their own one. And then we will set this up. Now, first things first, we [music] want to hide all these properties up here to make, uh, the page, you know, start immediately with, uh, the actual, um, page color. So, [music] always hide, always hide, uh, always hide for, uh, all of them. Next up, we want to make sure that we have the full page width, right, to work with for this dashboard. So, let's hover on [music] full width. And now, here we can start adding our things. Now, in order to like help people navigate, we probably want to add at the very top also like a column with a with a call out, right? Uh, that has an, you know, some information about the team. Let's move myself out of the way here quickly. Well, um, welcome to the dashboard here. Then, you know, can add some other information there. And then we load it. We can start building the actual dashboard part. Now, dashboards in Notion typically means that you pull in information from various places into one view to help people get their work done quicker. And the very, the most simple way to build these dashboards and the one I want to show you here is to just take all the data that is related to an information. So, in this case, to a team, and display it here. And typically, because that's quite, can be quite a lot of information, uh, it's a good practice to hide these things behind toggles so people can, you know, select what exactly they want to see. So, let's do this. Let's create our first H1 toggle heading. And, uh, let's see what are the things that we have connected to teams. Let's quickly open this up. The first thing, well, we have our OKRs. So, [music] um, actually, the OKRs, let's have them outside of the toggle heading so that we always have those front and center, uh, even, you know, when it's not there. So, yeah, let's just say create link view of database. And let's go here on for the, uh, OKRs. Let's pull it in. And let's say, okay, how do we want to view them? We probably want to have them as this gallery view, right, at the very top. And then you want to again have this clean look and set a filter to say, okay, add advanced filter, show me only the OKRs here where the, um, team contains real team. And that now means that, um, it will, uh, for now, everything will disappear, but later when we create this and apply this for different teams, it will automatically filter to only apply, uh, you know, only show, um, the OKRs for that specific team. So, let's actually add here a heading as well and call this OKRs, uh, and say, you know, our goals, uh, goals for this quarter. And since we say actually, you know, our goals for this quarter, let's make this gray, you know, just for some visual clarity. Um, we need to, you know, uh, add something to our filter. We don't have currently this quarter filter. So, let's add that filter here to, you know, have it easily accessible. Now, you might be wondering, you know, when do you actually use filters here for like these advanced filters and when just like these ones? I would say in general, always add filters. Advanced filters is just much better and it's much easier to create complex conditions, in particular if you want to combine [music] and or filters. But, um, these, uh, simple filters are great for giving people access to control them, right? So, in this case, quarters, you might want to just like manually then change them from one to the other. So, by having it here as a drop-down, it's a bit more accessible than having to go in there. Perfect.
So, next up, uh, after OKRs, let's list out our projects. And here, we, I don't have access to the same icons, but we can just use emojis to make it a bit clearer and say, okay, we have like projects, uh, and let's actually create the other toggles as well. So, we have projects, we will have, um, tasks, and we will have, um, for sure, um, docs, right? So, page or actually, no, maybe writing as the, uh, here and docs.
[music]
Anything else? Uh, docs, um, people, uh, okay, project. No, that's good for. So, let's keep it like that. And then we can go inside and create our database views. So, here we pick now projects, and we can pick our convent that we set up before. And you see, this is now much quicker because we have already set it up. Uh, and all we need to do is like, uh, add to the filter another rule where we say, okay.
[music]
Uh, team contains again, right? The new team. So, it automatically is updated whenever we look at it. Then, for tasks, we do the same. Create link to your database. Let's look at tasks. Let's give me, um, open. And here, um, we need to do two things. First, right, we have this, um, wrong filter in for the team. We want to see all tasks, you know, just like all team tasks and not just from them. But we can, because we've created as a group, just quickly remove it. It's still quicker than, you know, setting it up from scratch. So, you can just say, okay, uh, add to that one where the team, um, is, um, any contains the, um, bubble team. Perfect. And then, oops, can just click out there and say, save for everyone. And then we can, uh, duplicate this and say, okay, um, actually, let's give me my, you know, done tasks. And, uh, change the icon to, oops, moving [clears throat] the side this and make sure that here our filter is just flipped.
[music]
So, that the status, um, is done on this one. Perfect. So, much for task. And then, last but not least, for docs, again, create link to your database. Let's create it for, um, our docs. Uh, let's give me, um, the table view, actually, of docs. And here, we, uh, set up our filter and say, also here, right, where the, um, the team contains, um, the new team. And now I will only see the docs specifically for this team here. I need to hide this because I haven't set up the views properly before. But, uh, yeah, you get the gist. And now we get this dashboard and we can quickly, uh, see all the related elements.
Now, one other thing that we can often, or like, it's often nice to do on these dashboards is to give people some quick actions in the form of buttons, for example. So, what we can say is, okay, you know, have t have a button here and let's, uh, let people add quickly a new, um, project. So, let's say, okay, uh, new project. And we can say, when this button is clicked, please do this. Let's add a page to our projects database. Let's make sure that,
[music]
Um, you know, we have it automatically assigned to this team. So, that this link is already saved. And then we want to have one more step where we say, after you do this, please open the, you know, page that you just added in site peak so that we can set up all the other information that you want to set up for it. Perfect. And then we could do the same for, you know, uh, docs, you know, new project, new, um, docs, new doc with a page. And then here, we just flip this from add a page to docs. And here, as well, right, we want to make sure that teams is connected to this page. Perfect.
Now, one thing that we with our current setup can't do here is like a add new task button because, remember, tasks are not directly linked to, um, teams. So, they're linked to projects which then have teams. So, we will create like a new task button on the project level. But if you, um, would want to have a a button here, right, it could not automatically link it properly. So, that's why I would leave it out here. Again, this comes in down to like how you want to build this. And now, let me just show you how this looks now in practice. Right? So, if I go out and say marketing, um, please apply this template. I then see, okay, it automatically has loaded in this icon and it already has load in OKRs. I see my OKR for marketing, right? It pops up here automatically. And if I open up the toggles, I see my project for for marketing. I see my tasks for marketing. And if I have any docs, I see them here as well. And that's how quickly it is to now set up new teams. Right? If you add three more teams, you just have this template ready to go. Uh,
[music]
And it's super easy to do. So, just saves you a lot of time. Now, one thing that you want to do is you want to actually make sure that this template gets applied automatically for new teams. So, click on the toggle. Make sure you set this template as default for all teams. That means if you know now create also, you know, a sales team, it will have automatically everything loaded in and you don't even need to click on this button. Pretty smooth. Right?
Now, the way to how people then can navigate to this is of course very simple to the homepage. Right? If I now just click on marketing, I it go directly here to marketing. And actually, I just realized one thing that we need to set up as well so that it doesn't, you know, open like this. We need to make sure that we say here, okay, please, when you ever under the, uh, layout options, uh, open pages in, uh, full page. So, I should actually go back, right, to the original instance and let's do that right now to make sure that in the future, when I have a nav view somewhere, I don't need to do it manually. So, let's go to teams and let's say, okay, please here, uh, for this this nav view, whenever I open anything here, let's make sure that this opens in, um, full page. Perfect. Uh, so that's one way, right, to navigate there. But of course, we also want on the individual team spaces to have the front and center. So, in order to do that, we would probably just set up like the own homepages for these teams. I'm just going to duplicate this now to save time. So, I just take a home,
[music]
Move it to ops, you know, um, uh, let's call this ops, uh, home. And then like create another one here and duplicate it for, um, marketing. And then what we can do is, oops, marketing home, marketing home. Adapt these pages because those pages, of course, don't need to show the same information that, uh, our HQ needs to show. So, you know, we could say, okay, you know, uh, for example, on marketing, what we might hear is like, you know, for, uh, for, uh, others. And, you know, for, uh, the team. And then what we could do is we could create certain pages. For example, if you have some procedures, you know, like how do you request certain assets from marketing, how do you do XYZ? We can add them to our company wiki. Let's actually quickly do that to show you the full process. So, we go to docs and we say, you know, okay, how to, um, ask for a campaign. This will be, um, an SOP. Uh, let's actually just give this a nice little icon. So, let's say, okay, this one will be for, um, you know, painting, something like that. And then on our marketing home, or we can say for others, we can now link this document, how to ask for a paint. And that way, when they open the homepage, right, they can immediately see, okay, these are the, you know, most requested things that I typically do here with marketing. These are the workflows that happens here. Easy to find information I need. Whereas for the team, right now, we have the database here, but we would delete that and then have instead, uh, links to the most important things for the relevant team. We would then on the individual the team dashboards, of course, uh, and just that because we don't need to see other teams there. Let's change that from teams dashboard to, you know, um, maybe projects. We want to see, you know, again, navigation purpose, we want to have a quick and easy,
[music]
Way to say, okay, what are our ongoing projects for marketing? So, we say, okay, projects, marketing. We give our give it our, uh, let's say the, um, let's actually have a con here, right? Uh, move everything out here. We need to set our filter manually, right? So, it's like a little less efficient than the other one, but still, we only need to do this for this one view that we use here. So, it's still fine. So, we say, okay, and the team. And this time, we, uh, set it specifically to marketing. Save for everyone. And we see our projects here. And then, last but not least, we, uh, want to make sure that we have a link to our dashboard. Right? So, um, where we have our dashboard, we can say, okay, here, let's take the marketing, um,
[music]
Thing that we created in teams. Uh, and then people can just click on here and quickly, uh, open the dashboard and see all the initial additional information, uh, that is not relevant for someone, you know, who just wants to visit the hub. And that, of course, you would do then for ops, just the same way. And last but not least, a dashboard for individual users. When it comes to creating these dashboards, you pretty much have the two options. You can either create one central, um, dashboard for individual contributors that everyone uses and no one can customize, or you can create different,
[music]
Um, dashboards that, you know, like a starting point for everyone as sort of a template that they can then adapt to their own needs. And I'm going to show you both methods. Typically, I always use the second one because it gives people more flexibility. But sometimes people prefer to have, you know, everything streamlined on one view so they can to explain to people more easily how it's supposed to work. Let's just, you know, create a page for this purpose. For now, let's call this, you know, uh, my, uh, dashboard. And again, give it a neat little icon. So, this is maybe like now the, take the rocket, um, make it again full width.
[music]
And then we pretty much follow the same process as for the, uh, team dashboards, just with a difference that this time, everything will be filtered for me. So, what we're going to do is first up, we again might want to have some some columns up here. And, uh, on this left hand, maybe we have some, you know, instructions. And on the right hand, we just do, um, you know, like a, actually, like quick actions. And
[music]
You know, quick links. Add some dividers below. And then here on the left hand, we can then link to, you know, very essential company things where you do the wiki, these sort of stuff. On the quick actions, we will add buttons in a second. And then we're going to add again, like our toggle headings for, uh, the different things. Now, what do individuals have? Individuals have also projects. Individuals have, um, tasks. And individuals, oops, sorry for that, did not manage to click away aside from it. Uh, individuals have tasks. And individuals have docs. So, let's create the docs as well. Uh, for this one, I'm just going to show you how to do this for one and then I'm quickly going through the rest because you've already seen this process one, but exactly, it works really exactly the same way. You just create a link view database and you say projects. And then, you know, my con, we even have it set up already for the specific view. So, we don't need to do anything else.
[music]
But if you wouldn't have these filters set up before, make sure that you go in and on this filter have this thing where it says, okay, responsible contains me. Or even better, uh, do the approach that we had for tasks, right? Where we say, okay, tasks, we have like open, and we have done. And here we have to build a set up to show me everything that,
[music]
I've created, um, or and no one is responsible, or things that are open. You see, I actually, I can even do it live because you see how just how quick it is. Since I've already set up these views elsewhere, it literally takes me less than, uh, a minute to do that unless I keep clicking on the on the camera instead of the thing. Uh, and then I have my docs set up here as well. Perfect. So, that much, uh, for that. And then for the buttons, one thing that we want to make sure the buttons on this page want to show you is when we say, okay, you know, um, here, um, add,
[music]
Uh, add new project. We want to make sure that when we do this, we say,
[music]
Okay, you know, add page to our projects, uh, database. And here, where we say edit another property, you want to make sure the responsible is by default set to the person who clicked the button. Of course, you sometimes create projects and tasks for others, but most of the time, you create them for yourself. And that way, again, right, you can just enforce that people, uh, do this without them having to do additional data entry. And then, last but not least, we have also here the, uh, open page, uh, the new page added in site peak option. All right, let's click on done. And I quickly just add the other two buttons and then we're pretty much already done.
Now, if you use this page for, you know, the whole company as a central place, one thing that you definitely need to do is you need to go in here and you need to make sure that you lock this page so that people don't accidentally make changes to it, which, uh, means that they also just can't add things here on their own, right? That's that's the drawback of using this like centralized thing. They can't just click on this plus button, it disappears. They need to click on the button to actually add things to it. So, they can, you know, use this to see where things go. Uh, but then they always need to open things up. They can also like, no, no, like for here for the check and check, they can't really uncheck it. They need to open it up and check it. So, it's just like a bit more cumbersome. But you sort of need to lock it because if you don't lock it and someone, you know, deletes something accidentally, they delete for everyone in the company. That's why, you know, overall, I'm not a big fan of having this like one central, uh, dashboard for everyone. And instead, I would always recommend to set up, uh, a template. And the way we do that is we actually create a new database. So, let's do that. Let's call this, um, dashbots, dashbots. And we can, uh, delete this here. All we need to do is basically one property here. Uh, we need the, you know, created by property. And then we're going to create a template. But before we do that, we quickly go here and we will copy everything that we have, um, added,
[music]
Here. Copy. And we go back to the, oops, back end, uh, dashboards and say, okay, new template. And we call this new standard dashboard. We paste here, you know, several types. And we have an advanced dashboard and a simple dashboard. And we do, okay, full width. And we paste everything in. Everything already, you know, is properly set up. We can actually rename this and say, you know, belongs to. And then we can, uh, hide this because we don't usually need to see it. Always hide. Add the icon as a standard icon to it. And that way, we can now let people generate their own dashboards. We're going to say, okay, this is our, you know, default, uh, set as default,
[music]
Dashboard for our views. And now, if, you know, my employee comes in and they, we build some UI in a second, but they can go in here and say, can, you know, tears dashboard, uh, and this is then like another one would be, you know, Ross, uh, dashboard. And we both have the same starting point where it looks identically the same. But A, we can adapt it now. Maybe, um, I always want to see my tasks, uh, front and center, and I don't want them to toggle, right? So, I say, okay, please just turn this into normal text. I need to see my task list be at the very top without that. But we have the starting point for everyone from the company. So, they have, you know, the the same, uh, foundation. And now everyone can adapt it. And if I delete accidentally something, it's not the end of the world because A, I don't delete anything for other, uh, dashboards. And I can always regenerate my dashboard, right, if that happened to me. So, much better UI. And what we can do then is, what we could do, for example, on home, what we could do is we say, okay, uh, you know, team dashboards, uh, and we can say, okay, you know, uh, your dash bots divider. And say, uh, you know, here, create link to your database. We link to our dashboards, which doesn't have a pretty view set up right. We should have done that there, but let's just do it now here on the fly. We take the gallery. We don't show a database title. We don't show the page content. Uh, we just want to show this. And then we want to make sure that we filter, um, say advanced filter. And okay, belongs,
[music]
To, uh, contains me. And now it will only show me, I mean, it shows dashboard, right, because I created it. But ideally, it only shows you shows people, uh, their dashboard that they created. And they quickly go to them. And we can even take it one step further and say, okay, you know, need help. Maybe we add another call out, um, there, um, you know, and say, you know, phone call out, can't see, uh, your, uh, your dashboard. If they don't have anything yet, right? You can just give them a button, um,
[music]
To, uh, generate a dashboard with one click, saying, okay, button. You probably don't have to have this on this main landing page and would have this in onboarding instead, right? Because not the people who then have one don't need to see this information. For now, let's just, uh, do it like this and say, you know, uh, create new dashboard. And we say, okay, whenever this button is kicked, please add a page to, uh, and we select a database dashboards. As, and we see it already selects, you know, like my new stand dashboard. And then,
[music]
Um, you know, again, just open this page, um, the new page added as a full page. And that way, people can then just click this one button and they, you know, generate the dashboard. Everything is loaded in. They can start working with it, uh, immediately. I can't overstate enough how powerful these dashboards are. I hope you already see how they all come together, right? We have now our automatically generated dashboards for teams, automatically generated dashboards for individual people. And we can take this one step further. Um, pretty much on every entry that you have that links out to other things where you want to, you know, pull that information in, you can set up these default templates. I'm not going to show you all because you, you will get bored, but let's just do it for projects quickly. So, let's say, okay, on projects, I want to create a new template. And this will be, you know, my new project template. First, I will add an icon to just make sure, you know, we have always the same visual language. Then I can quickly check which of these properties I actually need to see when I open this. So, last time I want to hide. Um, then,
[music]
What do I want to see the top? I want to see the very top. I want to see who's responsible. Then I want to see the status. Then I want to see the team it belongs to. Um, the duration. And then the progress. And then the other things, these I don't need to see because those will be pulled as part of the dashboard into the page body. So, we will hide them to have this cleaner up here. Perfect. Then I'm going to turn on full width. And we're basically playing the same game that we always play. Now, in terms of projects, of course, one thing that you might want to do is you might want to give your team additional structure depending on the way you organize your work. Maybe you use, you know, traction as one philosophy or a different thing where you say, "Okay, projects always have, you know, three phases. They always have, you know, the kickoff. They always have, you know, the execution. And then they have the, you know, the review." Then you can just add these things here, right? Um, I'm not going to, you know, give out this specific structure. You can adapt it to your own. But what you would just do is probably with talk or something like that. You might say, okay, uh, camera again. Uh, let's say, you know, first is the, you know, the the planning. Uh, then, uh, we have another H1 toggle is the, um, execution. And then last but not least, execution. And then,
[music]
Uh, give me another H1, oops, H1 toggle heading. Uh, last but not least, we have, um, our our review stage. And then below each of these, right, you can now add specific information that is relevant only to that stage. So, you could say, okay, you know, just write,
[music]
The text, right, give people the blueprint, the checklist, the things that they have to do whenever they execute it. And what you can do on top of that is you can, of course, pull in all the relevant information from elsewhere. So, in this case, right, projects are related to tasks. So, let's, um, create, um, our popular H1 heading and say here tasks. And we have docs. So, H1 heading and call this, or the writing thing, our, where's our writing icon, or docs. Do they have anything else? No, I think that's it. I mean, we could pull in the the other people that are related to it, but let's leave that actually for now. And then just go in here, say, okay, create link view of database. Let's pull in tasks. Let's, uh, pull in the open tasks, right? Adapt our filter to make sure, uh, oops, instead of, um, our responsible contains me, we remove this and then say, instead of that, uh, where, you know, the, um, project, uh, contains the project. Perfect. We will then, um, save this filter. Oops. This like bubble really, really the bane today. Save for everyone. And then, uh, duplicate this, uh, and see our dunk tasks. There, or the full check mark filter is just switched from is not done to is done. Perfect. Um, and then do the same for docs below in a second. Uh, but that's exactly the same procedure that we've seen a few times. And now, what happens, right, is if we go again back, right, and say, this is now my default for all new projects. And I, um, create a new project. Let's say, for example, here, right, on u my my marketing home. And, um, I go on my my marketing dashboard. I say, okay, let's create a new dashboard, uh, and a new project. A new project for marketing that we have is to say, let's say, um, what do we have, uh, plan, no, um, scorecard, uh, quiz, create store, something like that. And we see immediately it fills, like it's now linked to the team, right, because I created the team dashboard. Uh, I have my planning, execution, and review steps here. And I see all my tasks are linked below. If I create tasks through, you know, they are also automatically linked to the project. So, let's say, okay, um,
[music]
Uh, you know, like, um, brainstorm ch, uh, customer, customer persona. And another task where I say, um, plan out, you know, result page. You see, we already have them linked to this, uh, scorecard project. And if I were to look at my marketing, uh, project, the, uh, open tasks automatically show up here because, remember, tasks automatically identify what team they belong to. And you really can see how it all ties together. If I check something off here, you know, plan out result page, we see this jumps to 50% progress. One of the tasks that appears here, it's now and done. Everything is really now coming together as this amazing app, thanks to the combination of, you know, our backend data that we set up in the very beginning where it still was quite dry. But now by using this like front-end UI to make it, you know, really, really, uh, workflow-oriented pages. Nearly done. From here, it's mostly about adapting this blueprint to your individual needs. But there are two more things that are pretty good idea in nearly every situation. First, a company wiki page, and second, a landing page for your company. Let's start by adding another tople page to our HQ. Let's for this, uh, company, company, uh, wiki, add a corresponding icon here. And then make,
[music]
This full width. Now, margin is amazing for knowledge management, in particular with the baked-in AI.
[music]
Uh, it's really, really powerful. And these ability to create these wikis based of your databases is another feature that comes in super handy. Now, on your company wiki, you typically will have two types of information. You will have, um, your static content, and you have dynamic content. Set content is information will always be present. This will be mostly links to core documentation you want to see. They are always front and center. Dynamic content, on the other hand, is where you leverage North's databases to dynamically,
[music]
Pull in certain information that gets updated automatically as you go. Both have their own purpose and their benefits. And we're going to use both of them here. Let's start by creating actually three columns. And let's say, okay, we have first, we have start here. Then we have, uh, in the next column, we have, you know, uh, company. And then last but not least, we have maybe, um, benefits. Now, below all of these, I'll just add a quick divider for some, you know, visual clarity. And then below these, you can start linking permanent static content. Let's actually quickly go to our back end and, uh, the docs and create some docs for that. So, let's say, okay, we have maybe our, um, you know, notion, um, in how to use, uh, notion. And maybe we have another document that is is in my docs. We have another document maybe that we can call, um, that is like our, you know, vacation, uh, policy. We have another doc for our, um, um, you know, invoice or expense, uh, reimbursements. And maybe have like, you know, our, uh, or chart. Now, let's quickly, uh, go in there. Well, actually, we can go back first, then make it pretty. This is static content, right? So, we have certain pages and we now want to make sure whenever someone looks at this wiki, they will always see this core documents front and center. And we do it again with the add command, similar to in the hand page. We're just saying, hey, let me look for, you know, the how to use notion document. And I link it here. And under company, I link the, uh, arc chart for now. And under benefits, I will link my, you know, vacation, uh, policy. And I will link the, uh, you know, the expense, um, reimbursement. And what I meant with pretty, you know, we can like actually should add some icons there so it looks a bit nicer, um, but we can do that in a second. Now, this information will always be done. You probably have like, want to have like three, four, maybe five different documents here. Column again, adapt it to your own workflow. Have two columns if you only need two, have four if you need more. Um, but that way you can, you know, tell people, okay, if you look at this company wiki, you most likely are looking for one of these documents, right? This is what I most likely think you should have a look at. Um, but if that's not what you are looking for, you can then use dynamic content to pull in information. So, what we can do then is we can say, okay, um, let's, for example, um, we need to see all our SOPs. Let's create an H1 toggle again, just so we can hide things. Let's add, um, oops, gear emoji here. I won't be able to hit that clicking here. So, the gear emoji and let's, uh, call this, so piece. And now, what we can do is we can go in here and say, create,
[music]
A link view of a database. Please give me my docs database. And now here, uh, we haven't set up this use, right? We should go back and and do that, but I'm going to skip that now, just for the sake of being a bit quicker. Add an advanced filter. And we want to say, okay, here, show me all the documents where the type is, um, SOP. And then we can, uh, save that. And now under this one, everything shows up that is an SOP. I can filter it, right? I can additionally, I can just say, okay, only show me the SOPs that are done, right? Let's say, okay, these two SOPs are done. I could, uh, do that. But that way, and then I can, ah, one other thing. I can just say, you know, last edit time, um, descending. And that way, my, you know, most recent SOPs are always accessible and people can quickly find them. And I can just now repeat this process and say, okay, instead of SOPs, uh, what else do I need to see? Maybe I need to see here,
[music]
You know, my, um, my, uh, brainstorms, right? So, let's take the rain. Let's say, uh, brainstorms. And add, uh, just modify our filter that we have here and say, okay, where the other things that is SOP, we remove this. And now we say, is brainstorm. And we can keep going for all of these things so that people that can say, okay, I'm looking for SOP, this is what I'm looking for. We can take this in one step further and say, okay, um, you know, like my, um, that over 81 heading. And take our, um, you know, the, let's take the writing maybe as a thing. And say, you know, um, you know, docs, uh, pipeline. And down below here, show our docs as a common board view. Say, okay, um, you know, um, my docs again. And this time, I take this and I create it as a common board. Again, should have set it up some else, but let's leave it like this. And I can easily see, uh, oops, when I have everything set up correctly, which means going into group and saying, please, uh, show me all groups, color the columns. You can see, okay, how are we actually, you know, work on our different docs, which are the things that need to be worked on? You can, of course, like filter this down and to only show people their docs, right? They should be worked on and so on and so on. But since we're using databases here, this will update automatically. If you add five more SOPs, they will show up here, right? If you, um, added another SOP, uh, most recently, right? If I, let's say, just, let's say we, we, let's actually add one because it will automatically detect and say, okay, um, you know, um, how to add documents to the company, uh, wiki. You see it now at the top here. It's the last document that we touched, uh, and we just see that it's easily like accessible here as well. So, if people add it to other places, right, if they add, uh, a new SOP through a project somewhere else, it will also pop up here. If they add a new project and document through another task and connect it, it will end up here. Let's actually just look at that, right? So, let's say we're in marketing, um, okay, we set up this, you know, new work for me page. Uh, load in the the template that hasn't happened here yet. And realize, ah, for this project, actually, uh, I should create an SOP. Now, we haven't linked in the docs here, actually, before, so that bites me now. U, but let's go back quickly, set it up, say, okay, docs, um, filter, um, where, um, the where, where is it? Projects contains, um, this one. So, not far away, right, should be done to template, but just to go quickly here. We have our, you know, brains some content one. Uh, let's actually add an SOP here where we say, okay, this one is, you know, like, um, how to, um, can't think of anything else. Other type is SOP. So, someone added it through here. If I, if someone else now looks at a company and checks SOPs, they automatically have this pop up here without the need, you know, for it to be manually addit here. That's the power of static, uh, like dynamic content, right, where it pulls it in from the rest of your workspace. So, much for how to set up a simple company wiki. Last thing, of course, that we should do is you could go back to home and link this at one of our first main pages here. Right? So, our company wiki is definitely something that people should have access very, very quickly from this main page. And there we have it. Uh, in the introduction that I filled before I did all of this, I also mentioned we need to have a landing page for our company. But of course, we built it much earlier in this video. So, apologies for that. I hope that confus doesn't create too much confusion. But yeah, I think this is all looking pretty good. But there is one other thing that we still need to do. Remember earlier in the video when we set up the user groups? Well, now it's time to make use of them. Let's head to our back end and make sure that our databases are locked on, right? We don't want anyone,
[music]
To be able to just edit the database and change the, uh, different properties. In order to do so, we want to go to, um, these groups and we want to invite a group, right? So, let's say, uh, let's invite our user group. Um, and let's make sure that users, uh, don't, uh, like they have access to this by default, but they only have can edit content access. And then, uh, we, of course, like also make sure for like everyone at notion, by default, only can edit content. And then instead, as opposed our admins, for them, it's okay that they have more rights, right? They can add content. This this group can have can edit or full access rights. So, they can still modify things. And that way, um, you just need to check, right, everyone at notion. They also need to be, yeah, team members can also be, um, uh, done to can ed. So, you need to go like through different, like settings, make sure that it happens all correctly. But through our user groups, you can later, like, give the admins automatic access rights. And that way, um, these people cannot change the structure, right? So, if someone with can content rights is here, they can still add new rows, right? They can change tags, all these things, but they can't modify these properties, which is super, super important, right? So, that's the first step that you should do for, like, all the different databases. Next up, you should, uh, make sure that you lock, you know, this back end page and all the central pages, uh, in the team space, like the homepage, right? Everything where people don't need to add things, uh, like this through a new button, instead, just use it to navigate to other places. Make sure you lock those because that way no one can make any accidental changes. Now, this is, of course, not, um, you know, 100% secure, right? People can just like unlock it and then change something, but, um,
[music]
Unless you know, there's a malicious intent, you're pretty much good to go. And of course, if something goes wrong, you can always roll back, um, any changes through that, or you give people only view access, uh, to certain pages. Again, you can do all of that through the user groups that you defined in the beginning. This will now depend, right, sort of what is your access level concept. Super important topic. Uh, make sure that this is set up properly. Probably a topic for a whole other video, but yeah, other than that, by just making sure that all databases on can edit content and that you lock your core, uh, pages, you'll already be way ahead of most of the notion workspaces that I see on a daily basis. Now, you know how to set up a solid and scalable notion workspace for your company. This, of course, is only the beginning. The next challenge is to take this blueprint and really adapt it to your own unique situation. And for that, it really helps to know about my favorite 99 notion tricks. With that, you'll be in the perfect position to become the notion champion for your company. Just click here and I will see you in a second. So far, everything we talked about was focused on helping you organize your work. At a consultancy, we call this meta work. Everything that needs to happen in order for you to get to your to-do list. Notion is great at this, but thanks to Notion AI, Notion is also getting better and better at helping you do the actual things on your to-do list. So, in this chapter, we want to take a deeper dive into how you can leverage these AI systems with the right prompting techniques to get faster through your work. Notion recently announced one of their biggest updates ever with Notion agents. They call it the most advanced AI agent for knowledge work and it even marks the chapter of notion 3.0. But as with all AI, getting started with it can be tricky. Where does it actually create value and where is it mostly a distraction? So, in this video, I want to share with you my seven favorite use cases for notion agent that are more than just can you please add this to my to-do list. These are real life examples from our consulting work. The last one is my absolute favorite and it's going to save one of our clients thousands of hours of work over the next few months. Plus, I also have a little bonus trick inside on how to get the agent to work with large amounts of data without pausing every 10 entries. Ready? Let's go. Number one, recurring formatting. In pretty much any job, you have these tasks where you need to routinely put things into the same format. Whether those are your product announcements, uh, internal news, or in this example case, our content roundup, right? Once a week, we go through our best LinkedIn posts with AI and we have it extract sort of five highlights and then we want to put this into a nice format so we can post it on LinkedIn and on Medium. Here's how they're supposed to look, right? With headings, uh, the main paragraph, a little quote, and then the link to the full post. So, instead of doing this every week for 5 to 10 minutes on our own, we once sat down to write a quick SOP on how this should be structured, right? We actually did this also with the help of AI by giving it a good example and asking it to extract instructions. And now all we need to do is go to our, um, sample roundup, right? So, this is the last one that we have. And then here ask the agent, hey, can you please, uh, please format this according to our how to format weekly content roundups guidelines? And then in a second, right, it will take this rework it and we have something that is copy paste ready for our new system. And here you see how it starts adding the new elements to the page. Can use all of Notion's blocks, right? So, it's absolutely amazing here. And this works no matter what recurring format you have, right? If there's a certain element, for example, for your announcements, and you have meeting notes and you want to just grab the essence and then turn the cell format, works just the same. Super helpful and a great little timesaver. Number two, how to get real life knowledge into structured data. The next one is a fun one if you don't have to do it manually. A client needed a database with all the countries of the world together with their ISO 2 code plus the corresponding flag for every entry. If you get this task on your desk on a Monday morning, you know those are going to be two to four really annoying hours of work. But with Notion AI, it's really just one prompt. Please create a database for me that has all the countries of the world, a second property with the ISO code, and for good measure, add their flag. And of course, this is a very niche example, but you need to think bigger, right? Basically whenever you are now tasked with taking any real world knowledge, like in this case, countries of the world, right, and turn it into structured data in notion, you should use AI for it rather than doing this yourself. A different example for personal use case, travel itineraries, right? We are planning a trip to Tuskanyany. That is general available knowledge, right, where you should go, what things you should do. So, we asked notion AI to please plan out the first version of the trip and turn this thing into a database, right, with all the structured data, even like thanks to a new map view, right, an overview of the places that we want to visit. And within, you know, minutes, we have this full thing ready. Number three, avoid double data data entry. Use case number three again can be a real lifesaver for mundane work. One of our clients has to, uh, schedule surveys for buildings and that has to happen in Google Calendar because the other side needs to be able to access the calendar invite. But at the same time, they want to keep track in notion on the individual buildings that they have when this appointment has been scheduled. Now, of course, in the age of APIs and integrations, we could build a custom sync, right, that connects Google Calendar to the notion and does that automatically, but that would take quite a few hours of development work and would be fairly expensive in consulting fees. Thanks to notion agents, this is actually something that we can do, you know, 8020 optimum within minutes. All we need to do is screenshot the calendar after the scheduling is done, drop it into notion agents and ask them to update the corresponding buildings. And boom, you have pretty much the same result without any of the upfront investment. By the way, there are two key puzzle pieces that you need to make AI really work in your notion workspace. The AC/DC framework and a general master prompt. I just gave a talk about this at the make with notion showcase in Munich. So, if you would love to see a more in-depth video about these, then let me know down below so I can add it to our list. Number four, streamline reporting. This specific example here is updating OKARS, but this is true for pretty much any situation where you want people to regularly do something based on their responsibilities. Traditionally, what we do is we build cool dashboards like this, right, to help people navigate and find out well, which are the, you know, OK or that we have and which ones am I responsible for, which ones do I need to update? But I think over the next few months, we'll actually see a big shift here in how we use notion because why do I need to click myself through the UI, right, to figure out what I have to do if I could just pop up Notion AI and ask it, uh, can you, uh, show me the, uh, OKRs that I am responsible for and help me update them? And then it goes out, it will figure out the structure, right, like what it is that we have there, and it will tell me, this is what you're responsible for, right now. This also takes a few minutes because it sort of needs to analyze the OKRs, but if you follow one of my other advices of creating a general master prompt for your system where you basically teach notionis in advance so it doesn't have to figure it out in the chat, then this also is a lot quicker and will immediately basically give you back what you're responsible so far. So, we see these.
Are the uh objectives that I have, right? And now I can tell you, can tell it. Well, actually, you know, um, reduce manual work. Uh, we are currently uh at 35. Re-update, and the user doesn't even have to click through.
Now, of course, if you're a power user in Notion, which probably you are if you're watching this video, then this is a lot less relevant. In the time that you can tell AI to do this, you might also be able to click into it and do it yourself. But there are two very big considerations here.
First, right now, we are on this page, so it's easy for us to access. Often times, though, we might remember this in a different context, right? So, then we need to be able to do this much quicker. So in that case, right, being able to do this from anywhere in our workspace without having to navigate here is a huge benefit.
And second, if you're not the power user and just someone, right, who occasionally has to open Notion to report on OKRs, then this is a big help because rather than, you know, having to relearn the UI and figuring out, well, where did Matias, you know, leave the elements for me to go in there, right, and update the value to 30, right, which it already did. Um, oh no, this is the other one. But rather than having to do this individually, we can just ask AI to help us do it. So I think this will greatly help with adoption of more complex workflows in Notion across the team because it simplifies the user experience.
What we've started doing with our clients here is basically package up these prompts for users, right? So, uh, rather than them having to figure this out, we write prompts that detail all the information and then they just have this copy-paste thing that they can drop into Notion whenever they want to do the process.
Number five, rework large databases. This use case is really interesting for growing companies because as you know, Notion is an amazing tool because it can easily sustain your processes from a small team of just five people all the way up to a company of 5,000. But along the way, you'll have to make some adjustments to the way that you manage your data. In general, you always want to start with the simplest possible system, as few databases as possible, as little complexity because otherwise, right, you're creating this monster of a system that is not even yet required. But then as you grow and your complexity of your business increases, that's of course when you then need to also adjust your underlying data architecture.
This is work that we as Notion consultants do quite often for our clients. So this is an abstracted example, but we literally just did this for a client last week. There's is a partner database and currently the company's keeping track of all partners in one. But as you can see already in this example, we're actually having two different types of companies in here. We have the distributors and we have the suppliers. And in the beginning, that was fine. But as we grow out the system, we realized, okay, we need to add more and more properties to this that are only partially relevant, right? Commission rate is only relevant for distributors, minimum order only for suppliers and so on and so on. So at some point the individual workflow need would make this database very unruly.
The solution we want to create a new architecture where we actually have one parent partner database and then two child tables, one for distributors, one for suppliers. That way we still have a single entry for all our partners that we can use in the rest of the system to relate out to. But on the individual tables, right, for suppliers and distributors, we can keep all the specific information that is just relevant for one of them.
Data migrations like this used to take us one or more work days because there's a lot of properties to go through, need to coordinate which goes where, and then while it has just a manual process of doing it, thanks to Notion AI, this is so much quicker. I'm just going to walk you again right through this simple example here. The prompt that we want to use is something along these lines where we tell Notion AI, well, we need to have help, right? Then then explain exactly why we need to do this and then tell it to first analyze the entries to understand the structure, identify which properties should go on which child database, then set up this new database structure, and that's the most important part, go through every single entry in our partner database and have it migrated to the new system.
So, just pasted our prompt in here and I will have it work on it. Now, while it does so, I want to share with you two tips to make sure that if you have these large tasks, it actually goes through everything without pausing, right? Particularly when you ask it to update a lot of entries, it sometimes does 10 and asks you, "Hey, I did 10. Should I continue?" Or it pretends that it's working in the background, but it actually isn't. This is actually a current issue with the ChatGPT 5 because it's quite lazy. So in order to make sure that this doesn't happen and it keeps working, you want to do two things.
First, switch from auto to Claude, right? This will already make it much better. And then the second key thing that I found is very effective at having it do um the things continuously is to tell it to first write itself a checklist, right? And then if you want to go the extra mile, ask it to even not just keep track of this inside its own um chat, but ask it to create a page where it does this. Increases the adherence again. And then sort of like this these last two uh lines is one, right, to continue working autonomously until everything is completed. And whenever it thinks it's done, it should first come back to its checklist and check against it before um it, yeah, hands it off back to you. And this is very, very effective at significantly extending the time that the agent works autonomously.
And you see right as I'm talking, what it does here in the side, we for example have this restructuring checklist where it now goes through and keeps track of its tasks while it's executing on them. Super helpful, right? Additional benefit, sometimes it might still bug out right halfway through or if you have like hundreds and hundreds of entries, but thanks to this page, right, you can then ask it to please, you know, basically you're doing a task here, your instructions here's where you're at, you know, uh, take it up there again. So sometimes you might have to restart the chat once or twice. But since you have track of everything, right, makes it much, much easier.
So we're just going to quickly zoom ahead while it continues building result and then we can take a look at the end result. Now, as this is working, you see the effectiveness of our prompt because you can tell here where things can always opens up and you see photoable. Oops, sorry, it keeps skipping down. But you see it asks, uh, it knows that we only should come back to us when it's 100% complete. So it's checking its internal progress, right? How many, uh, did it analyze the structure? Did it identify it? Yes. Yes. Yes. And then it realizes, actually, I still need to verify the data integrity. So it goes now through this. It realizes there's an error, but it doesn't hand it off back to me, right? It knows it still needs to continue working for it to be done. Now it's checking against, right, against its own progress. And then once it's done, it will check everything off and hand things back to me.
And there we have it, right? It came back to us with all the tasks completed. We could check quickly right in here whether it did everything and what it thought along the way. Really helps sometimes, right, these migration notes and then also we can look at the result. So we have our cafe Notion database here, right, with um our entries and we have the distributors linked to distributors and we have the supplier linked to suppliers. It also removed already the properties for us or did it just hide them? Let's see. No, it actually removed already the properties for us that should no longer be on this database and added them to the other ones.
Now, if you do this in a live system, I recommend that you add to your prompt that it should not delete the properties from the main system until you had a chance to check, right? It also is quite helpful along the way. Um, keep in mind though, right, you can always recover deleted properties by going into three dots, edit properties, deleted, right? So you can restore all the values even if AI was a bit over, you know, overeager. But yeah, this is pretty amazing. But of course, this is a small database, only like 20 entries, but still the same principles will hold true whether you're migrating 20 or 2,000 entries. With 2,000, you might have to restart the chat once or twice, but it's insane, right? This would have previously taken us far, far longer.
And you can think one step further also. This was now a one-shot migration. Often times what you will have to do, right, in these situations is you need to first analyze things and then create the documentation or the decision documents for the rest of the team to decide what should go where. If you have dozens of properties on here, some of them might not even be [clears throat] needed. And again here you can plug in AI to ask it to first write, analyze the data and create in this decision document that you can circulate with the team before then going and actually making the changes. Absolutely insanely valuable tool and we're going to use it all the time for our work.
Number six, extract tasks from meeting notes. Notion agent really makes the Notion AI meeting notes so much better. One of my main complaints with it at the moment is that as it is, right, it simply creates you this highlight and then you have your action items down like this, which is plain text, right? Not particularly helpful. But with agent, right, you can now as well create yourself a simple standard prompt and after every meeting just ask it to, "Hey, can you please extract the meetings, sorry, the tasks from this specific meeting that are relevant to me and add them to my task database?" And if you use the um the general prompt, right, that we recommend using where you explain to the system how everything's structured, where tasks should go, how they should be entered, etc., etc., then you can get away with that a very, very short prompt at the end of every meeting, which nearly mimics the functionality of a different tool like Circleback. Right? We use Circleback still for our note-taking because it extracts these tasks automatically. But if Notion AI keeps improving at this rate, we'll probably want renewed and switched into Notion meeting notes once our year plan is up.
And number seven, automate reporting. As I said in the intro, I'm excited about a lot of these use cases, but this is my absolute favorite just because of the sheer potential. You know the problem? Not everyone uses Notion. And particularly external stakeholders like your investors or some partners might require you to take Notion data and somehow make it available to them differently. PDF export in Notion is not great. So we need to find a different method. This is it.
The real-life example is that we have a client that has hundreds of buildings and every week customer success needs to go through every single building and create a stakeholder report that shows where are these buildings in their current progress. That's an insane amount of time every single week, or data that already exists. So here's the demo, right, of how to handle this with Notion AI. We have our database in this case for my cafe Notion franchise and we have um, you know, like different timestamps on these things, right? Sort of, okay, when did we hire the staff? When was the first month completed? And so on and so on. We also have a status property. And of course, small database, right? So we could do this manually, but um, for the sake of this example, we're going to do this fully automated.
What we've done is we created an SOP that lists out exactly how to go about this task, right? And what should happen. So that means we don't have to instruct Notion AI every time, right, with a long and thoughtful prompt. All the customer success person needs to do is, "Can you please create my um weekly report in uh stakeholder, right, stakeholder reports, uh, using SOP, um, creating stakeholder reports?" Hit enter and it will go about it. Now, I forgot to switch from auto to Claude, which I pretty much use for everything in Notion AI these days, but since we have very thorough instructions, I think it should be able to do it just as well like this.
You see, it has started reviewing first our instructions and then go through all the other parts of the system. As always, we can inspect what it's thinking, or if we want to troubleshoot it. But we don't have to. Where we would now just go elsewhere in the system. You don't need to stay on the page for Notion agent to work. You don't even need to stay in Notion. You could also start a new request on the side, right? These things can happen in parallel. So even though for the sake of this video, right, we wait now until the result is there, usually it will just work on autopilot.
And here's the report that we can now share with our stakeholders. We have an executive summary at the top. We have a status overview in a table format because stakeholders and investors love tables where we see color-coded which entities are completed, which ones are in different statuses, and most importantly, what are our timestamps across the line for that. And again, this is a simplified example. You can take this a lot further. If you have qualitative updates, for example, right, where the team writes text-based updates into the system on a single, uh, building or so, you can just extend your prompt and ask Notion AI to also take that into account, not just the structured data, when putting this together. So while right now the executive summary is based purely, right, on what we have as database data, it could be based on the individual updates, right, that people write where you capture all these things that numbers alone can't do.
Again, this is so, so powerful and you can extend it to pretty much any kind of reporting. If you are a VC and you need to report to your limited partners, like how are your investments performing? Well, this is perfect for that. If you want to internally communicate the team, so from a previous example, right, like the OKRs and want to give regular snapshots and updates in Slack on how this is going, this is perfect. So many use cases for it, right? Using the existing data that you have in Notion and making it accessible to others.
Notion agent really makes the Notion AI meeting notes so much better. One of my main complaints with it at the moment is that as it is, right, it simply creates you this highlight and then you have your action items down like this, which is plain text, right? And not particularly helpful. But with agent, right, you can now as well create yourself a simple standard prompt and after every meeting just ask it to, "Hey, can you please extract the meetings, sorry, the tasks from this specific meeting that are relevant to me and add them to my task database?" And if you use the um the general prompt, rather we recommend using where you explain to the system how everything's structured, where tasks should go, how they should be entered, etc., etc., then you can get away with that a very, very short prompt at the end of every meeting, which nearly mimics the functionality of a different tool like Circleback, right? We use Circleback still for our note-taking because it extracts these tasks automatically. But if Notion AI keeps improving at this rate, we'll probably want renewed and switched into Notion meeting notes once our year plan is up.
So much for my favorite seven AI agent use cases for Notion. Now, I'd love to hear from you. What are you using Notion agents for? What other things should be trying? Let me know down below in the comments. And if you are now all excited to start using these agents in your own workspace, then I have one more thing for you.
When you deploy Notion agents in your company or team workspace, it's really, really important that you get permissions right first because the last thing you want is that AI makes any changes that were not supposed to happen or that it accesses information it's not supposed to access. To make sure your system is ready for AI and also secure for the rest of your team, click here. This is a thorough guide for everything that you need to know about Notion permissions. Again, click here and I will see you in a few seconds.
Notion AI is incredibly powerful, but like with most AI, you really need to know how exactly to use it to get the most out of it. We've spent the last few months battle testing Notion AI and agents in our day-to-day job as Notion consultants. And in this video, I want to share with you my favorite tips and tricks to make the most out of it.
First up, make sure you use the good Notion AI. Did you know that not all of Notion AI is created equal? At least as of the time of this video, the only AI that you want to use is the one that you can access by clicking the bottom right corner on this icon. This is not the same uh that you get when you, for example, press space anywhere in your workspace. This is a much weaker version of AI and there's really no point to using it at all. I'll update this video with a comment, uh, once Notion, you know, ties it all together. But until then, please only use this one for the best results.
Second, speed up your prompting using the add command. Like all AI, Notion AI performs much better, the more thorough and complete your instructions are. But writing long instructions can be a drag. So make sure that you make the most of the fact that Notion AI is deeply integrated into the workspace where all your information is. Anyway, one of the most helpful tips here is to use the add command liberally. As you might know, right, whenever you are in any Notion page, you can always press add in order to either mention a person or link to a page so people can quickly jump to it. And just like you can let people quickly jump to this, you can have AI review this as part of the information. So in this case, right, we want AI to format this block of text according to our guidelines. And instead of explaining it every single time what these guidelines are, I'm just going to type, "Please format this according to," and then, "how to format weekly content roundups," and it will now automatically look at this by then take into account what's prompt.
This is very similar to the way that um ChatGPT works when you create a project, right, and have knowledge inside a project, or the way Claude does it when you set up your Claude project and upload things that they should always reference, but with the additional benefit that here you have full flexibility, right? You don't need to swap between projects. You just need to mention the page that you wanted to use.
Small bonus tip, not directly related to Notion, but all of your AI usage will get better if you start dictating instead of writing. There are amazing AI dictation tools out there that make it super easy to just press any key on your computer and you can just speak into it and will record it all perfectly. The reason this is so powerful is because it's so much easier to give AI context quickly spoken than typing it out every single time. So, I promise you, using a dictation tool will make all of your AI and particularly Notion AI that much better. My two favorites are Whisper Flow and Monologue. Linking them both below.
Number three, turn your work into templates. In the beginning, you often will do work for the first time with Notion AI. So there is no document like this, "how to format the content," on yet. But it's very, very important that whenever you do any of these bigger pieces of work, you should always finish your chat with the system by asking it to, "Hey, can you please based on our conversation and task so far, take all of this and create an SOP in," and then you mention your documents database in Notion. And that way, every session that you do with AI turns into a blueprint for the next one. That's how this one got created, right? Our content guidelines is not a document that I wrote, right? The AI wrote this based on me sharing and walking it through what it should do once and then asking it to create an SOP. And when you do this, right, you get two things for the price of one. A, you get instructions for the AI to do this the next time. And you start building your company knowledge and your company SOPs and the clarity for your team on how certain things actually should work, right? Absolutely amazing. Make sure everything that you do, right, you don't have to repeat yourself next time.
Number four, set a master prompt to save time. We already talked about the importance of writing good prompts and giving AI the right context. So now let's take it to the next level. For all these small things of your day-to-day work, it's not really realistic, right, to create individual SOPs and always at-mention them when you talk to Notion AI. Instead, what you want to do is you want to go in and create a system master prompt. You can do so by clicking on AI and then on the face and then here, if you haven't set this, it will say "set instructions," or in my case, "edit" because I have them already. What you then see is the option to select something pre-selected, browse a template, or what I would recommend at this point, create your own. And I'm going to share with you in the description a link to the master prompt template that we recommend as your starting point. You can download it for free and adjust it however way you want it.
And now I just want to quickly touch on a little bit the role and the core components. The purpose of this prompt is to a) explain to Notion how your workspace is built and structured and b) how you like to work in it. Because that means it knows every time when you ask it to do something exactly how to execute and you no longer need to add all the prompt scaffolding of, you know, when you add a task, please make it due for tomorrow, when you, you know, add a note, please add it to this database. All these things are rolled up into this master prompt. So you can then get away with much shorter, quicker prompts for your everyday work. The core components will vary based on how complex your workspace is. Right? The bigger your organization, the more complex this prompt will be. And of course, the more diverse your workflows, the more different approaches you need to have in here. But basically, what we always recommend is that you kind of start with your database architecture. So the tool knows where to find which property and where to add what kind of information. Then if you do project and knowledge management, right, explain like how is it built. For example, one of our clients, right, has a very strict system of initiatives, goals, epics, tickets. You might just have projects and tasks. But whatever it is, right, explain to the system as if you're onboarding a new employee how it works. And of course, you don't have to write all of this yourself. The easiest way to do this is to take our prompt template with a link in the description, add it to your workspace, and then ask your Notion AI to help you go through this and fill it out interview style. So you can simply answer the questions that Notion AI is asking you to complete it.
Just as a sort of last part to it, right, at the very bottom you will have then the general identity and interactions which influences how it, you know, responds to you plus memories. Right? So as the system goes, whenever you ask it to remember something, it will auto-update it here so that next time it doesn't have to ask again. Bonus point, if you work in a company setting, right, with other team members, what I highly recommend is that you write this once for your whole organization. You save it in your knowledge base and then you ask every person in the company to take this as a starting template and implement it. As of today, it's not possible for system administrators to set a workspace-level prompt. Every user needs to do it themselves, but you can of course give them the right starting point. This is what we did the day after the update. We stopped everything else, right? We just spent the whole day writing these master prompts for all our clients so they would have the perfect starting point for the AI, uh, revolution kind of that Notion is starting here with the agents.
Number five, have it work longer and better with this collection of tips. These are tips from our actual own internal documentation, right? So, how we try to get it to give us the best possible results.
Number one, make sure you select Claude 4.5. When you click on your AI icon, right, you can swap from auto to Claude. And it's much, much better at following complex instructions and not going off-topic, right? Or randomly stopping. This is the single biggest, you know, bang for your buck that you can get with these tips. Claude over ChatGPT.
Next, ask AI to write itself a checklist before it starts with the work and ask it to, before it hands over back to you, verify its work progress against the checklist to make sure it's actually done everything. Particularly with long and complex tasks, there's always the risk that at some point AI goes off the the beaten path, goes down the wrong rabbit hole, and kind of forgets what it's supposed to do, similar to humans. And just the way same way that we, you know, write down what we want to do and before we go to our supervisor that we check once, well, did we actually do what we were asked to do? We need to help AI do the same. Very simple element, always add this to your prompts, whether you paste it in, right, or whether you dictate it in, it will greatly improve the accuracy of the result.
Next, for even longer prompts and tasks, ask it to actually track its work outside of the chat. Right? So, if you have a long prompt in here and you ask it to do the checklist, you'll see the checklist pop up there. It will work and so on and so on. And most of the time, that's fine. But occasionally, particularly when you want it to process large amounts of data, it will at some point bug out. It's kind of inevitable, right? The chat gets too long, there's an error, and you need to start again. If you ask AI to keep its, you know, uh, plan, its checklist, and the progress that it's making, not inside the chat, but in a separate Notion document, then it's super easy to have it pick off again, right? All you need to do is reference this page with an @-mention and be like, "Hey, you started work on this. You got interrupted. Please take off where you left." Much better, rather than having to explain again what exactly already happened and where it should pick off now.
And last but not least, a small and meaningful improvement is to ask it to work autonomously until it has completed everything. And with the added thing that when it thinks it's done to please double-check first whether it's actually done and if it's not done to continue working. Seems a bit redundant, but spelling out these key behaviors really helps to keep the system on track and helps it to keep working through something for up to 20 minutes at a time rather than pausing, you know, every 30 seconds to tell you like, "I've done this so far. Should I continue?" Right? That's just redundant. If you have good instructions, there's no point for you to check it along the way. And this will make sure that it actually processes everything.
And to wrap it up, here's my favorite way to help you figure out what to actually use Notion AI for. This tip comes directly from Akotari, the co-founder of Notion. It's very simple. For the next 48 hours, you're not allowed to use Notion. The only way you can navigate the UI is through the agent. So basically, ignore the whole left side of your screen, right? Only work in the side pane for a while, no matter how big or small the task is. Need to add something to to your to-do list? Well, ask Notion AI to do it. Need to find a page and change something? Ask the agent, right? Basically turn into a vibe Notioner. The same way that VIP coders don't really write code and just ask AI to do something. Try the same with Notion because this will give you very quick a feeling for where AI is super good, where it still needs some help, and you will naturally start thinking about all the other processes where you can start using it for. It's a really cool trick and everyone that has tried it so far absolutely loved it.
Follow these tips, you'll be using Notion more effectively than most other users. And the challenge hopefully helps you figure out just how useful Notion Agent can be. But if you're looking for a bit more specific inspiration, well, I've got you covered. Here's a video with my favorite seven use cases for Notion AI from our day-to-day experience working with clients and AI. Just click here and I will see you in a few seconds.
If you want to make the most of Notion AI, you need to get one thing right: your master prompt. It's the difference between having an assistant that just gets you and one that requires constant handholding. Without it, you will constantly have to micromanage AI and you will probably get frustrated and give up. So, in this video, I want to walk you through a) why do you need a master prompt in the first place, b) the two archetypes of master prompts, and then last but not least, c) how to set up your own master prompt in less than 5 minutes. Plus, I also share one thing that you need to get right if you're serious about Notion AI that has nothing to do with Notion itself. Ready? Let's go.
So, first, why do we even need a master prompt? Well, it comes down to the first rule of AI: garbage in, garbage out. You need to write good prompts and give AI context if you expect it to do the job well. But we're inherently lazy. Who really has the time and wants to tell AI every single time, well, here's where tasks go and this is what we should do if X happens? That's where a master prompt comes in. It's essentially preloaded context, a set of instructions that AI references every single time before it executes a task. That means instead of repeating yourself, you can get away with much shorter prompts and still get really good outputs. Plus, if you work with a team, it's really essential to make sure everyone uses AI the right way. You know how hard it is already, right? To make sure you always prompt things the right way. And through a master prompt, right, you can make sure that generally the AI behaves the same way across the company for every team member.
But what kind of master prompt should you set up? There are essentially two types of master prompt approaches. There's the MMP, the multi-mode prompt, and then there's the CLP, the context layer prompt.
In a multi-mode prompt, you essentially try to anticipate most of the tasks that AI might have to do for you and then give it very specific instructions on a) how to identify what kind of task you currently ask it to perform and then b) what instructions it should use when doing so.
A context layer prompt, or CLP, on the other hand, is all about establishing the general high-level guidelines and then using specific instructions whenever you need them and pulling them in on demand. That might sound a bit abstract. So here are two examples of how this could play out.
Here we have a multi-mode prompt example. And the very defining aspect of this type of uh general instruction is that at the very top you explain to the system, "Hey, there are multiple modes to choose from. Um, whenever a user makes a request, this is how you choose what mode you should operate in." Right? And it's actually fairly similar to how GPT 5 works, right? You might have noticed the change from four, right, to five. In five, you have a lot lesser models to choose from and by default, you type something in and then there's a first lightweight model who makes a decision, okay, is this something for GPT thinking, right? Is this something for fast response? And multi-mode prompts try to emulate the same effect. So in this case, right, uh, just for this example flow, we would have our workspace manager, a content writer, maybe a meeting processor, and a research assistant. And then all of these, uh, would have additional information inside, right? Here, of course, this is just an empty page, but you get the gist. And then you have some selection guidelines, right? When should a specific, uh, element be picked? And then you might have some global rules, um, global rules as well, right? That apply independent. But the core, right, is really this idea, "Hey, when a request comes in, decide first which way to route it."
A context layer prompt on the other hand skips this routing and instead we focus on giving the AI the general context that it needs to operate in our system. And you can think of it as if, you know, a new person joins the company and you explain them, "Hey, here's how we work." So, in enough creating this, you also probably get better at onboarding people. Just as a side note, basically, we have some very, in this example, very quick, um, run-through of like, okay, what is it that we actually do via Notion consultancy, right? Work with companies and teams and help them in our 8-week Notion transformation sprint to create the foundations they need to use Notion ideally. Here's our core workspace architecture, right? These are the main databases that we use and so on and so on. And then typically explain high-level workflows, why that are always relevant, like how do we do project management and how do we do knowledge management. And then some key behaviors and guidelines with the AI. So overall, this prompt is a lot more lightweight, right, and more hands-off when it comes to specific detailed processes, but it gives a quick brief on, "This is how work gets done."
So, which one is right for you? I would say a multi-mode prompt is only really applicable if you work on your own and you have a very sort of defined set of spheres or areas that you work in. In pretty much every other situation, I highly recommend that you go with the CLP, the context layer prompt. And there are a few reasons for that.
First, with the multi-mode prompt, it will take you a lot more time to set things up because you need to think through all the different, you know, types of work that it might have to perform for you, right? So, it will take you a lot longer to create a thing, which in turn makes it less likely that you'll ever get to it in the first place. Second, it requires a lot of foresight and you need to really know what kind of work you actually have to do. For most of us, what's on our plate will change quite regularly. So, anticipating every major scenario will be nearly impossible. Three, it just doesn't scale to a team environment at all. It's complicated enough to try to anticipate for yourself what you might have to do, but it's impossible to do that for everyone in the organization. And even if you could, it would water down the instructions for the individual use case so much because there's so many things in there, right? And only a small part is applicable to the individual person. Plus, right now, everyone needs to set up their own instructions, which makes it very, very hard, right, to maintain this across the board.
Number four is a small but meaningful one, and that is that a multi-mode prompt increases response time. If you have a lot of instructions and you ask AI to always sort of review a large chunk of it and then make a decision of what's best for that situation, that means it has to go through these calculations every single time. Now, that's fine for complex tasks. In fact, for complex tasks, you want AI to think as long as possible, but for all these small little workflows throughout the day, like add a task here, create a quick note there, right? You want it to be just snappy and respond quickly.
And number five is my main argument for a context layer prompt, and that is that you don't want to let AI choose the tool for the job at hand. This is one of the areas where you as the human have so much value to add. You know what needs to be done. You know right what the situation calls for. Your judgment is the essential part, and then you have AI do the execution. In a multi-mode system, right? You sort of like dilute this a little bit because you tell AI, "Hey, you know, here's a situation I need help with. Now, please go and figure out how to approach it." And that again just adds more variety to the potential outcomes. So, I like to be in control here, right? And pick exactly how AI should solve given problem for me.
Now, in a context layer, we still have specific instructions for specific situations. But, and that's the crucial part, they live outside of our master prompt. Our master prompt is designed to explain to AI in the shortest and most succinct way, "This is our workspace. This is the work we do. These are the typical everyday tasks that I will ask you to perform." And then when it comes to specific procedures, they live in separate pages. They are documentation both for humans who might have to do the task and for the AI that is asked to [music] do it. And you can reference and inject them whenever you need them.
Again, I see that this might be a bit, you know, abstract in theory, but let's look at an example of how this works in a day-to-day workflow. The first example here is about everyday operations, right? As task management, you need to create them after a meeting. And on the left, you see the prompt that you would need to write if you want to get this done well, uh, reliably afterwards without, uh, a context layer prompt. You need to explain it, "Hey, go through these notes, right? Which database should it create these in? How should it name the task? Right? What is your, what is your naming convention around that? What about statuses? What is the default? What is something that it needs to keep in mind? Due dates. Do you always add them? Right? Is there a default? Is the team allowed to have tasks without due date or not? How does it find out what project it should be related to? Right? Is that something it can infer from information in the meeting? Um, where should additional context go? Right? Should it always add context to the page body or not? Um, plus, right, like generally what other elements do you want to have it linked with?" And again, this is something that you probably do several times a day. So, you can't, right, if you have to write this every single time you want, right? That's that's just the nature of things. You will skip and that way that means AI will start making assumptions and your outputs will be less efficient.
But with a context, uh, prompt, right? All these things are part of your general instruction of how work gets done at your company. So all you need to do is say, "Well, please create tasks from this meeting." If you want to, you can add in, "according to your general instructions," but you could probably even leave that out, right? Because it knows what it needs to do to create these tasks.
Now, let's look at a more specific workflow. My team and I have started to go through our um meetings, particular ones with clients, and extract the key metaphors and frameworks that we use because there are few things, right, that we keep coming back, that we keep referencing, and we want to build out our library so that we can easier share that um with each other. That is of course a lot of work and without AI, pretty unrealistic to do. With AI, it's still a night and day difference whether you need to instruct it or whether you have it built into the system.
So without any instructions, right, we tell it, "This [music] is the purpose, right? I want you to go through it, extract metaphors, frameworks, etc. Here's what we mean, right? What is sort of like a metaphor? What is a framework? What is useful? How do you, how do I want it to extract these? Where should it add them? Right? And what should it um do there?" Whereas if we extract once how this process works, and this is the actual prompt that we use in the company, uh, to do this, right? We explain it exactly that, uh, it should do this in this database, it has the criteria, it has a naming framework, it has everything, right, that it should and shouldn't do, and it lives outside of our main master prompt because again, this is maybe required once or twice a week, so I don't want to overload my prompt in general with that or have to update it. All we need to do is reference, "Hey, you know, follow procedure 87A," and we'll go ahead and do that. See the difference?
Everyday operations like task management live in your context layer prompt. Where to create a task? What are the minimum properties and what should you ask me in case I don't provide you with that information. Specific procedures like the framework extraction live in their own individual pages and can be injected whenever the situation calls for it, which is your decision, not the AI's. This keeps your context layer prompt fast and lean and responses snappy and still gives you the opportunity to have really specialized processes.
So now let's go to the next big chapter. How do you actually create a context layer prompt? For this part, we are going to follow my standard outline for context layer prompt. It's the one that we used to create the master prompts for pretty much all our clients, and it's a great starting point. Now, of course, you can adjust this to your specific situation, right? So, if there's something that you don't need or want to add to it, feel free. It's more about the spirit, right? This idea of giving AI a general overview of what you do and how you do it. Also, if you want, you can get this as a free template, right? And I have a link down below to join my newsletter. And if you're on the list, you will get an email with a ton of different templates and among them this context layer sort of follow-along fill-it-out, uh, page.
To start with, assuming you use Notion for work, the first thing you need to do is tell it about that work, right? What's your company? What do you do? Who do you serve? Right? The quick rundown of what it is that you do. In here, in this example, we also have, in case you have a small team, right? You could list that out with role and responsibilities so that for specific tasks it can tag the correct person, or if you have a larger company, add your team directory, your employee directory that lists out who does what so that if it's necessary, it knows where to find it.
Then second, workspace architecture. Very important. Explain what are your core databases, what are they used for, and how do are they interacted, right? How do they connect? This of course requires you, right, to have a proper setup. So if you don't, this is your chance now, right, to go through it and actually create this, uh, series of global databases for your company. And then again, just like you would explain a new person who joins your team, well, this is how we do it, right? You explain to AI, "This is..."
Where that goes, and this is what we use this database for with your company and database structure explained.
You want to go through the general way that you work, which in most companies will mean explaining your project management and knowledge management approach, right? This might be as simple as, "We use tasks and projects. This is where tasks go. This is where projects go." If we create a task, these are the properties that typically should be filled out, right?
Or if you have a more complex system, for example, right, let's say you have like a three, four, or even five-level hierarchy between maybe initiatives, goals, epics, tickets, something. If in, you know, very engineering-driven companies, then explain that. Tell it where something should go and where in your system the different moving pieces of everyday work fit in.
This is also a chance to reinforce the team culture that you want to build. For example, let's say you want to make sure that no tasks fly around in the system without a due date. Well, tell the AI that if it's obvious what due date should be set, right? It should infer that from the instructions, or if not, it should maybe always set the due date for next week. Or maybe it should always explicitly ask the user, right, and remind them that, "Hey, no tasks without a due date. What do you want to set?" That's where AI really is super helpful because you can bake the general guardrails, right, that you want to have for your system into the interaction with the user.
For knowledge management, it's similar. One very important point here, right? Our general recommendation for pretty much every company that we work with is that you want to have a general docs database that acts as a catch-all for all the pages created in the company because you want to avoid that people start working in their private area, right? Just create random pages in the sidebar and then maybe later forget to move them to the right place. That's why we always say if it doesn't go into a specific dedicated database, right? If it's not a task, not a project, something like that, it should always go into this one catch-all database. And again, with AI, you can kind of enforce it and you can tell AI, "Whenever you create a new page, unless you know it belongs in a different place or unless the user specifically asks you to create it elsewhere, always create it in that place." That is already in general a great rule because Notion AI has a tendency to create new pages as top-level pages in your private area, which is definitely not where you want to have things for proper organization.
Every company needs project and knowledge management. And once you're done with that, you might also want to outline some key cross-functional components of your company. For example, if you have a very specific OKR system that requires everyone to report on a weekly basis, maybe it makes its way also into the context layout. Or if you have very specific product management, right? For example, you track your features and sub-features in Notion. And you want to make sure that when tickets in the task management, right, or documents in the knowledge management are created, that they link always to that right product. You might want to spend a few minutes here explaining how that works.
But of course, we don't want to get too detailed here, right? It's not about our Notion choosing and routing. So if you feel like, you know, you need to write pages and pages here, then it's much better to reserve that right for these external pages and here maybe give a brief overview of typical workflows and where to find more information. And then it's pretty much back to a normal prompting where you outline key behavior and guidance, right? General tone, style, operating rules, things like, you know, making sure that when it, when a user asks it to create a database, make sure to first check the backend, right, in our global databases whether that maybe exists because we don't want to end up with two task databases, things like that.
And last but not least, right, maybe an agent identity, explaining it what it's generally expected it to do. These two are less important, right, in the bigger scheme of the context layer because Notion AI will default to, you know, sort of a good personality here. But if you want to steer it in a specific direction, this is your chance to do so.
Once you're done creating this, it's time to roll it out to your company, and that is at the moment still a little bit tricky. So, just want to briefly touch on it. Basically, you want to create this general prompt in the public area in your workspace, ideally probably in your knowledge management system, right? So in your docs database, then shared with the rest of the team. Now, once shared, everyone will have to go in and add this to their own workspace, sorry, to their own instructions because we currently can't set a company-wide master prompt.
Doing so is fairly straightforward, though. Very simply, right, you ask everyone to copy the whole content of the page, then add a new page in their private area. This is one of the few cases, right, where it's okay to have a page in the private area. Paste the instructions in there, and then go to Notion AI and set this. Right? You can set this by clicking here on "Personalize," and then you have the option to edit your instructions and set a certain page as that. That's the easiest default, right? And make sure that you have, you know, the same instructions rolled out to everyone. And then everyone can go from there and start adjusting it to their own specific needs.
That, of course, has one drawback, and that is in case you update your instructions, users will have outdated versions and you need to ask them to update it again. So to avoid that, the easiest way, right, is to add a sync block in your page. Right? Then copy the whole context of your page. Right? Let's take all of this here and then move it all into this one sync block. And now what you can ask users is you can ask them to simply copy the content of that sync block, add it to their private page, and then whenever you change something here to the company-wide system, right, it will automatically update in their places as well.
Important here only to keep in mind to make sure that you then reduce the permissions on this page so that everyone else in the company can only view this. Because if you have full edit permissions on this, that means anyone could change the master prompt for everyone else in the company, and that will guaranteed to happen in larger organizations, right? So you want to avoid that, you know, one person can mess it up for everyone else. And by setting the permissions on the source, right, to "can view only," that means that only also on every instance of the sync block, people will only be able to view it, right? Notion permissions always follow the origin of where something comes from. If you have issues with that, I have a full tutorial on Notion permissions linked down below in the description.
Now, at this point, let's quickly talk about this one thing that you definitely should do that has nothing to do with Notion. To make all your AI usage much better, you need to invest in an AI dictation tool. AI dictation tools are simple. You just press a key, start talking, and it transcribes everything that you say with a far better accuracy than all the built-in dictation tools. It's the single biggest unlock because it allows you to add so much more context and speed up things like creating your context layer prompt massively. You can simply copy the template, right, that I have for this master prompt. Add it to your workspace. Pull up Notion AI, hold down the dictation key, enter Notion AI, "Hey, it's time for us to set up this master prompt. Here you see the structure. Now, let me tell you a little bit about how we work." And then you just go point by point, right? And you quickly explain it. "These are your main databases. This is how you like to add tasks and so on." It's a matter of five minutes or less rather than having to type everything down manually.
Which one of these dictation tools you pick matters a lot less than that you get one in the first place. Now, my current favorite is Monologue, and I have an affiliate link for that down below in the description in case you want to support the channel. But really, Monologue is amazing. I had Whisper before, also really great. And as long as it does what it says on the box, right, powerful, fast dictation, then you're good to go.
Now, one thing that you might have noticed when looking at the blueprint for the context layer prompt is that you need to have a good and solid Notion foundation. If you don't have a proper workspace architecture with clearly defined databases and rules, then all your Notion AI efforts will go nowhere. If you need help with building out that foundation, then my team and I would love to take you through our signature process, the 8-week Notion Transformation Sprint, which is specifically designed to make sure that everything is AI-ready and works perfectly well for the humans involved. If that sounds interesting, just send me an email or check out the link down below in the description.
Now, with your context layer prompt set up, it's time to slowly but steadily expand on your list of specialized procedures that you can call upon whenever needed. And when it comes to setting those up, I like to use a framework called ACDC. I recently spoke about the AC/DC method at my keynote at Make with Notion in Munich, and I will record a longer, in-depth YouTube video about that soon. So, if you want to know exactly right how to expand the first step, then make sure to subscribe to the channel so that you don't miss that video. But that's it for now. Everything you need to create the one prompt to rule them all.
Now, I'd love to hear from you. How have you set up Notion AI? Do you use a master prompt already? And if so, are you team multi-mode prompt or team context layer? Plus, if you've been playing around with Notion AI for a while, you might have run into some issues already. Things like when you ask it to process a large amount of data, it keeps timing out. Well, I have six amazing Notion AI prompting tips in this video next, which among other will walk you through the best solution to get Notion AI right to process a lot of things autonomously without you requiring to go in all the time. Just click here and I will see you in a few seconds.
At this point, you've mastered pretty much every skill that a regular Notion user could possibly need. But if you want to take things up a notch and become a Notion architect that builds advanced systems for a team, right, or maybe for other stakeholders, then this next chapter will be perfect for you. Here's our deep dive into Notion formulas and database automations. For a long time, knowing Notion formulas and Notion automations was more of a nice-to-have. But with the most recent updates, this has definitely changed. If you want to use Notion fully in 2025, you need to understand them. Want to show the next task in line, automatically close to-dos when a project is done, or build whole games in Notion? Well, whatever it is, in this video, we will go over everything you need to know from basic concepts all the way to my favorite use cases. And don't worry, even if you've never worked with formulas before and didn't quite like math at school, this is different. In fact, I'm willing to bet that if you like Notion, you will love using formulas and automations. Just promise me that you go through the full tutorial so that you don't miss a thing. Sounds good? Well, then let's dive in and start with formulas.
To start, we're going to write our first formula right away, and then we'll look at the theory and the structure behind it in a moment. So here we have a simple database. We have products, we have cost, and we have the amount. Now, how do we get the total for it, right? Well, in order to write any formula, we always need to add a property in Notion. So we click on plus, search for formula property. And now we have it here, and we can just call this "Sum" like any other Notion property. In order to write the formula, we click either on "Edit formula" here, or if you're outside, we can also just click inside one of these empty properties here. And that also opens the Notion Formula Editor.
Now, we're going to talk about the editor in a bit more detail in a moment. But basically, up here is where you write your formula. Here you get a little preview area, and down here you see all the operators, all the things that you can do with formulas, plus a preview, sort of like a helper style article about them. So, in this case, what we want to do is we want to take the amount property and we want to multiply it with the number property, add a cost. And as you can see down here, it tells me that these are the properties available on this database. We have the name, we have cost, we have amount, and then we have a bunch of properties that we actually haven't added actively to this database, but which are always created by the system, right, by created time, edited by, and edited time. So even if you didn't add them, you can use them. And you will always see the properties that you have in your Notion database here at the very top before you then see some of the operators that you can use in them.
So, in order to add them to our formula, we can either just click on them. So I can say, "Well, I want cost." Or alternatively, if we remove this, I can also start typing "cost," right, and then I can confirm by hitting enter, now that there's only one entry left. I need to confirm with enter though, because like, even if I just write "cost," right, it tells me "cost is not defined," right? So the word "cost" is not an operator or not a variable. So we need to make sure that we click on it. And a property is always represented by this little gray area around it. Plus, we see that this is a number, and this will become relevant in a moment.
So now, if we just had "cost," right, and we save it, or we just show again, like the same entry that we have in cost. And we could, of course, since this is a number output now, click on this, say "Edit property," and now that we have a number as the result of this formula, it tells us also, "Well, we can format this number, right? We can say this is dollars as well." So now, right, we just copy whatever is here in the front. One, that's of course not what we're going to do, we're going to multiply it. So in order to do so, what we can do for simple math, we could simply type the multiply sign and then take the amount. Now afterwards, and again, we click either "amount" or I start typing "amount" and hit enter. And now we have "cost times amount," and I can click on save. But we get our little preview here, and we see now, "Okay, for the apples, we would pay $840, and for our Notion marks, we would pay $210."
Rather than using the shortcut for multiply, right, so this multiply sign, we can also just type "multiply," right? So similar to Excel, you could say "multiply," right? And now what you see in the Notion formula editor is that it tells you here, "This is our function, the multiply function, and this is how the multiply function works. Multiply takes two numbers, and then it will multiply them each other." So in order to multiply, to do 5 * 10, right, we type "multiply 5 and 10." So that's similar, right, to how you write formulas in Excel, or actually how you write formulas in JavaScript, which is sort of like the underlying methodology for most formulas. So let's pick "multiply" and now say in brackets, "Okay, we want first the cost, and then we want comma, then the amount." And this exactly gives us the same result as previously.
Now, as you get better with Notion formulas, you will start using these functions more and more rather than just a normal math expression. So it's worth taking a few moments to just learn a bit more about them. If you've never programmed before, then one thing that's important to know is that these things that go inside a function are called arguments. Right? So we have a function, it does something. And what does it do? Well, we need to give it certain arguments. This is always what it tells us here, right? "This takes two arguments, and both of them are numbers."
Now, the second thing to know about these functions is that we have actually two ways to write it. Right? We can use them like this, where we write them similar to how we write in Excel. Right? We have our function, then we open our brackets, and we put both elements inside it. But Notion supports also a second way to write this, and this is the much more powerful and much better way to do so. So we should start doing it from the beginning, and this one is the dot notation. Now, let me show you how that works. For dot notation, we actually start always with a value. So in this case, let's start with "cost." But now, rather than doing the multiply, we use now, sorry, the math expression, we use "multiply" in order to do so. Right? Currently, it tells us "no result." Nothing happens here. But the second I type a dot, you see that now I get a bunch of functions here. Basically, Notion recognizes that if I type a dot, I want to do something to the "cost" element. And now it's going to show me all the functions that I can use connected to "cost." We'll dive a bit deeper into the different functions where you can use them later. But for now, just know that whenever you have any property, you type dot, you see all the things that you could do with it right here. And you could scroll down to figure out what it is. We know already what we want, right? We want to do "multiply." So start typing "multiply." It will start selecting it. Now I can click on it. And now what you see is again, I can put something inside it. But this time, since we already know "cost" is the thing that we want to multiply, we only put "amount" in it. So the result is the same, right? We get $840 and $210. Um, but now, instead of, you know, writing both arguments inside of "multiply," we've written "cost" and then we want to multiply it with the "amount." On a technical basis, what happens is whenever we use the dot notation, Notion knows that the first argument for the function should be the one before it. Right? So, in other words, right, if we, we could actually also type, you know, like "two" as a number, and then we know, "Okay, we want to multiply two with the amount." So that's how this works. The element before the dot takes one of the argument slots, and that's important because what you see now, if I say, like, "Okay, I want to have two," and then I want to multiply it with "amount" and "cost," if I now try to give "multiply" two arguments, right? So if I do dot, and "cost," just like before, now we get an error, right? We say, "Function multiply received unexpected argument." It only expects one number. Now, since the first one is already in there, and it doesn't have slots for more, right? Multiply will always only take two numbers, not more, right? So if I also were to write "multiply" and then, you know, like five, two, and three, well, it tells me this doesn't work, right? We can only take two arguments at the same time.
But why go through the trouble of learning dot notation? Right? It seems like fairly complicated for something where I could simply type 5 * 2, right? It would be much, much easier. Well, in a simple situation like this, yes. But for the more complex formulas, data, we really need dot notation, and that's because dot notation allows us to read a formula from left to right and understand what it does. And with brackets, that's often not the case, right? If you've ever written more complex Excel formulas, you know how annoying it is to try to figure out where your brackets all have to close.
So, let's take our example from before, right? Let's say we want to have, and we want to multiply the cost and the amount. And now we want to round that value. Well, how do we round? Well, let's just take this out for a moment, right? There's a "round" operator. So, if I just type "round," we see, "Okay, there's a function round. It takes a value and then precision if we want, right?" So it gets us the number and it returns it to the nearest integer, so the nearest full number, which means, right, if I type "round" and then 1.3, the result is one. As expected. So how would we do it in Excel or with the, you know, like the bracket notation? Well, we type "round," and then in brackets for "round," we now type "multiply," and then in "multiply," we take "cost" and we take the "amount." So, right, "multiply cost amount," and then "round" the whole thing. Which is fine if we leave it like this, right? This we can still recognize where the brackets open. We can sort of figure out if we had math in school that we first multiply and then round. But now imagine you need to do seven or eight operations, right? And then you figure out, "Okay, where are your brackets? In what order are things triggered?" Really, really complicated. But with dot notation, all we do is, well, we take "cost," that's our starting value. Then we want to multiply "cost" with the "amount," so answer. And then we want to take that result, right, the result of that multiplication, and we want to round it. So we can read now left to right, right? "Cost" multiplied with "amount," and then "round" it. Much easier to understand.
That's pretty much it for the very first thing you need to know about Notion formulas, right? We write them by going into a property, we click into it, we can then write things either with, you know, normal math operators if they are available, we can use functions, and the functions we can use either with the bracket version or with this dot annotation.
One last thing to know about the Notion formula editor is that you also can move things on new lines. And again, with a short formula like this, it's not very relevant, but with longer formulas later, it will be very helpful to break things up. To do so, you can simply go in and type Shift Enter. And this will move things on a new line. And again, this just makes it in very long expressions easier to understand what happens, right? So, instead of reading left to right, you can now see, "Okay, we take have cost, we multiply this with amount, and then we round the whole thing." Just to break it up a bit visually.
Now, before we move on, there's one last very important thing about Notion and formulas that you need to understand. That is that Notion is not a spreadsheet. Databases, if you start using them in the beginning, they look a lot like spreadsheets, right? That's what we're most familiar with. They look like Excel, right? We have our little things here on the side. We have columns, we have rows, and we have entries. But it's very different conceptually, a spreadsheet from a database. And for you as a normal user, right, the most important distinction is that when you do math in Notion, you can only do math on the entry, not on specific cells. What do I mean with that? Well, in Excel or in any spreadsheet tool, you kind of have coordinates, right? You can reference any cell in a spreadsheet freely by the two coordinates, right? By the number of the row and by the letter of the column. Which means if I have, you know, number three here in the third row and then the number four in this row, I can do math on that, right? I can say, "Well, I take B3 plus C4." No problem. In Notion, since it's a database, that doesn't work. Your formula will always reference only properties from the same row. Very important, right? So in a database, you think not in coordinates, but you think in properties, and you can only say, "Well, I want to take the cost of the entry that I look at and I want to multiply it by the amount of the entry that I look at." Now, there are workarounds where you can sort of fake spreadsheet functionality in Notion, and we're going to talk about this later in this video. But for now, that's just very important to keep in mind, right? One of the limitations or core structural concepts of a database is that your math only happens within one row.
Next, we need to talk about data types. Now, data types is not the most interesting topic, but it is super, super important to master in order to ever understand Notion formulas. If you don't know data types, this will hold you back forever. So, let's take just a few minutes to very simply understand data types. We don't need to go, you know, into computer science too much, but we just need to be aware sort of what we have. Notion has five data types: we have numbers, strings, booleans, dates, and arrays. Arrays are not here yet. We'll talk about them in a second because they're the most complicated one.
Numbers, on the other hand, are the simplest data type by far, right? It's what we learn in school. It's basically anything you can do normal math on. So, it is, you know, your amounts, your costs. Whenever you add a number property to Notion, or it is the data type number, you can also recognize the data type whenever you're in a Notion formula because if it's a number and you reference a property, Notion will give you this handy sign here in the front that always indicates that "cost" is a number. And on numbers, we can do math, right? That's the most important thing about a number. We can use all our normal math operators on a number. One other indicator of it being a mark of it being a number, sorry, is that Notion aligns the value of the cell to the right. You might have not noticed it yet, but anything else in Notion is always aligned to the left of a cell, but numbers, they are aligned to the right. So, if I type the number five in here, it aligns to the right. If I type the number five into this string property, on the other hand, it will align it to the left.
Speaking of strings, what are strings? Well, strings are basically any collection of characters, right? And that could be both normal letters, but they can also be numbers if we treat them as, you know, the sort of like the text expression rather than the mathematical value that they represent. So, right, if I if I type just five in here, that's okay. But if I say, you know, "five apples are needed," right? That is a typical string. Now, we can also use formulas on strings, but the things that we can do with a string is different than, you know, the things that we can do with a number. And let me show you one very good example. Let's take our property here and let's actually go back to five. And then let's add another string property. Right? Let's add another text one here. And let's call this also, you know, um, let's call this, you know, like "amount" even though "amount two" I need to call it, or let's call this "amount string." And we have, you know, here our string and we have here our string. Let's say three. If I now try to do math on this, right, I can go into my formula and I can say, "Well, okay, please give me the string, right? And then multiply the five with the amount from the string." And we get here an error, right? "Cannot do math on text and text." And we see also that here we have the text symbol, not do math on these. So that's one important thing. So you would need to turn it into a number property, trust there. But as I mentioned, right, there are operators that we can use on strings. Funnily enough, plus is one of them. But if we use plus on strings, we don't sum the strings. We just squish them together. So, five plus three, if they're strings, the result is 53, not 8.
Now, if you ever wonder what you can actually do with strings, well, then here's where Notion's formula editor comes in very handy. If I just have my string here and I now type the dot for the dot notation, I get all the operators, right, and all the functions that I can use with strings. One of the most useful things that I can do with strings, right, is I can count the length, like how many letters are in that, right? In this case, it is one. And it's currently still set to dollar, right? So let's actually change this, right? Let's say this is not our normal number and we don't call this number, but we just call this formula. Perfect. And then let's go here, right? Let's move this over to where our string sits and let's just type, start typing a word, you know, "This is a sentence." How many characters does it have? And you see my formula keeps ticking up because I keep adding more and more letters to it and count the length. So I see 52 characters for this string. That's pretty much all we need to know about strings at this point. So we can move on to booleans.
Booleans are a fun thing. Booleans are true or false. So, right, they have the basic building blocks of computer science: zeros and ones. In Notion, a boolean is always represented by a checkbox. So if you add a checkbox property, right? This boolean is just a checkbox property. If you add that to Notion, if it's not checked, it's false. If it is checked, it's true. And if in your formula, right, you can reference a boolean. So I can go to our boolean and I can click on it and I see, right, just copy it. And if I type again on dot, right, I get all my operators that I can use with this boolean.
One other thing to know is that in Notion, if you write a formula that results to true or false, well, it will always give you a checkbox. The easiest way to write something that equates to true or false is to just type "true" literally. Right? If I type that in, I see, "Okay, I get now for everything in here a checkbox." One very important thing that you might have noticed is that "true" is actually here highlighted in pink. And that's because it's a special thing, right? It is this boolean operator. It's very different from any other word, right? If I type, you know, "amount" in Notion, well, it will tell me, or "amun." Well, "amun" is not defined, right? But "true" is defined. If you want not a true boolean, but the string "true," you actually need to put it in quotation marks. So you type "true," and now you see it's green. This is actually an important thing that I might should have mentioned one step earlier with strings, and that is if you want to reference a string in Notion in a formula and you don't have it in a property, you always need to put it in quotation marks. So, you know, "amount" can go into our formula. "Amount." If I put it in quotation marks, right, now it's fine. Now it will just output this here. And if I say "amount" plus our string, you know what happens? It will just squish the whole thing together. And just as a quick addition, right, for numbers, we don't need to do this, right? For numbers, we can just type in directly into Notion. Similar to, you know, "true," it highlights it to me in pink, right? Which tells me this is like directly accessible. This is defined. It knows what for. If I want for the string, not for the number, I need to put it in quotation marks, and it turns green.
Last but not least, what are other ways to get true or false in an expression? Well, whenever you use a comparison, so whenever I say, "Well, is three equal to four?" Well, no, it's false, right? That's why it gives me here as a formula the unchecked checkbox. But if I ask, for example, "Is amount equal to seven?" Well, then in this case, it gives me a checkbox because here it is true, but here "amount" is true. So it gives me false. One thing you might have noticed is I type two equal signs, and that's a specialty again that you need to know about Notion. If you want to compare something, you want to say it is equal to, you need to type two equal signs. And that's because you also have other options, right? So, you know, of course, we can also compare whether something is bigger than, right? Or whether something is smaller than something, and the other way around, right? And just set this wrong. And we can check things here. And now this resolves false for both of them because, well, the amount seven is not bigger than seven. But we can now add an equal sign to this and say, "Well, bigger than or equal." In this case, of course, now it will be checked because seven is the same as the amount. Last but not least, we can also do "not equal." And for that, we type exclamation mark and equal. And again, that way we check whether something is not at the value that we compared to.
All right, last simple data type, and that's dates. Date properties in Notion, whenever you create them anywhere, we can input something, and this is treated again differently in our formulas. So if you have a date here and we go to our formula and I reference "date," we see, well, if I click into it again, it tells me with the calendar that this is a date property. And if I type dot, I see now all the operators, right, as usual, that I can use for dates. And dates has a range of very, very specific operators that are only available on a date. For example, I can get the minute, hour, and day of a date, right? I can get, add things to date. So if you want to do math on dates, right, if you want to add five days, you can't just say, "Well, date, you know, plus five." That, actually, in this case, it does work. So Notion added that, that's good to know. But if I just have two dates together and say, "Okay, let's have another date property here," you know, "date date one." Yeah, sure. We have January 14th, and we have, you know, January 28th, and I want to get the difference between them. I can't say, "Well, give me date minus date one." It will tell me here that "cannot do math on date and date." But there are operators, and we'll talk about them later in more detail. But just to give you a quick sneak peek, we would say "date between." This gives us the difference between two dates, right? Tells us here, "returns the difference between two dates." Perfect. And we see the arguments that we need. We need the first date, we need a second date, and then we need the unit. Since we use dot notation, you already know the first date. So I just type here "date one." And now, what is it what I care about? Well, in quotation marks. Now, here I give it a string argument, right? So I give it a string argument, and we'll tell it, "Well, what I want here at the difference is days." So 14 days between these two dates.
That was a lot, in particular with the different arguments, right? You don't need to fully understand it yet. For now, just remember dates are their own property type in Notion, and they have a bunch of operators that only work on dates. So we can't use the general operators for them.
Now, let's talk about the last data type that we need to know about, and which is the array. Now, Notion internally for the documentation calls them mostly lists, but we call it array because it's the more generic term in computer science. Basically, you can think of arrays as containers. Containers with slots for all the other data types, right? So you can have an array of strings, you can have an array of numbers, you can have an array of dates, and you can have an array of booleans. It's just a collection of them. And the beautiful thing about an array, right, you can imagine it like a box with one slot for the first spot, right? Another slot in the second spot, a third slot, and so on and so on, and it can be infinitely long, right? So, no matter how many units you need to organize, you can put them all in an array. The cool thing about arrays is that they have then numbers for these different slots, right? So, if you put, for example, a certain string into the first slot, well, you can reference it later by saying, "Well, please get me the entry from the first slot." So it's not just like an unordered list where you don't know where something is, but it is a very organized box and makes it very easy to organize large amounts of data and then, you know, pick a specific element. A lot of this will sound very abstract now when we talk about it in theory, but it will become very clear, and also why it's so helpful to know about them, once we look at the example in Notion.
But just one last thing before we do that, and that is that the order of the array is not necessarily fixed, right? It will put it in an initial order, but you can reorder it based on what you need. For example, if you put a certain element in the first slot, right, and you want to later now reorganize it alphabetically, well, you can do that and then you can reference the first alphabetic slot or the second alphabetic slot, which again will come very handy.
So, how does it translate to Notion? Well, the most common array that you will interact in Notion with is the relation. So, if you create a relation between two databases or in one database and connect properties or entries to each other, you're actually creating an array. So here I have on my city, I have my four contacts here, and these four elements are an array. I'll notice this if I go here in the formula, right, and I say "add formula," "please give me the contact property," and it tells me that it is a relation type, but this, and it tells you here, right, that it is a list, an array. As with all the other unique data types in Notion, this means we have a new list of operators. So if I type dot again, right, I see all the operators that work with an array or a list. One of the most important ones in this case, what that at least helps us demonstrate what arrays are, is the "add" operator. Right? If I look at "add," what it does, it gives it a list, and I tell it an index, and it will return that element from the list. So if you look at it, right, we have currently Matias and Laura, John. If I want a second value from it, well, I can type "at" and then open close brackets. And of course, right, as you know, the list is already the first argument thanks to the dot notation. So I only need to give it now the number which I want to retrieve. And if I want to retrieve the second value, actually, to type in one. Now, this is a bit weird, but it makes sense in a moment because the way arrays are numbered is that typically the first element in an array is zero. So if we were to count this, right, Matias is a zero, Ann is one, Laura is two, and John is four. So if I want to get John, right, I type three, and now I retrieve John from this array.
Now, let's demonstrate a few more things around arrays. First off, right, I was mentioning that like we can sort these arrays. So in order to do so, we can, the default order is determined by the time at which I linked it, right? The first link, Matias, is an and lower than. But if I now go in here and want to say, "Well, I want to have this ordered alphabetically," I can type dot sort. Sort is a really useful function. We'll use it a ton later. We can also tell it by what we want to sort by. But by default, it will sort it alphabetically. And now we see, well, Ann, John, Laura, and Matias. So now if I want to get, you know, the first, if I, if I look at my contacts, right, I'm curious, "Okay, well, which one is the person that, you know, has is at the top of the alphabet?" I type in dot add and zero. And now no matter like which ones I linked there, I will always get the connected element that is, you know, the first one in the alphabet. So if I, if I add now, you know, like, Ami, something like this, and I connect her to Berlin, well, my array automatically will resort and will tell me, "Well, Ami is now the first one in this array."
That's pretty much it. What we need to know about them for now. There's just one last thing that is very, very useful when it comes to arrays, and that is an operator we've already seen before, and that is "length." Now, "length" when we use it on a string gives us the characters, right? But if we use it on an array, it will actually give us the number of entries in the array, which is very handy. So here it tells me, "Well, I have five contacts connected." And we will use this all the time with formulas later, particularly in our examples. So, for example, right, if you have, if you don't have cities and contacts here, but you have projects and tasks, you can count how many tasks you have connected to this project. And we can use other operators on our array to, for example, filter out all the done tasks and only show us open tasks, or we can find the only or like the next open task based on a new date and just show this. So there are a bunch of powerful things that we can do with arrays. So we definitely need to use them later. But for now, this is all we need to know. It's a data type. It's the most complex one, and it's basically one that groups a lot of other data types together.
We're going to wrap up this chapter on data types by learning that we can move things between data types, right? Just because something is a number doesn't mean it has to stay a number for our calculation, or just because it's a string doesn't mean it has to stay a string. Now, the simplest example is if for whatever reason, right, we say, "Okay, we have the five," and we have "apples in our account." This is our text, right? And this is our number. Now, we can't do, you know, math on this, right? We can say, "this plus this." But if we now just try in our formula, right, I think it was, this was our formula. Yes. Perfect. Let's go in here. If we say, "Well, give me the," what was it? It was a number. "Give me number plus string." Well, you see the result is "five apples in our account." So Notion, by default, if there's a number and we do, you know, like this plus with a string, it will turn the number into a string. It squishes things together because there's actually no space.
Right, if I either type a space in here, it looks correct. Or if I add a space to my expression, it will look correct. So, in order to do so, we type plus, and then we type quotation mark. Right? Because not to create a string, we always type quotation marks. And then inside that string and that quotation marks, I just put one empty, um, uh, space. And then I type another plus. Right? And now we get five apples in our account. Perfect.
Another way to turn a number into a string is to simply use the format option. Right? So if I have my number and I type dot format, we see that dot format returns the value formatted as text. So now my type is left-aligned, right? It's no longer a number that is right-aligned. It is a string that is left-aligned.
Same works, by the way, for arrays, right? So if I take my context and I say dot format, well, now it just returns all the names with commas, right? But it is now a string. So if I call length on this, it now gives me the characters, not the number of entries in here.
This also works the other way around, right? So if we have, uh, again, our, uh, number, right? So we do format to turn into a string. Well, we can turn it back into a number. So we can say, in this case, to number. And now it is again a five and is aligned on the right. We can also do this on other strings. So we can use this in general to numbers to pass a number from a text. But of course, a number needs to be present. So if we take our string, right, which is "apples in our account" and try to number, well, it just doesn't give me anything because there's no number in here. But the second I have any number in here, right? So, for example, 78. That actually, I know, in the, in the end, it doesn't work. But if you put the number at the beginning, I think then it passes it correctly. Yes, in this case, it gets it. But for the most part, right, you want to make sure that the number is easy to identify and otherwise use some other form of manipulation on the string first to extract the relevant information.
Last thing to move things between data types, let's look at the date, right? We can also, of course, do that. So we can take tag our date and we can turn it into a string. So we type format. And then now it is a string. Looks pretty much the same, right? So it's not, uh, there's no way for us to spot whether something is, um, a date type or a string type just by looking at it like this. But we didn't see it from the operators, right? That we that we get, uh, when we type, uh, in there. Now, this one won't have the other date operator, right? We see all these operators, they all do something with strings, and we can't do the, um, you know, like the, the date between, for example. We can, however, pass date, right, to figure again out from this string what is the actual date. And we can turn dates into numbers. So this is actually quite fun. We turn into a number. We turn it into the, um, unicode, right? So this is actually the number of seconds that have passed since, I think it's the first, uh, uh, January 1970. So it gives us a whole thing in seconds. Then we can multiply it. Uh, we can alternatively get this also, right? If we, uh, use the, um, the timestamp, um, uh, variable, right? So here this gives us the current timestamp of timestamp of a specific date. So we say timestamp date. Same result as doing a true number. Uh, and sometimes that can be nice to, you know, equal some things or like figure out, okay, how do we do some certain math on it. For the most part, though, it's not something that we'll need.
Now that we understand data types, we can move on to the next part of the video where we'll go over the most important operators that you're going to use with Notion formulas all the time and combine it with some of my favorite use cases for formulas. So you learn two things at a time, right? How to use the individual operators and then some very useful formula examples.
The first formula operator will be one that's actually independent of all the data types that we learned, and that is the if statement. You probably know it, right? If you ever written any formula anywhere, because it's just so handy to help us based on certain conditions fill out certain data.
Now, one of my favorite use cases for if statements in Notion is to use it, uh, for data validation or to, you know, give some, uh, some user feedback for, uh, input that is needed. And that is really useful either if you use it alone, right? If you just want to be reminded, okay, here's something where I still miss entries, or you can use it, right, if you have, um, uh, if you work in a team and want to make sure that they fill out everything that, uh, they are supposed to fill out.
So let's look at this CRM, right? We have name, city, and then email, response, last check-in. We want to make sure all these properties are filled out. To do so, let's create our formula property, right? Let's we can call this status or label and then edit the formula. Now, if you type if, we see that we actually have two if statements or two if operators, uh, in Notion: if and ifs. And out of 10 times, you basically always want to use ifs. There's just no reason to use if over ifs. Uh, what's the difference? Well, if is the traditional one that you know, right? You put in, as you can see, we put in a condition, and if the condition is true, we get the first, uh, uh, result. If it's false, we get the second result. So we can test this, right? So we can say if true, and you know, this of course is true, we get, um, now true, otherwise we want to put in false. Perfect. So we can save this, right? And we see this now resolves true everywhere. If we had put in, you know, false here, it will put false everywhere. Of course, not checking a dynamic condition, right? We don't check anything based on other properties. We just like hardcoded in. But you get the gist.
Now, if statements are nice, but they can get problematic, right? If you want to check for several things. If you want to say, first, okay, if condition A is true, then give me this. But if that's not true, then I want to check something else and see whether that is true. And if that's not true, I want to check a third thing. And in these cases, right, you you write nested if statements, which get very complicated quite quickly. Even with dot annotation, right, it's quite annoying because you still need to go in the bracket here and say, now, right, okay, so for the next one, if the if this is not true, then I want to check whether, you know, um, one is equal to two. Uh, and then if that's the case, right, I want, uh, true, otherwise I want false. And so on and so on, right? Oops, two equal signs here, of course. Um, uh, and if you do this, right, it can get quite overwhelming quite quickly. So in general, we always want to write ifs because if allows us to just check one condition after another. We can write the first condition, uh, true, then we can, second condition, and so on and so on. And even if we only check one condition, uh, it still works exactly the same. So my recommendation: always use ifs over if.
So how do we use it now to create tables? Well, we have, uh, our different elements, right? So, for example, email. We want to check that the email is filled out. So, we can say, look, so email. And now, in order to check whether something is empty or not, we can simply type dot empty, right? Empty is another function which simply takes, uh, checks whether the value that we input is empty. Super useful in these situations. And then we say, if this is empty, then, uh, let's say, no, uh, email, otherwise say, um, you know, all good. And then we can close our records. And now we say, currently it says, uh, you know, no email everywhere. But if I now put, you know, hello@materials.front in here, it now tells us, well, all good, we have now some data, uh, filled in.
So this is quite nice, but of course, we want to now adjust it, right? And we want to tell, well, the email is filled in. We need to make sure the responsible one is also filled in. So we can go in and adjust it. Now, since we're writing now a longer formula, I recommend then you use what we talked about earlier and move these things on new lines, so it will makes it much easier for you to read it. Right? So we say ifs, and then first condition, email empty, uh, then give me, uh, no email. And now, after this, we can check for our next condition. So we're actually going to move this a little bit further down the line, right? So that it doesn't, uh, disturb us. And now we can go in here and say, okay, if the, uh, the email is filled, well, the next thing we want to check is, is responsible empty? And if that's the case, well, then let's say, no responsible. And then I confirm, right? And you get a, now here it tells me, no responsible. And a second I assign myself here, we go again to all good. And then just to complete it, right? As last thing, check, um, for last check-in and say, well, if this is empty, um, then give me, um, you know, uh, no check-in recorded. Can use any if string in here, right? Uh, and then close it off with our all good statement.
Now we can further improve this. So, for example, one thing that we might want to do is, we want to actually reference, uh, the name of the person, right? So what you could do is, um, where it tells us here the no email, we could say, well, give me the name of the entry that I have, right? And then plus, um, the no email. And then, uh, I want to make sure that we have also a space in between, right? So I can either add a space here in front of it, or like the space in between, right? Like, um, with this strategy to make sure we [music] now, uh, you know, take the name of the person and then say that this person doesn't have an, for these files, so an has no email. Laura has no email. Has no email. Could of like then maybe write something like, as no email or is missing an email. Perfect.
Now, we're missing this still, of course, for the satisfied because we only did it for one. So we would need to do it now on all three levels.
Now, let's use this opportunity to learn about two new operators. The first one is one that you probably use all the time, particular if you want to create any sort of display, and that is style. Basically, whenever we have a string output, right? So some text, we can use style to apply all the formatting that we could apply to Notion text in general. Right? So bold, italics, strike-through, underlines, and, uh, font colors and background colors. Uh, in order to do so, let's just quickly, uh, cut this out and look at how it works. So we take the name and then we say dot style. And we see if we inspect, um, the style one, that we can give it a bunch of styles as arguments. They all need to be strings, right? So we need to encapsulate them all in quotation marks and we need to separate them with commas. So, in order to make something bold, let's put in a small B. If you wanted to make this italics as well, right? Let's put in a small I. If you want to make it, you know, a blue color, let's type in blue. And if you want to make it a gray background, right? Uh, let's type in gray, um, background. Pretty nice. I mean, very ugly, but you get the gist.
Now, let's assume that we want to use this fairly ugly styling to highlight the name of the person, right? Uh, in our statement. So, in order to do so, we can remove this quickly, right? And just go back to our previous formula. And now, what we could of course do is we could say, okay, wherever we have the name, we type dot style and so on and so on. But then we would need to write this three times. Right? If you have more conditions, we need to write it five times, six times. And if we ever want to update the styling, right? Maybe our boss comes back and says, well, let's, it would be cool if all the names are in red. That would be pretty annoying because then we need to update it in all these different places.
So, second operator that we're going to learn about is let, which allows us to declare variables. Now, often times you don't need that, right? Most of your Notion formulas will be quite simple. But sometimes, particular if you have to repeat yourself a lot with certain statements, for example, with style statements, but also later when we work with arrays and we need to retrieve certain elements, it will be very relevant. Then it's easier to just write a statement once and then use it several times in your formula. So here's how variables work. Uh, what we can do is we can simply type let or let's, right? So same idea as with if, let allows us to declare one variable, let's allows us to declare several variables. So again, it usually makes sense to use, uh, let's. And the structure is fairly simple. We need to give it the variable. So what's the name for the variable, right? So, for example, uh, A. Then we need to give it the value for the variable. Uh, and then when we are done, we give it the expression where we want to use it. So let's say we want to, uh, say, let's, uh, A, uh, you know, like, um, variable is our variable name, um, and then, you know, "hello world" is the value. And then when we're done declaring all our variables, we can simply type our expression. So we can say variable, and then close it off. And now it prints out this.
Now, if you wanted then to know, say, variable, uh, the our variable was actually, um, uh, something we want to combine with something, right? We can just like write our normal formula expression over here. So I could say, "hello world, um, this, uh, is, uh, awesome." And then we see, okay, now it uses our variable value here in the, uh, expression. That is, of course, a bit abstract. So let's do it in our specific example, right? So let's say we have our, you know, our styling. So we use, uh, the, uh, name, uh, variable or the contact. Let's call it contact. And we say the contact will always be the name. And then we want to style that name. We want to style it B, go, want to style it italics, we want to style it with blue, and we want to style it with gray and background. Perfect. And then we can go here and we can say, okay, now just give me, you know, contact. And if I do that, we will go back to, um, our, oops, is that what is, uh, wrong? We need, uh, closing brackets here. Um, if we now return, right, we get our names across all the lines.
So far, we don't really need a variable for this, right? Because we just now print out the same thing across all statements. If you combine it now with the if statement, right? Where we check for several conditions and always want to put name plus and some other information, then it, uh, will make sense. So let's extend this information, uh, the formula, so that instead of saying we just print out a contact, what we can then do here by we can now go in here and say, uh, well, we have our ifs formula now. And here we can [music] say, so, well, if the, uh, email, uh, is empty, then print out, uh, contact plus, uh, "is missing email," right? And otherwise, if the, what else did we have? If the, um, responsible dot empty, then print out contact plus, uh, "is [music] missing responsible." And last but not least, if the neuron last check-in, um, is empty, then print out contact plus, uh, "is missing check-in." And now here, right, this makes, uh, sense because we can now see we have our different statements across the board depending on what is missing in the individual entries. And if we ever want to change something, oh, I was just seeing we have like a space missing for, uh, yeah, this one. If we ever want to change the formatting, right? We want to change it to red. It's one line that we need to update and not like 10 lines in order to make this happen.
Now, with these two general operators out of the way, let's move on to the more string specific ones, cuz with text, there are a few cool things that we can do. We've already seen one of the main use cases of how we use strings in Notion formulas, and that is simply using this plus thing to combine, right? We we didn't really talk about it, but, uh, whenever we have strings, we can simply use plus in between them, and then, uh, we can just build longer sentences with dynamic data, right? So, for example, we can have our contact here, and that is, uh, that we can then input here. Another example would be, right, if we wanted to create some some outreach message, right? If we, uh, say, let's, we want to create a mail merge, some some dynamic content. You you might know, right? If you might have people in your email, them all message, well, we can easily customize that message by simply saying, well, okay, let's click here, uh, create a new formula property. Let's call this our, you know, outreach, uh, message. And then here we could say, well, uh, so like our general part. So we can say, marks, "hello," uh, space, right? Because we always gets connected directly, and then plus, uh, name, um, uh, oops, plus, uh, it was create sale, and then we could input, you know, like the, um, our last check-in date, uh, for whatever reason. We probably would want to format that, but just for the example, right? Let's leave it like this, um, and then, uh, maybe something like, uh, "hope to talk," and then ship. And now we have, we can save this, right? And now we have our dynamic outreach message with the person. "Hello, materials was great seeing." Right? We want to maybe like add a last outreach date. So we actually see the full example, uh, and then we have here. And again, right, you would want to format, uh, after the date, but we'll talk about formatting dates in a moment, but you get the gist, right? This is an easy way to create these custom outreach messages.
Now, one specific trick that you need to know whenever you set up these formulas to combine strings in Notion is how do you get text on new lines, right? I mean, this for a short message is okay, right? You could copy this in your messenger or you could use an automation, uh, that we'll talk about later to send this out to people. But if you have longer messages and want to actually break it up into paragraphs, well, how do you do that? Well, the answer is that we can add something which is called a new line character. The way this works is that we again simply type plus, and then what we can do is we can paste in this new line character, which is, um, a backslash and then n. And this will be translated by Notion into a new line. You see there's an empty line up here. And if I just now continue typing, uh, "this is on another line," and close this off, right? We'll see that "this is on another line" starts here. So we have our paragraph ending. And I could, of course, now have two of these new blocks, right? If I add another one here, um, we'll see that we push it by two lines. Oops. Where is now my missing part of the expression? We have two plus lines here. Let's remove that. Now we see we have like a full space in between. So this is how you get text on a new line. And then I would recommend if you write a formula like this that you also like push things on new lines in the editor. Right? So you wherever you have, um, this, let's do something like this. So just so we know bitterly our that our code is supposed to break things up into new lines and we don't get all confused when we try to read it.
Now, one of my favorite use cases for these type of formulas, right? So the string formulas together with new lines, uh, is to build some sort of analytics [music] mini dashboard in Notion. And let me show you what I mean. At this example of a post database where posts here, right? They have a channel, and then we have a bunch of numbers: impressions, clicks, and conversions. Now, what would be really nice if we could display this, you know, a bit more visually. So, one of my favorite use for this is to go in and say, well, let's actually create, um, a board view. Uh, sorry, a gallery view. And on this gallery view, what we want to do is we want to go into settings and we want to make sure that under layout, we, uh, first turn off the database title to make it, you know, clearer. And then instead of card preview, we set this to none. And now what we can do is we can go to our properties and simply turn on the specific properties that we want to see. For example, our channel, and then maybe, you know, clicks, conversion, and impressions. That's the general idea because this is of course like for in particular for like certain type of information, a really nice way to get these info cards, uh, about certain information. This could be, you know, social media posts, but it could also maybe, um, you know, like days in your habit journal where you can see the performance for different habits. But you notice one problem, and that is that we have no labels here, right? If we hover over a number, it tells me that these are clicks and these are conversions, but other than that, right, it's just like three numbers. And I can, of course, learn that my first number is always my clicks and my last number is my impressions, but it's not very nice from a UI perspective. However, thanks to our newound knowledge about formulas, we can simply create display formulas to help us show these better on cards.
Now, there are two types of display formulas that you need to know. One is a very simple one, and one is a bit more complex. The very simple one simply used to add, um, context to our information. So what we do here is we create a new formula, and I typically like to preface them with display because they don't really serve any other purpose, right? They are only used in our display views. So let's call this display, uh, impressions. And all we do here is that we say, well, uh, just give me impressions, uh, with the colon. That's all I want, right? Uh, for every, in every row, I want this. So in this view, right, it's not very helpful, but let me just duplicate this one. And let let's call this, uh, clicks, and then show you how this actually, uh, looks in practice, because then it will make sense. So let's, these are our impressions. These are our clicks. Perfect. Let's do only two. Two. That's enough. Now we go back to our gallery, and what we can do now is we can go to properties and let's move step over here. I turn on these two display formulas. Then I saw the right way, right? Display impressions, then impressions, then display clicks, then clicks, and then we hide conversions. Now, now you see I have now this contextual information here in my database that tells me, well, impressions are 3,000, right? Clicks are 245. And I could, of course, make this even nicer. I could go back, right? And say, okay, um, here our impressions, let's style this, right? We, uh, operator we learned before, let's make this bold, um, so that we have like, you know, an easier way to to read it. For kicks, we should probably do the same, but that's method one. The [music] big advantage about this method is, even though it takes up significantly more space, uh, than the second method, uh, is that we can still fully edit things, right? So if we, this is a view where we need to like change the number of imperatives, we say, actually, this was now 4,500, then this allows [music] me to do so.
The second method, method uses space more effectively. So, in particular for a lot of information, it's better, but it won't allow us to easily update the information with one click. Here's how the second method works. So, let's go back to our table and let's, uh, create a new formula, um, and let's call this, um, performance. We could also add display to it, cuz it's mostly used for this purpose, but let's leave it like this. What we want to do here is now we want to print out all the information we care about in one single, uh, formula. So, in order to do so, let's start with our impressions again, right? Impressions, and let's, uh, style, oops, let's do this, and let's style them directly, uh, in bold, and then, uh, we want to combine this with the actual number of impressions, and we need a space here, of course, so that it doesn't mess it up. Then we want to add our plus, our new light, and maybe a second line. We can think about in a moment. But then, uh, after that, we want to have, oops, another plus here. We want to have our clicks, also dot style in bold, plus clicks. And then last but not least, we want to have again on a new line, uh, our, um, what was it? I think conversions. Conversions with dot style in bold, and then our [music] uh, conversions. Perfect. And now what you'll see is we get all that information in one row. Like this is currently not set to wrap. So that's another like thing that you might stumble upon, right? While you're building out all these formulas. Even though you add new line characters, it doesn't wrap on new lines. Well, that's because you have deactivated wrap columns. So that's activated wrap columns, and now displays the right way. Although usually, right, we wouldn't do this in our table view. Usually would use this in in our gallery view. So now we can go in here, right? Turn on our, uh, one performance, uh, metric, and also here, make sure that we actually have, oops, the where where is it? Performance here, that we wrap this in the view and get it on all units. And you see this now is a much more condensed way to show a lot of information rather than this other way. But of course, since it's a formula, I can't click into the number 4500, right? I can click only the whole formula, so it doesn't allow me to edit it from this. So which one you will use depend will depend on the specific situation, right? Where you build this formula. Uh, often times this one is very good if you have just few information and users are supposed to edit it. But if there's a lot of stuff that you need to do and you also want to add additional, you know, context to it, creating these display formulas is really, really powerful.
Now, not really a formula tip per se, but don't forget that you can add emojis whenever you want, right? Through the emoji picker. So on Mac, that is control shift, uh, space, I believe. And on, uh, Windows, it [music] is, uh, dot plus the Windows, uh, key that opens your, uh, keyboard at your emoji picker. So you can add any type of emojis in here, right? So maybe I want some I for the impressions, and I want, um, like a, is there a click thing? No, like a mouse, maybe. Uh, yeah, maybe maybe let's take the mouse here. And for conversions, let's take the money. Uh, and then again, right, just a simple touch to make our gallery display look that much nicer.
Next, let's look at substring, which is a lot more niche of an operator, but sometimes really useful. So what does substring? Well, if you look at formulas, right? And then, uh, we look at the substring operator, it tells us that it will return a part of a string, right? So, we can basically give it a bigger text, and we give it a starting number and an end number, and [music] will give us a text from these numbers. So, right, if you take the substring from Notion, from zero, again, similar to arrays, the first one will be zero, and three, we get not, right, the first three letters of Notion.
Now, when might this be useful? Well, in this example, we have a bunch of invoices which are always formatted the same way, right? We have this like initial part, then we have the year, and then we have the invoice number. Now, if we have to extract from this, uh, list, always the specific year, and you don't want to have to do this manually, right? But automated, uh, we can do this very easily with substring because we know that we always need the, you know, the element from zero, one, [music] two, three, starting at four, right? And then four, five, six, seven. So, basically from four to seven, that's what we want to get with substring. So let's do this, right? Let's take our title property and let's use substring, and let's input four and seven, and oops, four and eight, as I can see in the preview. And now we get with just one click our years.
Now, so far, right, this is still a string because remember, um, substrings, of course, it retrieves a string. So in case this case, right, if we want to be here and be able to then sort by it, we would then still need to use our skills from earlier to turn this into a number, right? So let's say, two number. And now we have actually the years, and now we could use sort, right? By our formula. So we have like now sorted ascending, uh, by the year when this invoice was sent.
Next operator is contains, and it does exactly what you would think it does. Uh, we see whether, um, a large string contains a smaller string. Example here, uh, we have blog post, and we want to build this mini tool that tells us whether we did write a good title for the blog post. Right? And one thing we want to make sure that is the keyword that we tie for our blog post is actually contained in there. So let's create a formula to check for that. Let's call it, uh, keyword present question mark. Edit formula. And very simple, we get our title, and then we say contains, and then we input our keyword. Then we can click on save. And now we will get checkboxes, uh, Williams remember, because it's like a true or false question. And we see, well, "SEO techniques" is not included here. "Content marketing" is here in there. Uh, "SEO strategy" is missing there, and so on and so on.
Now, one important thing with this, uh, you see, "technical zo," "technical zo." In this case, we actually have it in there. But it is not spelled exactly the same way. And contains [music] checks just very straightforward. Is it all the same? You know, like it has to be 100%, and it's case-sensitive. Now, sometimes you want that, right? Sometimes you want to make sure that it's spelled exactly this way. But sometimes you want to just check whether it's present in general. [music] The easiest way to ensure that that's the case is to use another very niche string operator, uh, that you can use to make everything lowercase or uppercase. So, uh, in order to do this, before we do our comparison, right? Let's go in here and say the title should, uh, be, uh, lower, right? This will, uh, convert the whole text to lowercase, and our keyword, right? In case we had have our keyword maybe, uh, spelled differently, going to also turn this to lower. Now, if we do this, we see that this also results to true because we have in both cases everything lowercase.
Let's use this opportunity actually to talk about two other generic operators that are very useful when it comes to logic. Right? So these true or false statements. And these, uh, two examples are and and or. Right? Whenever you check for conditions, sometimes you want to check for several conditions at once. And and or allow you to do this. Right? With and, we can check whether several conditions are true. And with or, we can check whether at least one of these conditions is true. So let's say, for example, we want to make sure that we always in our blog post, not just use the keyword, but also always Notion, because we just write for Notion. So in this case, what we do, we would say and, and then we paste in, you know, the first part, and then we paste in, and then we do like, oops, comma, and then we say we want to also make sure that it contains, uh, you know, and then we can just put in Notion, right? [music] Because we actually want to hardcode this, and we close off our condition. And now, currently, nothing results to true, right? But if I just add Notion in here, now it actually should get correct. Why it doesn't do that? Let's see whether we did any mistake. So we check whether our title contains the keyword, and we check whether our title contains, uh, Notion. This should actually result to true. Let's see whether, where's the issue here? It works. Ah, wait, it doesn't work because we don't have "SEO techniques." I'm stupid. I forgot. You of course have only one condition true here, that's why it doesn't result to our checkbox. If that is what we want to check for, right? We want to check whether it has either Notion or the keyword. Then we simply replace our and operator with or. And now it behaves the way I expected it. Right? This is true because it doesn't contain the keyword while it contains an ocean Notion, and the others are true because at least contains the keyword.
Now, let's make this a little bit more robust. We want to add a second condition here, or like a second check, and that is whether we within the recommended maximum title length. Right? Co title should not be longer than, I don't know, I think it's 65 characters or so, so that they don't get cut off Google. So we know this operator already. We touched on it earlier, but we haven't looked at a use case yet. So this would be a use case for length, right? So let's go in and say, we want another formula. In this case, you know, like list, let's, you know, like title, and we want to say, okay, give me the title, and then give me the length of it. That's of course the first symbol there, where we simply get how many characters we have in this title. Now, if we wanted to make this, uh, a bit more, uh, useful, and say, okay, instead of just seeing the number, I want to get like some input whether it's okay or not. We can combine this with our if statements from earlier. So let's take all of this out, and let's say we are going to write, uh, for, and we're actually going to use, uh, the, uh, variable as well, because otherwise we have to keep typing, you know, title.length. So let's say let will be, and just to keep it short, let's I use here I, uh, and let's say let I be, um, our title length. And I'm going to say, well, if I is, um, smaller than, um, 60, uh, then, uh, please, uh, output, uh, green, and say, create length, space, and then actually, you know, give me the, um, the length character here. Oops. Why do we have current error? Uh, let's just, uh, close this off so we can, uh, make this easier. We have here, great length. Perfect. This is a comma. There's a comma. Uh, where's our current error in it? [music] Ah, we have, we forgot of course the if statement. Oops. That is my web. So we actually need to have ifs here, right? And now, uh, this will work. Now we can close them all up. Now results to correct. My bad. So, and we want to have the length here, the actual, uh, plus I, right? Uh, 50 plus, uh, and let's say characters. Perfect. Uh, and then we can continue this, right? And say, well, if the, um, otherwise we want to output, um, something in red, right? We're going to output red. Let's say this is too long. This is too long. Perfect. And now, depending on how the length is, right? Let's make actually something, uh, bit longer. And at some point, we will get to our, this is now too long statement, right? Let's wrap this, um, the column and get it closer so they can actually see it better. And now we have built this sort of dynamic, uh, indicator, right? On our text. And as we add information to our title, so as we change things, uh, it updates the tooltip. Now we can combine this with pretty much all the lessons that we learned so far in the string part, and, uh, make this into like a big display rather than just the one for link. Right? So what we could do, could go in here and say, well, please add a new line. Please add another new line. Right? We want to have like a separator. And then after that, we want to have the, um, the keyword present. Right? So we can say, um, keyword present question mark, and then we can combine this with, uh, our, um, overall, um, oops, yeah, sorry, this double plus, uh, we want to combine the keyword present with, uh, the result from this other formula that we have. You could of course also write it in here, but we just leave it like this for now. Uh, and then we can click on save. And now we see, "grid length 50 characters. Keyword present: true." So that's how easily you can turn not into a real app that gives the user feedback based on their inputs.
Now, we can't talk about strings and formulas without talking about regex. So this will be the last part of this chapter on strings, and bear with me because regex can be a little bit complicated, but if you just understand some very basic concepts about it, it can be super powerful, particular thanks to AI. So regex stands for regular expressions, and it's a way to tell the computer, uh, what sort of parts of a string it should match in situations where it's not as obvious, right? As, you know, like, give me everything between 1 and five. The problem, of course, is that if you know data varies, we need some way to translate to, uh, the computer, to the algorithm, um, what elements we expected to, uh, to grab. Uh, and this sounds a bit abstract, but there are like a lot of very practical use cases where you need to do data cleanup, and you need to extract certain elements from a string, but don't quite know where it actually is in that string. Let's look at this example. We have my friends, and we have an address for these people, and we want to get the city from all these, um, addresses. [music]
Now, one way, of course, might use AI autofill and just tell AI, please extract. That's one of the reasons why AI is so helpful because it makes it really easy to extract information from unstructured data. But if we don't want to use AI and want to do it the good old-fashioned way, maybe because we, you know, want to have a more scalable thing and all time query AI, we can do this using a regular expression because what we can observe, right? Is that every time in the address, it goes until the comma, and then we have the city. So if you could just have a way to tell the Notion formula, well, remove everything, you know, like, just give me the the word after, um, the comma, then we would be good. And that's exactly what regular expressions do.
Now, in order to use regular expressions in Notion, most of the time what we will use, uh, is the replace, um, all feature, right? So replace all, uh, what it does, it takes a string, then it takes a pattern, that is what, uh, we call sort of like the the command in regex, right? We tell what is the thing that we want it to match, and then we will >> [music] >> um, replace it. Now, let's look at how this actually works in practice. So let's take the address and then let's use replace, uh, all on it. And remember, we first need to pattern. In this case, let's actually give it string, right? Let's give it, uh, something that like an actual word, a full string. And we say, well, we want to replace the string with, um, nothing exclamation mark, something like this. And then we'll save it. And then what we'll see is in the addresses where we had street, it replaces street with nothing. So you can use replace all also just, you know, to modify some information. And like, for example, if you need to swap out the name of a person, any everything, or if you, you know, rebrand it, some something like that. Uh, instead of like just replacing with something else, we can also of course just have an empty string here, and then it removes it from the string. Right? So now you have "maple maple street," come turns into "nap." That's the basic concept of replace all. But now instead of, you know, giving it street, we will give it, uh, a regular expression to tell it, well, not don't just match, you know, this random thing, but match dynamically whatever happens until the comma. The regular expression for this looks a bit like that, and this is fairly complicated to read. Uh, so unless you happen to know how to write regex, what I would recommend is simply go to your AI chatbot of choice, right? ChatGPT, Claude, whatever it is, and ask it to give you the simplest regex to match, and then whatever you want it to match. So in this case, right, what I told it is, please give me the simplest regular expression to match everything [music] uh, until the first comma in a string, including that comma. So what, and you see the result works because like our replace all, it matches all these elements until the comma part, and then the only, and then we replace it with nothing, and then the only thing that's left is a city. So you see how powerful this can be to extract [music] specific data from, uh, you know, a longer string.
Another example here. We have now the, uh, we have people, right? We have registered for event, but we forgot to collect the first name. So what we want to do is we want to use a regular expression to extract everything before the address symbol because that's hopefully their name. So in this case, same idea, right? We go in, we say email, replace all, and then, uh, the expression. In this case, again, I asked just AI to give it to me, is adderate dotst star, right? This says like, match adderate symbol, and then dot star means match everything that comes after. And then we see again, right, uh, we we actually don't even need to put in for replace all the empty string, and Notion will automatically assume if we don't put anything in there that it should just remove that. So we can click on save, and now we have Sarah, Michael, James. Perfect. Now we can use that, right? To for our outreach to actually contact them and sound like we actually know them, rather than just, you know, like being like, "hey there."
Now, [music] I don't want to spend too much time talking about number operators because math is something that we probably did learn in school. So it's a bit more intuitive for us, right? Like what what things we can do with numbers than with strings or the other data types. So for numbers, let's just very quickly, right, put any number into our Notion formula and look at sort of the operations that we can do with it. We have, of course, always find our logic operators, so and, or, not, and empty, right? Can call this anything. Can use format.
To try to string and then we have a bunch now of the actual math operators, right? So we have add, subtract, multiply, and then down here, divide, which are just, uh, you know, the, uh, the reg, the full expression rather than the symbol. You can, of course, always type just a plus symbol and we'll do the same. We have more than power if you need to, you know, like, h, you know, do some exponential calculations. We have min and max, which is quite nice if you need to check for, like, the smallest or the biggest number in a series of numbers. That will be very useful also with, uh, arrays later.
Um, we can get the average, right, or our median with median and mean. Very useful because it's like rolled up into one place and we don't need to do some complicated calculations. And then we have [music] ceil and floor, which can be quite useful in some situations where you want to, where you want to round either to the top or to the bottom for certain elements, or of course, also the general rounder. So, as you can see, there are a bunch of other operators then if you want to do some more calcul, math calculations, but these are pretty much the ones that you'll use all the time in terms of examples or whenever you need to do that calculation, right? I think that is fairly straightforward and self-explanatory, but if it isn't, right, if you would like to see more examples, then let me know down below in the comments and then I will do a separate video just on these math expressions.
Now let's talk about dates and not formulas. Dates are great because you actually barely need any formulas, right? There are pretty much three specific formulas that you need to know about dates. But if you know them, they unlock a huge amount of use cases for all your builds, uh, because dates pop up a ton of times in your Notion databases. So the first one I want to look at is format date. And it's very useful to get a date in a specific format because, as we've already seen, right, in our string example, when we want to input, well, when we met with someone, uh, was quite annoying because Notion just put it in this weird format. So being able to enforce how a date looks like is really, really [music] useful.
So let's say, for example, we want to figure out when are the, what are the months, right, that people have birthdays in. Now, in order to do so, let's click a new formula, add property here. Let's call it formula. Let's call this birthday and month. And then for edit formula, what we want to do is we want to grab our birthday and then type dot, and we see already, right, then the specific, um, uh, operators that are available here, and we could, uh, do dot month, right? This, uh, returns, uh, from, uh, a date, always the number, right? But like, we don't want to have seven, we don't want to, yeah, we want to actually have the name of the number month. So in this case, we, for that, we need to use format date. And how format date works is you give it, um, a date, right? Then you tell it what format it should be. And then optionally, you can tell the time zone. Most of the time, you can skip this, right? Because it will just take your current time zone of the account. Um, so we'll just focus on font. And the way you input format is, as you can see, as a string. That's this weird sort of, you know, MMDY, uh, method. Now, this is like actually an official way to write date formats, right? And you can Google actually for them to see all the different versions. Most of the time, it's fairly self-explanatory, but sometimes you have to play a little bit around with it to figure out, okay, what actually, you know, needs to which date output.
In our case, we want the month, right? So, inputting the four M's, uh, and closing off with the brackets means that if we now press enter, we get, you know, the full string of the month. And just to show you, right, like how changing this, uh, you know, like modifies it, if I just put two M's in there, we get seven, right? So, we get 07, which is, uh, actually a string, right? 07. It's not just the, uh, the seven, um, but sometimes that might be useful. Or if you put in three, right, I get the shortcut, right, the first three, uh, letters of the month. So you see a bunch of options, and I can, of course, also just add to this, right? If I want to have three of that, and I want to have, for whatever reason, two of the year, right? June 56, June 49, whatever it is, right? These are then the ways how [music] you can do that.
Format date, besides just allowing you to, you know, output the date in a specific way, is also very useful when it comes to doing certain date comparisons. For example, if you want to check whether our last meeting was, you know, this week or this month, the easiest way to do so is using format date. So let's say we want to check last meeting, right? And I want to check, did we meet, uh, this month? So we say last meeting, so we say format, uh, date, and I want to say, please give me the month, uh, of this, right? And then I'm going to say, well, is this equal to, and then in order to get the current time, we can use either now, which gives me a timestamp of the actual, to the actual minute, or if we just care about the day, well, we can use today. Most of the time, this is interchangeable. Uh, today is just a quicker way if you anyway need a date, but doesn't really matter if we put format date afterwards because, um, then anyway, same, right? I want to get the month of it. And we can click on save. And now we can see, did we meet [music] in, uh, who all did we meet with this month, right? So we have January here, we have January here, and we have January there.
Now, the formula, of course, is a little bit, uh, not, it's not 100% right because we just checked for the month, we don't check for the year. So we want to also make sure, right, that it's actually this year. We should add just like anything in there [music] that indicates that it's 25 to just double check that we still really met them this year and not, you know, like last year. But just to go in and put here 2024, right? Will be unchecked now because it's no longer true.
Another typical use case for these date comparisons are tasks, right? To-do lists or projects. For example, if I want to check, is it due date today, right? We write this very simple formula and we can just check, is the due date equal to, um, today, right? Don't do now because now gives you the minute and, uh, the due date is actually always at midnight, right? If you don't have a date in Notion, sorry, a time [music] at a date in Notion will always default to midnight. So if you compare then to something with a specific minute timestamp, it will never default to equal. So you need to make sure it is today. And then we see, well, okay, Jan 29th, that is checked. And just to show you the comparison, right, if you said where to do now, it is unchecked because, uh, it is not midnight on Jan 29th right now. So that's one version.
Another thing that you want to check often for dates, right, is it, is it due this week, right? The task. So in order to that, we would take the due date and we again write format date, our Swiss Army knife in these situations. And a small W gives me the current calendar. So I check whether the calendar week of this date is equal to, um, you know, the calendar week of, and then I can now use format or today, right? Doesn't matter because we anyway use, um, format date on it again. Small W. Then we see, is something due calendar week, right? So if I had this, uh, tomorrow, it would still be checked. If it was, um, here on, uh, yesterday on Monday, it will also still be checked.
Now, how about checking for overdue tasks? Well, that's also fairly straightforward. Uh, what we need to do is we need to take our due date and ask ourselves, is our due date, um, smaller than the current date? And that works, uh, because if we do these smaller, bigger comparisons, right, Notion just in the background transforms to a timestamp. Remember, like every, um, date is, um, you know, represented by a timestamp. Uh, this very long number of seconds, uh, since, uh, 1970, right? That's the, that's the regular rule. Uh, we, we count the number of seconds that have passed since January 1st, 1970. And [music] that's the timestamp. So we simply compare, right? Is this one timestamp bigger? Is it a number that is bigger or smaller than the other one? What we don't need to type this, right? If just do the comparison, that works. So we ask ourselves, is the due date, is that, um, well, is it smaller than the current date? Right? So, is it smaller than, um, today? And if we check that, then we see, well, it is for Jan 27th, right? That is the case. But for Jan 29th, this still works. And again, here it's important to use today, not now, because what happens if you put in now, right? You'll see that, uh, January 29th, it is actually checked because, uh, January 29th at, you know, midnight at 0000 is smaller indeed than January 29th at 10:00 a.m. in the morning or 4:00 p.m. in the afternoon.
Back to our CRM, though, and the next date operator that we need to know about, and that is date add. Let's say we want to see when we should meet someone the next time. So for that, we can could put in, for example, uh, a number property and say, you know, like, you know, maybe we call this a frequency. And here we want to say, well, I want to, you know, maybe meet with this person every 150 days, every 50 days, 30, 20, you know, like, you get the gist. You could also, like, do this with a select property, I'll show you in the second half. But, uh, we have something where we want to say, well, in X amount of time, we want to meet a person again. To do so, we again go to our formula and we say, well, this is our, you know, like, our last meeting, and I want to say date add. There's also actually date subtractor if you want to reduce it, but you can simply also use date add and just put a negative number in there. Yeah, it's just the same way.
So date add, as you can see, uh, requires you to, uh, give, um, the date you want to add something to, then a number, so how much you want to add to it, and then last but not least, the unit of what you want to add to it. So in this case, if we want to say, well, we want to meet at the frequency, um, uh, and then this, uh, advances by this many days, right? If we click on plus, we see then, okay, we go from, um, what was it here, December 15th to May 14th and so on, right? It just adds the number of days. If instead we [music] want to do this with months, right? We could simply go in and say, well, and then don't, let's not do frequency, let's just do maybe like, want to meet every month. So let's say one, and then month. Oops, months. Yes. Perfect. We get the next month when we should meet based on this. And again, right, same drill. If you were to put in year or minutes or seconds, right? You can put all the numeric units in there for the time and we'll simply add it to it. And of course, if you want to reduce it, right? I would also can just use date at minus. Does the same thing as if you use date subtract.
Last operator that you need to know about is date between. We mentioned [music] it earlier already, right? But it's basically how you can compare two dates and figure out what, how much time has passed between them. So let's say we want to see how long has it been since we last met with that person. So let's get our, um, last meeting and then, uh, let's say date between. And as you can see, date between takes two dates and again, right, the unit, right? So do you want the, the time passed in days? Do you want minutes and so on and so on. So I say date between, uh, last meeting and, uh, today, and I want this in, uh, days. And I can close it off and I see now, okay, it's been, well, minus 45 days since you last met. And that's because I always mess up this formula. You're actually supposed to put the bigger number first and then also the bigger date first and then the smaller date second. Um, so like, we would actually need to rewrite this, right? As we take, let's take today, let's, uh, say date, um, between, and then, uh, take our last meeting and then, uh, days. And then we get a positive number, right? Which is just a bit nicer to read. We see, okay, it's been 45 days. And then we can combine this with our string lesson from earlier, right? And say, and then, okay, plus, let's do a plus thing and say, days since last meeting, right? And [music] now we get this little announcement that we could have on this card, right, if we displayed in the gallery our contact and see, okay, well, it's been these many days since we last met with a person.
Let's wrap up this lesson on dates with a fun little exercise, and that is, how can you calculate the current year's birthday based on someone's actual birthday? And it's a good exercise because it teaches us a few ways of how, you know, how we think have to think about Notion formulas if it gets a bit more advanced, and there are often several ways to get to our destination. So, what is one option? Well, if I look at this, I see, well, okay, we have July 9th, right? And then we have the year. Uh, I could just use a date to grab the month and the, uh, the date, right? And then just remove the year from it. And I can just take this year's year, right? So, that should work. Let's try. So, let's go in and say we take now the, the birth, um, day, right? We say format date, um, and I want to have the, um, month, not month, right? Day, uh, perfect. It gives me July 9. And then I will just tag onto this, right, sort of as a string, I will tag on, uh, today. And I will also say, well, okay, today, uh, same, same idea, uh, format, uh, format date, uh, month, uh, and I want here the, the year. And now I apply 9 205. Amazing. I have this year's birthday. But there's a problem. This is a string currently, right? So, uh, strings, as we've learned before, right, they're not very useful for our sorting and stuff like this, right? We couldn't say, well, you know, sort them now in descending order, whatever. Uh, so in order to update this, right, if we wanted to have the order of when they have birthdays, we need to somehow turn this into a date. Luckily, we might remember from earlier that there is a parse date function, right? There is something where you can turn something into date. So we could, in theory, just wrap all of this, uh, and then say, no, please parse the date. In this case, this actually will result in an error though, because when we see, like, if I save it now, right, it doesn't show anything. And I learn why if I inspect parse date because it tells me I need to input it in this specific format. I need to have year year dot, um, the, uh, month, I think it is, and then the day. But of course, we could just adapt our formula, right? We could say, well, no problem. Let's just take, you know, uh, we need to have, let's remove the space here, uh, let's just take the today part, right? Let's take this, put it at the beginning, and say, okay, so we need the year, then we need a plus, then we need this line, then we need a plus, then we need a birthday, and we need then month dash day day, right? And now you see our formula works and we actually get a fully functional date out of this. Pretty cool.
So that's one way, right, to achieve this with Notion formulas. Another way to do this would be by doing some math, right? We could also take the, um, the birthday and we could try to figure out, well, how many years do I need to add to it to get to [music] you know, today's year? And that is fairly simple, right? We take, uh, again, we take today and we say, well, today date between, how far is, you know, the today's year from the birth year? So we take the birthday and we say, we want this in years. How many years has it been since that person's gone? Which exactly also, you know, will give us, um, the age. Give a pass with some logic where we need to make sure that the birthday is actually, um, passed. So day between birthdays, perfect. We have that. Now we can, uh, all we need to do is we need to add that to [music] the actual birthday. So we say birthday dot date, um, add, right? And we can paste in our whole formula here and say, please add, uh, years to this. And same result. Why? We get now the last birthday plus the current years. You [music] see though that it's all like still, um, you know, short by one because, uh, the, the duration between, right, like, uh, is always, uh, only the years between. Doesn't, you know, we're missing the one year. So all we would need to do by this, uh, date, uh, add, we need just would need to add one to this whole thing. So we can just include, you know, date between, uh, blah, blah, blah, whereas a date add, we would just, uh, wrap this, um, in another bracket statement and say, no, plus one. And now we correct as well, and we get the current year. Bit of a different approach, right? But both of them lead to the same result.
Then we can, of course, now expand this logic, right? Make it more dynamic, more robust. We could say, well, show me always the next birthday of a person, right? Which would probably mean that we take our whole statement and we check, well, is this bigger than or smaller than now, right? And if it is, um, smaller than now, well, then it means it has already passed. So we need to push it by another year into the future. For that, right, we would wrap all the things together. We would probably use let a variable to make sure that we [music] don't have to write this expression all the time, right? So you see, it can get quite advanced, quite quickly. But, uh, this one I want to show you, right? Like, please try to do this yourself. I try to figure out how to write a formula where you can show the next upcoming birthday. Always. If you get stuck, let me know down below in the comments and I can help troubleshoot.
When it comes to boolean operators, we basically already covered everything under way so far because it turns out they are very useful in all of the other expressions. But just to wrap things up, right, and make sure you have everything in one place, let's quickly go over them again. Boolean operators are everything where we check whether something is true or false. So it's mostly comparison operators. For example, it is this one, right, where we say, is the new date smaller than now, or is it equal to now, or is it not equal to now, right? These are our most common comparisons: smaller, bigger, equal to, not equal to, or of course, also you can do the combination of, you know, smaller or same. That's step one. Step two is then to check for several things at once, right? So, for example, let's say we have here, um, a status on these tasks, and for some of them, we have want to check whether for, like, the due date, like overdue, we want to only display overdue if it is, um, in the past and it has not been done yet. So, in order to check that, right, let's say due date should be smaller than now, then we use and. So we wrap the whole thing with and, uh, and then say, you know, like, first condition is due date is smaller than now. Second condition is that status is not, right? We use two comparisons here: is not done. And then we can wrap everything, uh, small. And just like, you know, a side note, when it comes to like and and or operators, you could also use, um, the dot notation, right? Works the same way. [music] In this case, I actually like prefer the, the bracket notation because it means, right, I can see, well, everything inside these brackets, um, should be true, and I can put everything on separate lines, so it makes it for me much easier to read the formula, but this is personal preference. Works both ways.
So let's check that. Let's make sure, well, yeah, this is, you know, like overdue and has not been signed yet. But if I set this now to done, right, it gets, uh, you know, removed the checkbox because now no longer are both conditions true. Few other things you might want to check for, uh, one of them is empty, right? Dot empty. Also, as you can see, right, in the front, will always result in, uh, and, uh, in a checkbox. So I see, is the due date empty? No, it's not. But if I clear the state now, right, uh, it gets checked because now it is empty. [music] Um, information with that often quite useful is not, right? Not simply, uh, inverts whatever statement you have, right? So, uh, it turns a true into a false and a false into true. So if you want to check whether something is filled, right? You say empty dot not, and then you can see, well, yes, all of these have been filled correctly. And last but not least for booleans is of course, like the actual just statements, right? False, uh, false and true. We talked about them before. It's not really operators, right? It's just like passing in the value true or false into your formula and it resulting into a checkbox or not, or using it in if statements or wherever you need, uh, sometimes just like the actual statement, right? Rather than an expression.
Now it's time for the most fun formulas that you can possibly write in Notion, and they are all about arrays. Now, this is probably the most complicated part, but it's also the one that will really, really level up your skill set, right? Formulas so far were quite fun because you were able to manipulate strings and, you know, show certain new dates based on information in your database. Arrays will take this and get it to a whole another level. So let's take a look at some very basic things we can do. Here we have a simple setup that is very typical in Notion. We have projects and then we have tasks, right? And you will have this all the time where you have a relation between your databases, right? When you group elements from one database, in this case tasks, together with one from another. And that's where, uh, now our array formulas shine because relations, right, uh, that's one of the key, uh, areas where we have where we end up with, uh, arrays and lists and not. So if we wrap this form, right, we'll see, okay, we have a bunch of elements, uh, linked to it. And as we learned previously with data types, right, this basically means we have this box and we have one, two, three, four, five, six, seven entries here in this first box, and then, uh, consecutively less for the other ones. So what's the first thing we can do in order to learn about them? Uh, the easiest formula that you can probably write is the one that sees how many elements you have in an array. So let's do that. Let's go in here. So add a formula. If I want to figure out, you know, my, the number of my tasks for any given project, what I would do is I would simply take my relation dot and then length. And now it counts the number of items, uh, in this, um, in this, uh, relation.
Now, this, if you worked with Notion a little bit before and you are more of an advanced user, then you might recognize one thing, and that is that the result of this formula is pretty much the same as if you were using a rollup. Uh, if you don't know rollups, let's just have a quick look at them, right? So if I add a rollup to one of my database, what I can do is I need to always define a relation, right? Rollups always work together with a pre-existing relation. Whereas relations connect, uh, entries in databases, rollups give me information about that connection. So I can say, give me tasks, and then, um, where, give me the task, that's fine. And then where it says calculate, rather than showing the original, I could also say count all, right? And now I get exactly the same result as if I write a formula with relation.length. So why would you ever bother writing a formula rather than just using a rollup? Well, this is actually a fairly recent update, right? Notion released much more powerful, uh, formulas last year, and for the first time, this allows us now to replicate a lot of the functionality that previously was only in rollups. So kind of rollups are to a certain point redundant or have a bit of overlap with formulas for arrays, but formulas give us even more capabilities afterwards, right? Allow us to do more things with that result. With rollup, all I can do is count this, right? Or, and then some, some other operations. But with a formula, I have full control over the result. So most of the time, you want to use formulas rather than rollups. There's one scenario where you still need to use a rollup because the functionality hasn't been added to formula, but I'll mention that later when we get to it.
Now, length was easy, but now let's look at the first really, really powerful operator when it comes to arrays, and that is map. [music] Now, map basically replicates the functionality in a rollup that allows us to pull a specific entry, uh, property from another row. Right? As you might know, if we have our relation and we go to our rollup, we configure it, we can say what property of the related entry we want to see here, right? It goes through the relation, picks the information and allows us to display it here. So our tasks have due dates, uh, in their own database, and priority level. So if we wanted to see them here on the project, we could say, well, on the rollup, please give me the, um, the due date, uh, and then show the original, right? And now if I open this up, we see, and maybe wrap it, we see that we have all the due dates from the tasks that have been, um, uh, linked, uh, to this entry, right? All of them here. We can do the same now with our formula. So let's go in here and instead of length, let's say map. Map will be a property operator you use all the time. So it's really important that we get this right. As you can see, map takes, um, a list, right? An array. We have that here already. And then an expression. And what it does, it returns the list populated with the result of what we call for every item in the list. Sounds a bit complicated, but basically we can tell exactly the same thing as for the rollup. We can tell it to go over every single item in the array and return a certain value for it. And we always do this with current, right? Current basically says what of the item you look, you will look at every item in this array and from that current item that you're looking at, please give me this. So map always, or most of the time, starts with current dot. And if you type current dot, you now get access to all the properties that exist on tasks, right? So you see at 10, I get the task name, due date, status, priority, and so on and so on. Those are not the properties on the project where I'm actually writing this formula, those are the properties on tasks. So let's say map due date. Let's click on save. And we see, right, if we run this, exactly the same result as for our rollup. Beautiful.
Now again, right, question is like, why would we do this rather with rollup? But we'll get to that in a second because we can do a lot more things now with this formula than we could do with a rollup. For example, we can combine now our, uh, knowledge about arrays with our knowledge that we have of, uh, you know, other operators. So, for example, in this case, if we don't care about the year of the due date, well, how do we format dates? You know it. We do it by typing dot format date, right? And you see I can now train in here, right, inside my, uh, command where I say, give me the due date of something, you can say, well, actually, give me this due date in a specific format. Give me this due date as just [music] the, uh, you know, day, oops, uh, just give me, give it to me as day, um, month, month. That's how I want it. And now you see, uh, we're getting, you know, one step above the rollup. We get it outputted in exactly when, uh, the pro, the way that we wanted, rather than, uh, this standard date formula, uh, date format that we have here. Now, very important that if we want to do this, we need to call this inside these brackets because the result of my map, right, the output of it is a list again, right? It returns a list with value. So the output here, even though it doesn't look like it, is actually also an array. And we can check this by typing length, right? And it will still tell us seven, right? It doesn't give us the length of the characters here, tells us there are still seven entries in the list. And to double check that, we can say, well, if we actually were to turn this into a string first, right? So remember format is, or we turn anything into a string, and then say length, we now get 80, right? Which is the number of characters when we put them all next to each other.
Let's take this one step further. Uh, we're not limited to returning just one entry here. All right, we can tell it to map several things. So let's, uh, take current dog, right? Close enough record. And say, what I would like you to return is the task name, and I would like you to combine this with, uh, an empty string, right? And then I would again like to go you over every single entry and return the, uh, due date, but format date, um, I would like to have, uh, you know, day day, um, dot, um, month, like day day, um, month month. That's what I would like to have. And now, as you see, is I get all my tasks, task names with the due date. Right? I could, of course, like now expand this. I could say, task name due on, uh, and let's make this maybe, you know, something like this, um, and we only need one D here. And now we see, oops, we missed, uh, space here. Now our result is, we get create client onboarding template new on 15th February, develop custom formula workshop you on 28th February, and so on and so on. But we can make it even a bit prettier by, as saying, telling it as the last thing that we want in here, we want, uh, a line break, right? The our new, uh, line character. Or we could add some formatting to it, right? The, the world is yours. You can add dot style in here, say, well, make the task name whole, right? Something like this. Uh, you see, this is where really formulas start to separate from robots because they give you full control over the output and not just like a very specific way to show things.
Now let's move on to the second operator, and that is filter. Now, where map goes over an array and gives you for every single entry in the array a certain value back, or whatever values you want. Filter allows you to reduce the numbers in an array. Right? It will go over every item in an array and check whether a certain condition is true, and only then will it return it. So basically, you're building a new array. Cuz remember, as we said previously, the cool thing about arrays is that they give us full control over the things that we have in this storage system. For example, we can say, well, in my array [music] I would only like to have now tasks that are open. And this solves one of the biggest issues that you had previously in Notion. And that was that if you had, you know, any, uh, relation, so for example, projects to tasks, you would always see all tasks in here, right? There was no way to say, well, in this relation, please only show me my open tasks. That's not possible. It shows you all entries. But with formulas and filter, we can achieve exactly that.
So let's go in here and let's remove this all and start from scratch. We type tasks again. Then we type dot filter. And here filter, you see again, it takes a list and then it takes a condition, and then it returns the values in the list for which the condition is true. So again, the output of it will be another array or another list, but only with items where our condition is true. Now, how do we check whether condition is true? Well, again, we go use current, where we go for every single entry in that array and say, well, is current, uh, is that, you know, the condition for this one true? So one thing that we could say is for current, the status, uh, not equal to done. Right? This means, uh, only if the task is still open will we return it. So then we can click on save. And now we have here our list of tasks. Now, I think this should actually be exactly the same lists. Yes, because none of the tasks are done. But if we now go in there, right, and say, okay, for these first three ones, let's check them all. Select them. We say status here is done. And we go back up. Now, our, um, formula will have updated. Yep. And we only see the four remaining tasks. Amazing. So now you could have a list driver see only the open tasks for this project right on the database.
Now you might have an idea where this is going because what we can now do is we can combine this with other elements. For example, what we could say is, well, give me the length of this new array. And now I see exactly how many open tasks I have remaining on this, uh, project. And I could use now our knowledge from previous, uh, parts, right? Where we say, okay, we combine things. We create these display formulas to say, for example, uh, open tasks colon, and then we add the number here, right? And we could also take the whole result that we have here and say dot style and say, well, we want to have this style in bold, and we want to have it in red. Right? And now we see, okay, we have open here, four open tasks here, we have four open tasks there, two open, four open again. Right? And if we check off any other tasks randomly, right, for example, this one, uh, and this one, we of course get corresponding updates here in our overview database. Pretty cool, right?
We can, of course, also take this now one step further. For example, we could give us some information on, like, how many tasks out of how many have we actually done, right? So, we have already the first part ready, right? We have open task with the current, uh, and then this. And now if you wanted to add to this, how many tasks we have overall, let's go into new line and say, okay, plus, what we want to show here is, um, out of, right? And then we're going to have our total tasks. And that of course is very easy, right? We did in the very beginning said task.length. That is all we need. And now we see we have four tasks out of seven, right? And we wanted to style this one. Uh, let's make this, you know, bold and, uh, three. Perfect. We see now, okay, we have four out of seven tasks done for this one. Or let's add one more element to this, right? Let's say we also want to present. So again, right, let's go a new line just so we organize our formula a bit a little bit and say for, uh, progress, uh, off. And now we can add here, uh, uh, our, uh, formula to calculate the percent, uh, progress. How do we calculate, uh, the percent progress? Well, we would need to divide our, uh, number of, um, uh, open tasks, uh, sorry, the number of done tasks by the number of, um, open tasks, right? So we would go in and we could simply copy this, or this would also be a good, uh, use case probably, right, to actually do some refactoring and, uh, put it into variables. So just to keep it simple up here, uh, now, just let's just copy this, say, okay, we want to get the, um, the ones that are done, equal to done, oops, uh, and we want to divide all of that, divide by, uh, the number of tasks that we have overall. Perfect. This gives us now this weird number. It doesn't round it automatic, right? So let's continue with, uh, our elements here. We, let's add like a, uh, some some opening brackets around this and move it up. Sometimes in Notion, it's like a little bit, once you need to go like back to the beginning of a line, it's very hard to to get your mouse there. But we just add our brackets there and then we say, please round this. Actually, we can't round it because if we round it, we round it to zero, right? Because it's a zero value. So if you need to round percent values, you need to always multiply first. Hence 100, then you need to, uh, dot divide 100, uh, sorry, multiply 100, then round, dot round, and then divide by 100. Now, 43, right? We could also skip the dividing if we want to have it as a percent value and then could simply, uh, add on, um, percent sign at the very, uh, end. And now we have this very complex formula which translates open task four out of seven for progress of 43%.
Now that was a little bit, you know, convoluted. So let's just go over, uh, just a basic way to calculate a percent progress using, uh, the filter formula mostly. All right. So we go in here and we start with tasks dot filter, and again, we go over every single entry and we want to check, is the status of this current entry, is it equal to done? And then we get the length of this length. Perfect. Three. Amazing. Now let's go into the new line to organize our form a bit, say divide two, this time with the symbol rather than dot divide. And I'll say we want dot length. And now I get my overall progress, right, for, uh, two, uh, eight, and so on. And then in Notion, right, whenever I want to have some, if it's just a number, not a string, exam work from previously, but if it's just a number, we can go in here and say, init property, number format, this will actually be percent. And then we can set decimal places and we can say, well, please set this to only one decimal. Perfect. So the rounding progress line, we only need to do this if we have it as part of a string. Cuz in the string, right, we need to format it exactly the way we want to see it. Whereas if it, the output is a number, we get from Notion some built-in functionality to display it in a nicer way.
Now let's very briefly look at a close cousin to filter, and that is find, right? Whereas tasks do return all items for which a condition is true. Tasks.find, find will, uh, return only one entry, the very first for which, uh, condition is true. Right? So if you have your task list and you want to say, find [music] the one where, you know, the current, um, status, uh, is not, um, done, then it will return the very first item from the list for which this is true. Now, unfortunately, this depends on the order of your list, right? It not necessarily is the next task that you actually have to do, right? Because the, the order of, uh, entries here, that is determined by the order in which you have linked. So if you change due date data, right? So what is it currently? It's client training session, uh, ABC, all right, client training session, session ABC, right? 5th, uh, well, if I now go in here, right, and put this date from March 1st to actually before it, if I say this is actually due on Feb 3rd, right? In an ideal world, it would already, uh, updated, but you see it's still there because, uh, this list is not dynamically ordered, it's just manually ordered when you actually relate it.
So how can we use now our knowledge though to build more advanced formula where we actually find the next tasks due in line? This is a great example for a formula and combines a lot of the things that we've done so far. It is also a little bit complicated, but we can get there. So what do we need to do? Well, if we think about it logically, we need to look at all our tasks. Then we need to ignore the ones that are already completed. Then we need to figure out which one has the next due date and, right, and then return that value. So let's try to go step by step. First, we want to get our tasks, and then we want to remove the ones that are already done, and we do this with filter. Right? With filter, we can say, only give me a task where the status is not done. All right, that's step one. Now we have only our open tasks in there. Now we want to sort them, right? We want to figure out which is the next open task. Now, if we just put in sort, right, what it will do, it will sort them alphabetically because that's the default value. But we can also tell Notion by what we actually want to sort, and we can do that again by looking at every single entry and telling it, what is the value that we want to sort it by? Well, I would like to sort this by current dot due date. Right? This is how I want to sort it. But I want to have it sorted by the earliest upcoming due date. And then all I would need to do, right, is we would need to pick the very first element from this route. Right? If we just type now dot first, we get only the next, the very first entry in this list, which is update Notion best practice. And we can check, is that the one that we actually need to update Notion best practice, February 3rd? Perfect. If we move this now to February 1st, right, it should be this one. So if we go back up, we see yes, client training session ABC cop.
Now, what if we wanted to get the next three tasks in a row? Well, we can easily do so. Instead of doing first, we can use slice. Slice allows us to, uh, indicate, okay, what elements of a list do we want, right? And we can tell it, we would like the elements from, uh, the zero to, um, zero to three. And this should give us the very first three entries in it. Client training session, update motion back press, and review planned setup. Why zero? Well, remember, we start counting arrays from one, uh, from zero. So if we only had one, two, three, we would only, uh, get the second entry and the third entry in its list. Together with first, last, and slice, there's one last option in Indonesian no to pick a certain element that is add dot add, right? Allows us to specify something specific. So for whatever we
Don't want the next one, but the one after that in line, we would say add one, right? And this gives us task number two in our ded list. Now, don't forget that since this returns an actual uh relation value, we're not just stuck with showing it like this. We can format this in any way, shape, or form we want, right?
So, if we, for example, say, wait, let's give us the first value instead of just having this. If you want to have, for example, the task name and the due date, what we can do is type now dot right? And this gives us again access to all the properties that we could print out. If you want to print out several properties, the best way to do this is now to actually copy this whole thing, right? And say, use for a variable. So, let's say, let open it up uh task be um here our um relation. And then now we can use it, right?
So, just to recap what we did here. We want to declare a variable. The name of the variable is task, and then this is what task should be, right? Should be the very first one, the the earliest due date. And now, what do we want to print out? Well, we want to print out task dot task name plus a space, uh, so plus due on, and then plus the um due date, right? I mean, we could also like format the due date and just say um, give me uh day day, um, and for month, uh, signs perfect. And then we just need to close off our uh expression. And now we see, okay, our next task is a client training session for ABC New on February 28. And of course, we could add anything to it, right? We could have it say um, sort of uh, next task plus this. We could also add to it uh the priority, right? So plus um priority, um, plus pri oops, task dot, not tasks, but task dot uh priority and so on and so on, right? Whatever values we have in our other database that we want to print out here as sort of this status element, we can grab it through uh using our expression, ideally together with a variable so I don't have to retype it all the time.
Now that we are well equipped with knowledge about all data types and various formulas, operators, it's time to tackle one of the toughest challenges in Notion, and that is how do we do spreadsheet-like math in Notion, right? You remember at the very beginning of this video, I mentioned that it's very hard to do calculations that you expect in a spreadsheet because Notion is a database, not a spreadsheet.
So things like figuring out, well, what is the highest number in something, uh, that can actually be quite tough. So, for example, let's say we have here our campaign, and what we can of course do is we can simply sort it by [music] open rate, right? And figure out, okay, what is our best open rate, right? Uh, fairly fine. Uh, okay, this is the best one. But what if you want to build a gallery view where we show only our best [music] performing um campaign, right? Maybe one campaign, maybe three campaigns, a custom number of uh campaigns. You want to display only those.
Now [music] in Notion, uh, currently, if we look at our options, right, for a load limit, we can set it to a maximum of 10. So there's no option to say, well, only show me three items in the database. At the same time, uh, if we had, of course, like another database, right, where we, if for example, if campaigns [music] were part of a larger marketing initiatives and they were all related there, we could show, uh, with the same idea, right, that we showed here on um projects, right, the next uh one in line. We could use the same principle to show um on the other database the one entry. But what we want to achieve here, right, is we want to show on campaigns, right? I want to not be able to filter campaigns to show me a little gallery card, uh, with only the top-performing three campaigns. And that is quite tough, but if you know how, it is actually a really cool Notion skill. So let's get into it.
The first thing we need to do is we need to build a second database, right? This is true for all these situations. We always need a second database which we can call just our analytics database. And the whole purpose of this analytics database is to allow us to do both math on this [music] database. So what we'll do is we add one entry in here. We only need one. We call it analytics. And then we will relate this uh entry to our uh campaigns database, right? I want to show it on this one. Add relation. Perfect.
Now we need to make sure that all entries in campaigns are related to this one entry, right? So we say edit property, give me analytics. [music] Oops. Analytics. uh and link it all to this one entry. Now, if you set this up for the first time, right, you can do this manually by just like selecting everything and linking it. For the future, if you want to have this live update, you want to make sure that you set either a database template by say, sort of like new campaign, and you make sure that every time a new campaign is added, it is always added to analytics and setting this as a default template. That's one way how you can enforce this, right? The other way of how you can enforce this is by creating a database automation and saying, okay, whenever we have, you know, a new page added, please make sure that, uh, edit property analytics is set to this analytics entry. That way, right, we don't need to think about connecting it, and all our calculations update in real time whenever a new campaign is added to this database.
Now, this relation is now a cheat code that allows us to do math, right, on this campaign database because rather than going now to analytics and writing our formula here, we can actually write our formula direct on properties. So, uh, let me show you what I mean. Let's add a new formula property and let's call this, uh, top three question mark. And here in the formula, what we can do is now we can go to our analytics entry and we can say, well, from analytics, please map current um dot the campaigns, right? Go into the analytics relation and then give me all the campaigns. And with that trick, I now have all the campaign entries on my campaign entry, right? So it's sort of doing some reverse logic here in order to have them all here. And now what we can do is we can use that to ask any question. Recap.
So, let's start by asking the question, which entry has the highest open rate? And in general, this should be fairly straightforward because we've managed to map our campaign array into this one, right? So, let's just uh go over it quickly again, right? We have here in our analytics, we have our array of campaigns, and by writing a formula on campaigns that said, well, go to analytics and get me this array, we now see this array here. But there's one weird challenge first that we need to solve. If you try to call any type of array function, we see that it behaves a little bit weird. So, let's say, for example, we wanted to say, gee, please um, you know, from from every entry in this list, please give me the uh open rate, right? So, in every campaign here, I want to see the open rate. I do map, I do current dot, and yeah, my properties. I don't see any of the properties from campaigns, what I, which I would usually expect, but usually the campaign properties should be here. So something is clearly wrong with this array that we've pulled in here. And we can verify this by calling dot length. The length apparently is one, even though there are like, okay, now now we have this, right? The length apparently is one, even though we clearly have, you know, seven or 10 entries in here. Why is that? Well, map returns, uh, a list of entries, right? So it goes over every entry in analytics and returns what it has there. [music] So, in this case, it actually returns a nested array, right? There's the first entry from analytics, or one analytics entry has these seven arrays, these seven elements in it, but it's less than that's why we can't directly access it.
So, long story short, right, this is a little bit complicated. All you need to remember is that if you want to do this, if you in normal formulas, you want to access elements one level or two levels deep, right? So you want to go through a relation, grab new [music] relations, and then call something on them, you first need to do one between seven and do flat, right? That's the the TLDDR. If you do flat and then length, you see, well, eight. Okay, now we have all our entries, right? And now we can start calling, uh, our operators again, right? So we were to do map current dot open rate. Perfect. Everything is good in the world, right? We now have all our, uh, open rates, um, in here. So that's exactly what we want, right? We want the open rates, and then we want to compare whether the open rate equals the open rate, uh, of our specific entry.
Now, there's a few ways to do this. One way that we can achieve this is to say, okay, we have now our open rates and we're going to sort it. But we can actually write in rather than saying map current.open open rate dots sort, we can, uh, skip the map step altogether and directly call, um, sort, and then just pass the argument current open rate in there, right? Now we, uh, uh, order them by open rate. That open rate is ascending, though, so I want to have the highest one first, right? We say, uh, then dot reverse. And now we have, um, by highest open rate, our array sorted. All that's left to do at this point is to check whether the end, a specific entry in our campaigns database, is that entry with the highest rate, right? So, in order to do so, what we can do is we can now go in here and say, um, all right, um, is, you know, the, um, is my, uh, name. Oh, so we need to get the first one, right? So, reverse dot, let's get, uh, at zero [music], right? That is the very first entry, and we can simply ask the question, well, is our, um, u name, right? Not is the entry that we're looking at, right? Is that the one that gets returned here at zero?
Now [music] currently, this doesn't check anything, right? Because we actually compare this to, um, the object. So we need to also do the format, right? So it actually gets turned into, um, into a text. And now we see, well, uh, which one is our top entry? Power of Notion, right? This is correct. We have 58 here, so it's all good. This is how we can easily find the top value, uh, from it. But now, if you don't want to find the top value, but maybe the top three, we need to slightly adjust things. For this purpose, let's go back into our formula and let's slightly adapt it, right? So let's remove our subject line element here, um, and then let's go here and say we actually want to stop here, right? We want to go back to this point where we have just our array. And now what we want to do is we want to actually map it. We want to get, um, our, uh, different, uh, open rates, uh, earlier, and we want to make sure that we, um, sort them, uh, and that we have them in the right order, right? Just to be sure that we have the highest, uh, open rate first.
Now, what we can do in order to check for the top three is we can say, well, let's get the third highest open rate, right? So that is, um, at, uh, number two. Remember, zero is the highest, one is the second highest, and the two is the third highest. The third highest open rate is 52.1. So how do we check whether an entry is in that range? Well, we simply ask, is our, um, you know, the open rate of a specific entry we're looking at, is that larger than or equal to this number, right? The 52. And then we click save. We see now we have our top three elements checked, right? Because for these three open rates, the condition resolves to true, which means [music] at long last, we can now build our view, right? We can now go in here and say, okay, now give me please, uh, a board view. Uh, I want to actually, not a board view, I want to have, um, a gallery view. I want to see gallery. I don't want to see the database title. I don't want to see the page content, uh, and I want to have a filter set where we say, okay, where top three, um, is checked. Now I can have my custom, you know, order of things. If I wanted to see the top before, I would just, uh, increase the at index, right, by one. And I can also like then start displaying my click rate if I wanted to. Could use a display formula that we talked about earlier to say, well, this is the open rate or the click rate for this specific entry, and we get these [music] dynamic reports in Notion.
This was very complicated. So let's just quickly, quickly revisit, uh, how the the process works, right? We go in and what we do is we relate everything to our other database. And this other database, uh, can, like our, uh, array here, can now be pulled back into our main database. And then for every single entry, right, we can ask the question, is this bigger than something? Is this larger than something? Uh, whatever it is. And this helps us work around Notion's limitation, right, of being a database, not a spreadsheet, because our math can always only happen on one specific entry. But by pulling all the reference data into that one specific entry, well, we can do that math. But of course, there are limits to this, right? This is a very inefficient way to do math. A spreadsheet is a lot more efficient. So if you have very large databases with a lot of entries, doing these sort of calculations will slow down your databases, right? Um, if you have like a ton of questions like this, like self-referential formulas, that is something that can impact the load speed quite a bit. So be careful with where you employ it. But still, in the right situation, it's a very, very powerful tool.
This method of using an analytics database has a second benefit, though, and it's one that is a bit more performant, right? So it like will slow, won't slow down your database as much, and that is building analytics for, we actually called it so far, right? And we so far we've done our analytics on this database. But what we can also do is we can use this analytics database here to display any kind of information that we want. And this is super useful. It used to be probably the best way to get analytics in Notion before Notion rolled out charts. Right? Now that we have Notion charts, and this method is less needed because often times we can just create charts. But there's still two very important use cases for this. First, if you don't have a paid Notion plan, right, and you want analytics for free, this is perfect. And second, sometimes you don't want a chart, right? Sometimes you want just some output numbers. And that's what we're going to build with this.
Let's say, for example, we want to know how many campaigns we have sent. Well, that's a very easy formula, right? We simply go down here, say formula. Okay, campaigns, campaigns number, something like this. And then for the formula, it is campaigns.length, right? Easy peasy. That one is super simple. Now we can continue, right? Pretty much any math question we can ask about this, we can answer here. We can ask, what is our average open rate, right? So let's go formula, add a formula, uh, average, uh, open. And we go in and say, okay, please give me campaigns. Please, uh, like for every campaign, let's grab the, um, the open rate. And then from that, I want to have, um, either the median, right, or the mean. We have no built-in functions for this, uh, to get that super simple. We can get our median one, or in this case, we want the average, right? So the mean. Can save it, and we see, okay, we need to like also turn this into percent. Our median average open rate, oops, 50,000%. Yeah, that's because here it's actually in total numbers. Uh, I had to sample sample data wrong. So let's remove the percent. Let's go back to our number, then it's correct. Okay, we have 15.625% average open rate.
So you see, this is a lot easier than the other method, and only your creativity is delivered. So, for example, let's say we want to know, well, how many campaigns do we have, our our open rate is, um, above the average open rate? Well, we could do this and go in here, right? And say, okay, average open is this, this, we already know. Now, what we want to do is we want to, um, scale, go into campaigns. We want to filter, um, them out, and we want to say, well, only give me the ones where current dot open rate, right, is, um, bigger than or equal to, um, the expression that we just wrote, right? And then we can go in there and we can count total length, oops, dot length, and we can figure out, okay, four of our campaigns, uh, are, you know, bigger than the average open rate, and four of them are smaller. In this case, it's like very similar to the median, but in case you have some outlier campaign set, drag a very strong and one on the other direction, this might be different. So maybe some useful information to calculate.
Now, this is, of course, not the nicest way to display the information. So let's bring it home and again into something where we use a lot of the things we learned previously and create a nice little display card. So let's create our, you know, display formula, display, uh, campaigns, uh, oops, campaigns, uh, and say, okay, camp, campaigns, thanks, send, plus, um, a number, right? Perfect. And then let's create a second one. Actually, let's, uh, add it all. No, let's, let's create separate ones, right? For the exercise, formula, blah, blah, blah. This is display, display, um, open rate, and say, okay, here, uh, let's say, uh, average open rate, plus, um, average open. And here we need to then fix it, right? Let's go back to our previous calculation. We just care about, um, the, uh, percent. And now we have these values, right? And then we can go in here and we can create, and again, not a counter view, oop, sorry, uh, meant to add a gallery view, uh, no database title, no page content, and then I can turn on my display properties, uh, how I want to see them, right? Let's say display campaigns and display open rate. And, uh, oops, we have the second one that we don't need. Delete it. Perfect.
Now we have this nice little, uh, you know, info tile. We can embed it anywhere in our workspace. It will tell us, okay, these are our statistics, right? If you want to get rid of this like little new thing, there's unfortunately only one way right now. We have to lock the page, right? Then it disappears, and then we have this very clean view, uh, on a page to give us insights into how our business or our workspace is running. Just one last thing here. The main use case probably for this one is to create actually analytics into your, you know, task manager. Create like this little personal assistant that tells you, well, you have these many tasks for today and so on and so on. Very simple, right? Uh, same principles as with the campaigns. We would simply take our analytics database, the same one or a new one, and, you know, create a relation to our tasks. Uh, here are our tasks. Perfect, two-way relation, right? Relate anything from task to this task base, and then ask questions like, okay, how many tasks are you today? Right? Check whether task you did is equal to today, or how many are with you? Check how many are, you know, last, uh, behind today's date? How many are this week? And so on and so on, right? So whatever question you want to ask, right, with this simple method of creating a relation to an index database, relating everything, then writing the corresponding formula, you can get all these insights within seconds at your fingertip.
Here's how that looks like. Now, if we add a dynamic part, right, here, we don't, uh, multiply it with static numbers, but instead, one of the numbers that we multiply is the current timestamp, right? And the current timestamp updates every minute, which means every minute this calculation will be different. So if we reload the page in 1 minute, these numbers will be different. That means we can then have, you know, like our sort, we can sort sort by this random number. That means whenever we look at campaigns, right, we would see a random campaign, or if you have quotes, we would see a random code, and so on and so on. It's a little bit complicated, and I'll create a new video actually separately about, you know, how to create random numbers in Notion, how to use them. I have an old one also in the description. It's a little bit outdated, but it still shows the basic principles.
Now, before we go to the next big chapter, automations, there's just one tiny little thing that I want to mention, and that is something we touched upon much earlier where we said, well, formulas are very similar to roll-ups. All right, they can pretty much replicate a roll-up, but there was one little thing where we still need to use roll-ups in Notion. And [music] I just want to quickly mention that so you don't get confused by something that won't work. You see, a very typical thing in Notion, right, is something called a self-referential dashboard. We have, for example, our projects, right? In our project, we then set up a template where we say, okay, uh, new project, and here I want to create a link view of the tasks that are connected with this, right? So I go tasks and I say, okay, from this task, filter, show me only the ones where the project is contained, connected to my new project here. And that now means, right, uh, that if I go somewhere, for example, here, Northeast Migration, I load in this template, and I will see only the tasks that are to this specific element.
Now, the thing you'll notice is that I've done this via, um, the relation. We can, of course, go one level further, right? We could say, okay, on on tasks, right? Maybe on tasks, we want to see something that sits above the project, right? Let's say we have here, um, let's add a new thing in there. Let's say, um, we have a database and this database will be OKRs. Perfect. Let's quickly create this new table OKR. Let's relate this to, uh, our projects. Here our projects. Confusing now with all these entries here. We have, you know, OKR one, and this belongs to, um, uh, some of our, like, yeah, like this very first product. Uh, what we can do now, of course, is we can use these self-referential, uh, uh, relations, one, uh, uh, level further, and we can say, okay, on on the task, right, new class, I would like to see the OKR. So create link view database, and even though, um, on tasks, right, I don't have, sorry, not tasks, uh, I need to go to, uh, you know, create link view database to, uh, the OKR. Even though we don't have a direct relation, we can still show it here by going to OKR and saying, okay, on OKR, where are we? On OKRs, I would like to have a roll-up for my tasks. So, I go in here, I create a roll-up, and I say, no, tasks, and we pull in from projects my, um, tasks. All right. And we're going to wrap this on tasks with a roll-up setup. I can now go in here and say, okay, OKRs, filter this OKR list for only the one where, um, tasks, any contains the new task template. Same idea, self-referential template. This will automatically show all the OKRs that have been linked to the project that this task is linked to. Like this only works with the roll-up, right? Even though we can currently replicate this look with, um, you know, past formula by saying, oops, please go to projects, and then, from projects, map current. Right, show me all the path link to this. Creates exactly the same look here. But if we go into this, um, template picker, right, and we say, okay, actually, let's switch this from our roll-up to, uh, our formula. We see, uh, oh, we don't have any picker. We can only hardcode in values, which is of course not what we want, right? Because if any of the names change or so, that would not be great. So this is the one limitation where, um, formulas and roll-ups, you know, still fall apart in terms of functionality. As soon as Notion updates this and ships this, formulas can replace roll-ups pretty much altogether. Roll-ups are then just an easier way, right, to write formulas. Um, but yeah, uh, good to notice. It's sometimes something that you run into if you build more complex setups, particularly like we do for our clients. So best to keep that in.
Now, before we move on to automations, I have a quick favor to ask. If you found this helpful so far, please subscribe to the channel and consider joining my Notion newsletter. There are already more than 30,000 Notion fans on it. Pretty insane. Over there, I share more tips, free templates, and a behind-the-scenes look as I'm building out Europe's number one Notion consultancy. You'll find the link for all of this in the description. But now, let's continue first with automations.
All right. All right. All right. I hope you are excited because now that we've learned everything there is about Notion formulas, it's time to take things one step further and use automations because at the end of the day, formulas are amazing, but they have one sort of [music] big drawback. Notion formulas can never influence any other property, right? Anything that we write in our formulas will only be relevant in this formula property or in other formula properties that reference it. We can't write a formula to say, well, if something happens, then please change that, right? So, for example, let's say we have the current due date, right? This is today. We kind of know. We can, of course, now go in, right, and say formula, okay, you know, overdue. And we can say, well, okay, if the, um, the the due date, right, if that is, um, smaller than today, right, then please, um, check it, right? We want to see when it's overdue, right? And this task here is now, uh, due or like overdue. So we need to have it checked. But we can never ever go in and say, okay, if it's overdue, please set the priority to high, or please assign the responsible to me, right? Don't have sort of like actions inside formulas. In order to influence other properties in our Notion database, we need Notion automations.
So this part of the video and this master class is all about how we can use these Notion database automations to influence, to update things in our setup. Now, there's one important caveat before we dive into this section of the video, and that is that currently, at the date of filming, Notion database automations are only available on paid plans. So, in order to create your own database automations, you need to be either on a paid plan or on one of the sort of like paid plan equivalents, the, for example, the education plans, right? Where you get a paid Notion plan for free. Otherwise, you can use Notion database automations that other template creators added to their templates and you download them, right? But you won't be able to change them. So, that's just something ahead of time, but still, right, it's very well worth to learn these concepts, and it's probably, if you need any of these automations, [music] worth paying for Notion because they can save you a ton of time.
Before we get into the details, we need to just quickly think about the general structure of any automation. And this is true whether you build Notion database automations or whether you work with any other kind of no-code tools. For example, Make.com, Zapier, right? They all follow one basic principle. There is a trigger, something that happens, and then there are actions, some things that will be changed or updated. So, trigger refers to anything that happens in your Notion workspace that can launch a database automation. That can, for example, be the click of a button. It can be that a certain property changes to something. Yeah, some actions that have happened. And then there are actions. Actions are things like, let's update a property, right? Or let's send a notification, let's send an email. And the thing is that whenever you build database automation, you will always be triggering them sequentially, right? The trigger happens, and then action one happens, action two happens, action, and so on and so on, right? However many actions you add to it, it will all be executed one after the other.
So, basically, when it comes to database automations, there are two very big important limitations in a system. The first question is, well, what can be our triggers, right? That changes and Notion over time will release more triggers, hopefully. Um, and then there are actions, right? Like, what can we actually do once something has happened. Overall, Notion database automations are still in the early stages, right? They are not by far not as robust as dedicated platforms like Make, Zapier, Relay. Um, but they are still very, very helpful. So, we are going to learn how they work. You can also then use this knowledge, try to use other no-code automation tools, and as Notion releases more robust functionality for Notion database automations, you still have understood the foundational principles and can use that to build pretty much anything you want. So, let's get going.
Now, actually, three ways to sort of trigger or create a Notion automation. The first one is through the flash icon here, but creating new automations. The second one is by adding a property which is a button property. And the third one is to just add a button anywhere in your workspace. And this is the simplest one. So let's actually start with this. This is also actually one where I forgot. Uh, this is available on free plans as well, right? The other automations, the ones that trigger based on the database, this is available on paid plans. The button that is generally in your workspace that is available everywhere. So let's add this button and let's say, okay, click me! Exclamation mark, that's the title for our button. We see it here. We can also add an icon. And then we see here our build when button is clicked. So the action is key, right? With the button, don't have a specific trigger. The button is, add a trigger is always the button is clicked. Do action. That's why it's a bit simpler, right? Because we don't need to bother with triggers yet. We can simply focus on the actions. So let's click on action and see what actions Notion gives us. Currently, at the time of filming, we have insert blocks, add page to, edit pages, send in a notification, send an email, send a webhook, show a confirmation, open something, send a Slack notification, and define variables. Lots of options, so let's go over all of them.
First up, insert blocks. That one is very self-explanatory, right? We, when we click here, we can say, okay, should we insert blocks above or below the button? And then whatever we write here in this complete Notion formula, at a complete Notion editor, will just be inserted. And this can, think of this a little bit like a database template, right? On Notion database, we can define this template. Every time we add a new entry to the database, it loads these blocks. This works exactly the same way. So I have headings, right? This is a heading. I have, you know, just some text. And when I now close this button, right, and I will apply this, this information will be applied. You also have access to some dynamic data by typing at. I see, okay, I can have, you know, the time when it's duplicated. So whenever the button is clicked, that will be inserted. And I can have, uh, also like, you know, remind specific people. But we, in this case, we want to say, just, okay, um, let's say, uh, for example, this could be, uh, very useful if we had like a running log, right? So, um, for example, journal, uh, journal, uh, journal entry at today by, you know, me. And now, uh, you know, just have something down there. I will click on done. And now, if we click this button, happens exactly what we expect, right? We create this new journal entry at a date by my tears. I can, you know, write something. And whenever I click this button again, I will add another entry, uh, below the button and above all the other things below it. And then, oh, click me, click me, click me, just add these things to the page.
So let's go back to edit our button. For to do so, we hover over it and then click on this edit button. And here we see, uh, we can add more actions, right? So we could do something that runs after it inserts these things. So we could insert more blocks. But for now, let's just, uh, remove this action and look at the next option. The next option is to add a page too. And if we click on here, what it allows us to do is we can say, okay, we can add an entry to a database. So, for example, to our task database, we can add a new entry. And the second we select our database, it now allows us to give, you know, the entry a name, right? So, new task per button. Um, we can edit a property. We can say, you know, the due date should be set. For example, the due date should be set to, you know, there's, for example, the date triggered time, right? So we can set it to now. And let's say the priority will be set to low, and responsible, we can hardcode it to a specific person or say, whoever clicked this button. Perfect. So let's click on done. Let's, uh, take this button, uh, up here, right, uh, above the database to see how it works. We say, click me, and now we add a new task through button. Perfect. Has a current date and has me as responsible.
Now let's use and combine this with our newfound formula mode because what you'll see is here there's this like edit as formula option and also here, right? Whenever you click into anything, you always have the option to use a custom formula. So, for example, we can say, I don't want to have today's date state, right? I want to have, um, always task set for tomorrow. Now, tomorrow isn't available here. We can only pick like a fixed date or, you know, when it has triggered. But by writing a formula, well, we can do that. So let's go in here, say custom formula, date trigger. How do we increase a date? Or with date add, right? So we say date add, increase it by one day. Perfect. Let's save this. Let's close our option and let's click the button again. Right. The next task will be for February 1st. Amazing. This is how you can use now formulas to update the information in your, uh, database automations or button automations dynamically.
Let's do another example. Go back to edit. Say, new task through button. I want to know who created this task. Right? You have a responsible here, but, uh, still, I want to know who created this. So, new, uh, let's add it as a formula altogether. So go to edit as formula and same experience as before, right? You can simply type, uh, all the strings that you want to insert here. But you also see in terms of properties, you see, uh, as one option is like whoever clicked this button. So we say, um, new task by, plus, whoever clicked, right? Click and save. Click on, oops, scroll down here to done. Click me. New task by materials. Perfect. That works.
Let's continue with the next operator, and it is the edit pages option. Now, this is a dangerous one. So definitely make sure you practice here with some sample data, not your main databases. Let me show you what I mean. So let's say edit databases. Okay, we select, uh, the database tasks, and by default, it says edit all pages and tasks. Now, for example, I say, well, I want to edit task name, and I just click on done, right? And now innocently run this. What you'll see is it overwrites all my names, and unless I find, you know, this undo button here in time, I just deleted sort of all my entries. That's not good. So two things: we want to always make sure that we set a filter to say what entries we actually want to edit. And then we probably don't want to have an empty thing, right? We don't probably don't want to override something. So let's, uh, for example, let's say we want to edit only the overdue tasks. We want to say, okay, everything where the due date is, um, before today. On these tasks, please don't add a task name, please add a due date. And let's add a due date to, um, you know, custom formula to, um, just let's add it to tomorrow, right? Like date add, um, 1 days. So after that, we don't have any overdue tasks anymore. Perfect, easy solution to not being able to finish them. So we click this, and we expect that this one here, which is on January 30th, right, will update to Feb 1st. Click me, and then in a moment, perfect, Feb 1st. We even get the time we put the time in there. So we might want to update this to instead of, you know, like doing now, just saying today. But the general idea works.
So let's go over the other actions a bit quicker. We'll talk about them more in more detail later, but just want to like quickly raise how they work, right? So send notification to allows you to specify people in your workspace and then write a dynamic message to them, right? A button was clicked, and just the same way as previously, where we can say, by, you know, me, to get some dynamic data in there, um, we can use a formula, right, here to say, button was clicked by, plus, uh, whoever clicked, uh, and then we can select our person, right? So let's say I want to notify my tears. Click on this, and now if I click this button, right, I will set, get a new thing here in my inbox. Click me, and in a moment, um, we'll have this tick up to 30 because I have been notified. Next action, send email, right? Here, very simple. You select an account from which you want to send an email, and then you can also specify here the message that you want to send to the person, similar to that Notion notification.
Next action is send webhook. We'll talk about this later, but this is a very good option to trigger third-party automations, right? So if you say, okay, I want to do something, but Notion database automations are not robust enough. I need Make, or I need Zapier, but I need to know, uh, based on something that happened in Notion, when to run this automation. This is your best friend, right? This will be able to trigger something elsewhere. Show confirmation allows you to ask a security step, right? So let's say before someone edits all the pages in off, right? Before we say edit pages in, we have our, um, you know, task database, and before we set everything to, uh, to a blank task name, are you sure you want to continue? Yes, that's definitely a good question to ask. So we will click this, and now we get this message, and if we click on cancel, it will abandon the rest of the automation run, and you can, of course, customize, right, what it says. So this is show confirmation. Then we have, oops, edit pages in, then we have, uh, next, the open page. This is very useful, right? Uh, either as navigation, so you can just use it stand alone, and you can say, please open a certain page, right? Let's say I want to open my project management overview in full page. And now, if someone clicks a button, it just behaves like a navigation button on a website. Alternatively, you will use this a lot when you add entries to a database, right? So previously, remember we added a page to our task database, we said, add a new entry to tasks, uh, you know, new task. Often times when we do this, we want to be able to edit it directly because our button might not be on the same page as, um, the database. So in order to make sure that we can easily afterwards, uh, see that something has been added and then edit it, we want to make sure that we cap this first in our automation. Add page to task, and then where we say we want to open, we can say, open the page that has been added and added inside peak, right? That's my favorite way to do this. And now, if you click it, we add this entry and we add, open it here, so I can edit it and change any other options. Very good for UI, in particular if you work with teams, right? You always want to make sure that if you add an entry to a database, you open it afterwards so that people know something happened, right? They are not confused about it. Button click actually do something.
For the next one, this is send Slack notification to, and it is a built-in connection from Notion to Slack, right? So, if you have authorized Notion with Slack, if not, like it will pop up here that you need to connect it, and then you can select your Slack channel, and then you can say, okay, you know, in projects, I want to send a message. But there's one big issue with this, and you see it already here, right? It simply says notify this channel. There are no customization options, right? I can't click on here and say, well, this is the message that it should send. I can't pull in any data. So this is something that I would actually not recommend using. I will show you later how you can use Notion automations to send custom notifications to Slack where you have full control over the content. Just know there is an option to do this, but it will send a very generic message. Um, and yeah, since it can't be customized, I really don't like that option.
The last action that we have available is to define a variable. And even though it's the last one, it's probably one of the most powerful ones and one that we're going to use a lot when we do more powerful, uh, automations. Uh, for now, all you need to know is that this step basically allows you, well, to define a variable, right? So we can give this a name, uh, my, you know, like, just let's call this v, and then it, we can hardcode a value, right? We can just say, okay, my variable should be one, if for whatever reason, you always need access to that. Or we can use a formula, and that's where the magic will later happen because we can then reference certain elements from the trigger of the automation, define it as a variable, and use that to then inform later other action steps, right? So the second I have defined a variable here, uh, in my other action. So, for example, when I say, you know, add a page to select database, let's save to tasks, right? We see now that in, if I open my formulas, I have my variable that I have defined previously here, accessible, right? So this is really, really cool because it unlocks a lot of very useful workflows, but you need to see them in action. So, for now, let's just keep it at that.
Now, most of the time, these Notion basic Notion buttons have four use cases for you in your system. You can use them for navigation, in you can use them to add pages with quick actions, you can mass update data with caution, and you can modify page data. That's pretty much what the automations unlock here. So, it's very simple automations, but still helps us with the UI. As an example, right, here's a marketing, uh, landing page for a team, uh, in a bigger company. And one thing that we can do here very nicely is we can use these buttons, right, as UI.
elements to quickly help people navigate around, um, the website. We could, of course, right, also use, uh, standard links, but buttons sometimes are just like a nicer visual element than a lot of text. Uh, very simple to do around. Simply, you use the open page, uh, module, and when you use them as navigation, you always want to make sure that you open the page as a full page, right? So that it really feels like, okay, you're jumping from one element to another. Advantage is that you can, with buttons, right, it has the same look whether the button goes to an internal page in Notion or to an external page, right? For example, this one goes to a website, and that's very nice.
One other trick that you can do with this, you know, open page in, uh, feature is to actually open a Notion form, right? So for request design, if we click on this, we actually open a Notion form, and that makes it just again, then very easy for people to fill out some information. So that's one of probably the best use cases for your Notion buttons.
Option two, right, adding pages to something that's basically your quick action selection. So if you want to allow users in your system or yourself, right, to quickly add things without having to go to a database, these buttons are just great. So here on my personal dashboard, right, on a manager dashboard, we have a bunch of things, right? We have my system, and it shows me my projects, tasks, and docs. And I see the same things for my team, right? So I can quickly check what they're working on. And if I need to add something new, right, rather than having to go to my system task and then click on new here, I can simply hit the new task button. And we use the add page to step, right? In combination with open a newly added page in the site tab. So I have this UI effect of quickly being able to edit, uh, add an element and then update it, right? So just if you inspect it, just like you saw it before, right? Add tasks to task as empty, set me as responsible, right? As the person who clicked. And then let's open this page in the side peek. Very simple Notion automation, but one that you're going to use all the time.
Buttons can be nice also to mass update information, but again, right, this is something where you need to be very, very careful because it's very easy to just mess up your data altogether. So one example where it can be quite useful is to say, well, I want to be able to reset my due dates. We know the situation sometimes we added due dates to tasks to the best of our intentions, but then they just didn't have. And now rather than, you know, just dragging this like selection of tasks with like hundreds of due dates in the past with us, we can have a button, right, where you say, for example, okay, let's reset everything with a due date in the past to tomorrow, right? Maybe some more granular rules, right? We just clean out the due date so we can reassign it. We could also do this if you use typically time blocking, right? And if you want at the end of the week, you want to make sure that all open tasks, if they had a due date, right? A due date, you want to clean that due date out so you can reblock them again. So lots of options where you want to mass update things, but again, need to be careful.
The way we want how we want to set this up is, uh, usually with the two-step, right? We want to show a confirmation just so we don't accidentally click it and edit all the information. And then we want to make sure that we, uh, set a granular filter. So in this case, what I'm saying is, okay, please edit all pages where the due date is before today. This is probably too wide, right? But for this example, it works quite well. In another example, right, what you would probably, what you probably would want to add to this, right, is and the status of this task, which we don't even have in this database, right? And the status of it is not done because of course, we only want to update, um, entries, you know, that that are still open that we still need to modify. Uh, and then we can click on done, right? And then in this case, we see now in a second, all these due dates that are in the past will update to tomorrow. So I click this here, I confirm here, and now we see everything has been set to February 16th. So works really, really well in these situations. But again, be careful.
[music]
Another situation, right, where you might want to add this button is something where you want to mass assign tasks to you. So, in a team setting, for example, this can be very useful. If you say, okay, uh, you know, I'm the, I'm the team lead, right? And I need to assign all tasks that are overdue to me, or I need to assign everything that is high priority to me. Then that is a very easy button, uh, to to build in order to do that. But I would always make sure that you A) test it with some sample data, B) use a confirmation step so you don't accidentally update things, and then C) triple-check the filter that you set here so you don't, you know, mess up your information altogether.
Now, the last use case of updating specific page data is actually a sort of a bridge step to our next topic, which are database buttons. If you have a page that lives in a database, right? So this one doesn't live in a database. This is just a regular page, right? That is nested inside my YouTube container page. So, uh, here, uh, we don't have that situation. But the second we open a page that lives in a database, right? So it has our properties here, and we add now a button to the page body, you'll see one new thing. Let's just call this, uh, set to done. We see that when the button is clicked, we have a new action. And now we have, uh, it, Notion just moved yesterday the the UI. So when you watch this video, it might be back out here because actually, I think it would be better out here. It used to be that we have an option here now that is called, you know, edit page details. Now you need to click on edit pages in, and then where it says select database, you see this page as an option. So just know, right, that, um, there might be when you watch this video, a slightly different UI. But basically, if you have a button inside a page that belongs to a database, then you have options with a button to update only the specific page on which you clicked the button, which makes sense, right? So let's click on this page. And now we see, right, when we edit a property, we could, for example, say, set status to done. And this is sort of the counterpart to the edit set that we just saw, right? Here, this button outside here, we need to set a filter for the whole database and will update every single page for which that filter is true. However, on this button, it will always only apply this action to, well, the page on which it has been clicked. So if I click this now, right, we will set the status to done. But if I check another task, right, this of course has not been started. But if I add the same button, right, if I just copy this quickly, uh, should have done this in a template, but oh well. If I add this here now, right, and we click again this button to set to done, we also set it here to done.
Again, this can be a really nice UI feature, right, to help, uh, when you build this either for yourself or for your team to, uh, sort of systematize certain actions that you would take in property so you don't have to scroll up because these buttons can be anywhere on the page, right? If you have like a very long one, for example, let's say you have, uh, um, you use Notion to organize, um, you know, certain blog articles. You could have very long blog articles, and the very bottom of the page could be, you know, a button to, you know, approve, uh, the document. And so, you know, the person who's supposed to review it reads through it, and at the very bottom, they have then this button to approve it. Very neat and simple.
Another way could be, right, to add buttons to, you know, set this specific task for today. Uh, or if you use a wiki and you want to allow people to highlight that information has been outdated, right? Having a button at the top of wiki documents to alert the responsible person that this is outdated is a very good idea.
You can actually add to this, right? Let's use our first example where we do something a little bit more complicated. Let's assume this is not a task, right? But it is one of these wiki pages, and we want to make sure that we set it to, you know, needs review because it has been outdated. So I just added myself here as responsible. And now I can do this, right? Let's, uh, update, update this button. Let's call it, you know, uh, notify or like, um, mark as, uh, outdated. And then we can, we could add, you know, a confirmation step. Is here, you know, are you sure you want to mark this as outdated? If you work in a team environment, that would be a good idea, right? You always want to have people confirm actions before they take them. And what we would then do, say is, okay, we want to first make sure that we edit this page and we set the status to needs review. Same idea as before. And now we add another action, and we say we want to send a notification, right? We want to select a notification. And now the really cool thing is, rather than just like selecting, you know, specific people that always get notified, we can use the person property on this database, right? Because, uh, if this was a wiki database, it should also always have responsible. Every document needs an owner, right? So we can notify that owner when it is outdated. So we say, okay, send notification to a person property. That property will be the responsible one. Let's say, uh, here in the message now that we want to, you know, notify them that it has been outdated. Again, this message can now either be standardized, right? A document is outdated. But that would not be very good from a UI perspective. So let's personalize it with the information that we have. So let's first say, tell the person who gets notified who did that, right? So let's type add and say, well, we want, um, the person who clicked, uh, just marked. And now we would type add again, and from this page, uh, we want to, uh, grab the, uh, no, then, you know, here it's task name because it's the wrong database. But whoever clicked, just marked this page name, uh, as outdated. Please, uh, double, double check, right? Which is a much better notification than this generic one because now I know exactly who I need to, if I'm, you know, like this is not outdated or to to tell them that it has been updated. And I also see exactly what it is about, right? Maybe this has been on my to-do list already. So much easier to do so. And now, right, when I click this as mark is outdated, we see this gets to needs review, and I have here in my, uh, inbox another notification, um, as a person who has been set as responsible.
This brings us then to our second type of automation triggers, Notion database buttons. Just like buttons in pages, right? We can add a button to a specific database as a property. So in order to do so, right, we can use any way to create a new property. So, for example, click on plus and then looking for the button option. Now, this button generally behaves just like the button we just saw. We can give it a title. So let's say, you know, click, click me. Um, by default, it will then, uh, start taking this also as the name for the button here, right? We can change the icon, as for any property, and then we can edit the automation that is attached to this. Now, if I click here, right, you see, first of all, I can now rename the thing here, right? So like a different, uh, name. If you want to have the name of, you know, your property different from the name of the button, that is possible, but you need to go through this extra step. And then, uh, the trigger is of course always again, button is clicked. And for the actions, it works now exactly the same as for our other buttons, with the one specific part, right? That whenever you click on edit pages in, you'll have the option to edit this page, or in case Notion decides to move the UI out again, right? You will have just like an additional option outside there where it says edit this, edit page details. The thing about this, right, is that it's very, very useful to sort of wrap up certain actions for the user, either for yourself or for your team. So just the way that we saw it with the page, uh, you know, the buttons within a database page, this is pretty much the same, right? So, for example, we could use this to say, okay, assign this to me, right? Um, so let's call this, um, assign to me. And as the action, what we want to do is whenever this is clicked, we want to make sure that we edit the property. Uh, ah, actually, you see here it is here. We still have it outside in and inside these options used to be also for the other one available here. They haven't moved the UI yet. So it is a bit confusing sometimes, but I'm sure, uh, when you click in it, you'll be able to figure out where that is located. So here we have also edit property. And here you see, right, now I have access to all the property information from this specific row, and I could say now, okay, when this is clicked, I want to make sure that the responsible, and now I can choose, right? I could add myself to it, or I can replace, which in this case I want to do. I want to replace that with whoever the whoever clicked this button, all right? So now I can click on save, right? And then any database property, right, if I click on this, it will make sure that it assigns this task to me, which is very nice, right? Because you can, of course, then place this button in a location that makes sense. For example, you can combine these database buttons with a new Notion layout builder. So if you go here and open this, and say we want to customize the layout, we want to make sure that we first move all our properties over to the panel, right? Then we pin our two, three most important ones, so responsible, priority, and due date. And then here in the sidebar, one thing that we can do is we can add a new section. So we can say these are my, you know, standard, uh, properties. And then I can have a specific section for my, uh, quick actions. And under these quick actions, right, I'm going to add now the, oops, not priority, but the click me button. And then I can apply this to all pages. And now whenever we open, um, a specific page, right, uh, we have here in the sidebar, uh, our whole section of quick actions available to, um, or the user to quickly, you know, do certain things. Assign to me. Of course, fairly straightforward, but you might have a range of things, right? You might say, okay, uh, maybe we need to reset a due date here, right? With a similar approach to for previously, right? We just set a due date to today. We could change the priority. Whatever, basically, uh, mass updates you want to do to certain properties in this database could be done here. You could also use the, you know, move the mark as outdated button that we created previously now into this database because it works just the same way, right? So let's create another button. Let's say, okay, um, you know, mark outdated question mark. And then say for automation, okay, when this is clicked, right, we want to make sure that we set edit property, set the status to, uh, needs review. And then as a second step, add our notify option. Now we have our two buttons, right, here, and people can quickly take these actions.
One really fun use case for these Notion database buttons is to build an upvote or downvote system, right? So you could do that for an internal forum or in this case for some example to pick which team retreat activity you want to do, right? So I run a Notion consultancy and we have now started to build an actual team. So when we meet in person, we want to figure out, okay, what is it that we do? In order to do so, right, I've created a database with a few activities that we could do. And now in order to let people vote, I'm going to first create a person property, right? And we call this votes. Then I'm going to create a property with our button, right? So I'm going to up the button, uh, vote exclamation mark, uh, or up vote. And the action will be whenever this is clicked, uh, what we want to do is we want to edit a property. We want to edit the votes. And we don't want to replace, we want to add the person who clicked to this property. And then we can click on save. So now that means I can click on the button, right, and upload it. And then, uh, what I want to do is I want to count the number of votes. So for that, we're going to create a formula property. And, you know, the drill, right? That was from the first part of our tutorial. Here we will now reference, you know, the number of votes and say, okay, how do we count a people property? Well, a people property is an array. So all we need to do is we need to take votes and say, dot length. And this gives me the number of people who have upvoted something. So if I now click on here, right, this is one person. If I click here, it's one person. If someone else, right, clicks it, um, they will, you know, it will add their one as well. And of course, the benefit of the system is that people can't multiple vote, right? Even if I click here 10 times, I'm still only here once. Whereas if you use this button to increment it, right, that would be another setting that we could do. We could say, okay, instead of this, let's increment the other property. Then they could vote several times.
Just to show you how this would work, right? If we want to build a button that you can just click to increment things, let's go back to our settings. And let's say, well, we want to edit this page. This is correct. But this time, we want to edit the, um, uh, different property. Where is it? The, we want to edit our, oops, number of votes. Sorry, one second. Got to double-check why this doesn't work. Let's go back to edit automation. Maybe need to just refresh the page. That sometimes does the trick because usually we should have access here also to this. Oh, no, we actually don't have it because it's a formula property. My bad. So I was, uh, slightly confused for a second, but of course, since this is a formula property, we can't edit it. So instead, we would need to add a number property. Some live troubleshooting here and say, okay, when we click our vote button, what we want to do is we want to make sure that we take, uh, our number and we increment it by one. So in order to increment it, right, we first need to get the current value, which means we can't just type one in here. We need to write a formula. And this is now another example, right, where our lessons from Notion formulas are starting to tie in with Notion automations because very often when we build more advanced Notion automations, we want to be able to reference dynamic data, and we do that through formulas. So let's click on edit as a formula. Now we can say, okay, from this page, I want you to grab the votes, uh, now the number, that's the property that we want to grab, and we want to do plus one. Right? This is our formula. Whatever the current number is, incremented with one. Let's click on save. And now, if we click on vote, right, we go to one. We go to two, three, four, five, six. Right? Whenever I click this button, it counts one up. So very simple vote generator. Of course, with this one, you don't really have, um, uh, then a check of who uploaded, right? You definitely allow people to click this several times. And if, whatever reason, that's what you want to allow them to do, but you still want to figure out, well, who clicked the button, you could now make this even more complicated. Now, just for the sake of it, right? We could add a text property and say, you know, vote log. And say, okay, whenever the button is clicked and this is incremented, record who clicked it. So let's update our button. Same idea as before, and we added a second property. We added our vote log. And here we now say, okay, my formula here will be again, this page dot, um, vote lock. And then what we want to add is we want to add a new line character to it. As you remember from previously, the new line character, right, is this like slash, backslash N. And then we say, okay, plus the, uh, whoever clicked the button, right? So now, if we save this and save here, we can click this and we increment. And we say, okay, Matas, Mas, Mater. Right? This doesn't wrap currently, but once it wraps, we have them on new lines. So now we have an, you know, log of, okay, who clicked the button and why did they click it? We could, of course, expand it or we could add to when they clicked and so on. But of course, for this like vote button, it's probably not the most useful of features.
We are, however, going to use the same approach a bit later in this video when we talk about the, uh, standard Notion database automations, the one that gets triggered by creating them here, um, when we want to build, uh, a log of updates to our due date, right? Because this might be quite a useful situation where we want to record, okay, whenever a due date has been changed, well, who changed it and from what to just be able to follow that historically.
And another great exercise to understand these Notion database buttons is to build a little time tracker in Notion. We can do actually quite some decent time tracking directly in it, right? Without any other tool, thanks to this combination of Notion automations with [music] formulas. So our setup for this should be our task database. And then if we want a very simple, uh, uh, time tracking, we could just add our two properties here, right? We could just say, okay, date, uh, start date and end date. And then we could just update those. But actually, let's take a look at a little bit of a more robust one. For the more robust one, what we want to do, right? In particular, if we want to be able to track several work sessions for individual tasks, we want to create a secondary database called time entries. And here we have our start time, our end time, and, and we have the, uh, relation to tasks. Now, what we're going to do is we're going to build a database button. So, let's actually just go in here, right? And go all the properties. Let's hide them all for a moment. We I don't want to see any of them. Let's create a new button. And let's call this, um, start tracking. And what we want to do here is whenever we click this button, right, what we want to do is we want to add a page. We want to add a page to our time entries. And this time entry is one we can go, uh, entry for. And then we can dynamically reference the task, right, where this happened by either going to formula or just typing directly here, add, and we can say, you know, this page, uh, the task name, or we can just link it to it if we wanted to as well, but let's just go to this page and then the task name. And then what we want to do is we want to, of course, also set the start time to, um, the time when we trigger this. That's our two steps. And the last one, sorry, one, one very important one. We need to also relate it, right? We need to make sure that this new time entry is related to the page where we clicked it from, right? So this page, these are our three steps. Which means now if I click this button anywhere, right? Start tracking. We add this new entry here, entry for create automation workflow. Right? We have our start time. It is linked to this. And now I can create a second button. And for the second button, oops, I can say, okay, let's make sure that we stop the tracking. So we, uh, add button and we call this, you know, stop tracking. Edit automation. And here we will say, okay, new action. We want to now update pages, right? We want to update everything that is related with this specific task. And this is now where we find, finally, will use variables for the first time because what you'll see is when we go to, you know, edit pages in, we can select our time entries, but in our filters, um, we don't have access to any dynamic information, right? So we can't say, okay, edit everything where the relation to task contains, you know, this page that we just used, right? These are all hardcoded values. And that's of course what we want to do because we want to update the pages, the timed entries that are related to this specific page. So how do we solve this? Well, what we do is we make sure that we have, um, a variable defined. So let's go to delete this. Let's say new action, define variable. And let's call this, you know, entries. And then here we can go into the formula and we can say, give me from this page the related time entries. This is the workaround that allows you to update only certain related information with an entry by clicking or triggering a database automation. If this feels a little bit complicated, don't worry because it is. This is probably one of the most complex things that you can do with Notion database automations right now. Hopefully, it gets easier in the future, but we'll go over this again in a second, uh, to step by step. Just want to finish this quickly off so you see how it all ties together. Let's click on save. And let's say, okay, let's add another action. And now let's say edit pages in. And when we do this, now one option that we have is rather than, you know, editing everything in time entries, we can edit simply our variable, right? So let's edit our variable, which are all the tasks that are related to this entry, and say, okay, what we want to do is we want to set the end time for something. Now we're going to set the end time, right, to the time triggered. And then we can click on save.
Now I just realized there's a mistake so far with the automation. You, you'll notice this in a second, but when we click now on stop tracking, right, that means we set our entry time here to the end time, right? So here now it fills in 9:56. Perfect. Now the issue, of course, if you noticed, uh, is that currently we updated for all related entries, right? So if I have another entry here, right, in a moment, it will actually update both of them to a new time. That's of course not what we want to happen. So we need to fix this quickly. And in order to do so, we have a few options. We could set a status here. We could say something. Let's, um, add, you know, a select here. And let's call this, uh, status. And let's give it two options. And let's say, you know, like running and, um, stopped. And then we can say, okay, whenever we start the tracking, we actually want to modify this button because we want to make sure that we set the status to, um, running. And then when we click on stop tracking, we only want to, you know, like fill the end time for entries where, um, the status is running. So how do we do this? Well, we modify our variable. We go back to the formula. And we, oops, not we don't want to convert this. Uh, we go back to our formula here. No, that's how we do it. And we want to make sure that we only pick time entries where the timer is running. How do we do that? Well, previous lessons, right? Formulas. How do we select only some of an array? Well, we do this with filter. So dot filter, we want to only pick the ones where current dot status equals running. And that way, we will not select any of the entries, right, where the timer has already been stopped, so we don't overwrite any information. So now that means, right, uh, let's set this here, right, to stopped, but let's pretend that this one is still running, right? We can also click in and key the time. And now when we click on stop tracking, it should only update the time for the one that is still running, right? And not the for the one that is has been already finished.
Last step that's missing, right? We need to make sure that we update the status as well when we do this. So let's go back to automation. And as another step, say here, edit property, status. Let's set this to stopped. And with the system, you've built a very simple time tracking module. The only thing that's missing here is to make sure that you actually count that time. And that with the help of formulas, right, is no problem for you at this point. So let's just go through the motions. New formula, uh, and let's call this one duration. We're going to use our date between, um, operator to, uh, get the time from the end time and the start time. And we're going to get this in minutes. We click on save. And now we have here, right, two minutes and three minutes. And then we can use another formula up here to get the sum of that, or roll up, right, does the same trick. So formula, uh, total time, time spent will be, okay, formula will be, we go to our time entries and we use our map function, right, to get from every value the, um, duration, and then we want to get the sum of it. Pretty much a summary, right, of what we did previously with our formulas. We click on save. And now we see, okay, we spent five minutes on this task, right? And if you keep time tracking, now we, it will keep increasing and incrementing. So pretty cool, right? What you can do with now your newfound knowledge of Notion database buttons plus Notion formulas from the previous one, you can build this time tracking system and don't need any third-party tools. You can make this more robust, right? But it's the gist. It doesn't really get much more complicated than this.
Let's build another example because again, right, this is a little bit complicated of how we can update only certain related entries with Notion database automations. In this example, we have now added projects to our system, right? We have still our tasks, and now we have projects, and certain tasks are related to these, um, projects. And one thing that we want to have maybe on project is we want to be able to, whenever we, um, click this button, we might want to either update the status, right? Or change the due date, right? Maybe something where, okay, let's set now the due date for everything, or let's make me responsible for everything, whatever it is, right? We want to mass update all tasks related to this specific project. So how do we do this? We add a database button, right? Because we want to be able to trigger it based on this specific entry. And we'll call this, you know, start tasks. And the automation will be that we want to go in and all tasks that have not been completed yet, like let's set this also to completed. All tasks that are not yet completed should be set to in progress. All right, let's tackle this.
[music]
The first thing that we need to do, right, as previously, is we need to grab all the related tasks. Remember in the previous step with a variable, we need to tell Notion, okay, you need to handle everything that is related to it. And we do that by clicking on new action and then saying, well, define variables. And we call, going to call this tasks. And our formula here is going to be this page dot and then task, right, whatever our relation is. And just as previously, we don't actually want to grab all tasks, right? We only want to edit tasks that are not completed yet. So we again do dot filter and say, only grab the tasks where the current status is not done, right? Only those tasks should be loaded into our variable. Let's click on save. And then we can add another action. And now we can say again, edit pages in. And we have again now available our variable here. So tasks. So let's edit all the tasks, right, that we've grabbed in this previous step and say, okay, for all of them, I would like to set the status to in progress. Click on save. And now when we click this, right, it shouldn't change anything for the tasks that are already done, but for these two ones that are related, right? Not all tasks are actually connected to it, right? So let's show the project, just so we see that it works as intended. Um, if we click this button, these two should update. So let's take it. And there we have it, right? It worked perfectly. It grabbed only these two entries, none of the others. And that's how you, you know, tie in relations with variables into your automations.
All right. Now, you're ready to upgrade to the last and final level of Notion database automations, and those are the ones that you create directly on the database level itself with this flash icon. Just to recap, right, we so far saw two other ways to create database automations, automations, sorry, uh, just adding a button anywhere or adding a button to a page. And now this third level is the most complex one, but also the one with the most flexibility because for the first time, we'll have now additional triggers, right? Here, our only trigger is always that, well, someone clicks the button. So you also need a manual action. With these ones, you're actually, you know, taking it one step further and you can do things without someone clicking the button. The actions will stay the same. So that's good, right? We don't need to learn anything new there. But now we need to look at different triggers. So let's do exactly that. Let's click on our flash icon and let's call this, you know, first automation. We're going to ignore this here for a second because, uh, it adds another layer that we look at in in a moment. And then we see now that for the first time, we cannot just select actions, but we can also select triggers. So what triggers are currently available here? Well, if we click here, we see we have an event where we say any property that is edited, a new page has been added, or every xxx. And then if we scroll further, right, we have actually a selection of properties. So let's add two, three more properties here. Let's add a, a status, uh, property here, status. And let's add, um, oops, a due date here, or like a date that we can call the, uh, duration. Just so we have a few, uh, properties. Duration and, um, you know, person property as responsible. Perfect. Let's go back to our automation and see now under new triggers, right, we see now all these properties that we have here popping up down there below as well. Basically, this means we can trigger an automation either when any property on a database is edited, or when a specific property is edited, right? So here it will just trigger whenever something changes. And then for the other ones, it will update, uh, when, uh, one of these specifically is changed, right? So we could say, okay, whenever the responsible is changed, right? Any change to responsible, I want you to, uh, edit a property. I want you to rename this, you know, um, name has changed, like responsible, responsible was changed. And I use the time, uh, time triggered. Okay, done. Doesn't make much sense, right? To set this in as a name of the project. But just so you get the gist, right? I go in here now. I added this property. I say responsible, that is actually me. And in a moment, we will rename project A to, you know, this has been changed by me. Responsible was changed, February 15th, 2025. So that's a pretty straightforward trigger.
Let's look at the other ones, right? If we go back, we can go back to our automation and we can click on edit, uh, and make sure that this time we delete this trigger and instead we say, okay, my trigger should now be page added. This one is even simpler, right? This just means, okay, whenever we add a new page, uh, we do something. What should we do? Well, whenever we, um, you know, change this, we actually could name, set the name automatically, right? We could say, okay, let's edit the name, uh, this project was created at time triggered, uh, by, you know, the person who clicked, whoever triggered it. All right, not the most useful one, right? But just shows you what it does. So we click on add new page, right? We don't have, haven't given a name, and in a moment, once the automation runs, which is usually within 10 to 30 seconds latest, we'll see that it will fill out the name by who created it and why. Now, this can come in very handy, and we'll have a use case in a moment to like auto-name entries in, you know, your database. But let's just look at the last trigger for now, and that is the option to say, okay, um, not just when something happens, but regularly, right? Every, uh, x. Right? So I can say every frequency, and I can say every day, weekday. So I have here access to the same repeating options that I have also for database templates, right? In case you don't know, it's not technically, um, uh, an automation in that same sense, but if we had a template on this, right, new project, we could say, okay, please apply this new project template every x, right? So we can repeat and say, okay, every day, create a new project, right? For projects, it's not too relevant, but for example, if you have a journal and you want to say, okay, every day, give me a new journal entry, this can be quite handy. And we have this same option now, uh, very, since very recent, for automations that we can say, okay, whenever, right, let's move this then, you know, like every, um, day, let's, uh, and then here we need to then, of course, have a different action. Let's, um, add a page to this database. Probably we could add it to any database, but, uh, just to keep, you know, your automation screen, you probably want to add it only to pages to databases that you actually run this on and say, okay, you know, like new, uh, daily entry. And then click on that. This, of course, we now can't showcase, right? Because it will take a day for this to trigger, but you get the idea.
Now that we have our triggers covered, let's take a look at a few use cases. This first one is very simple, but it shows you beautifully how you can use these Notion database automations to, you know, just reduce unnecessary clicks. Here we have fictional bug reports for my Notion ROI calculator, which is a little tool, right? That you can find online that helps you to calculate like how soon, uh, is the investment or like how much money can you save by switching to Notion. And here, uh, we have some fictional reports, right? Calculator starts mining cryptocurrency when idle. Of course, that's not good, so we need to fix this. Now, we know, right, that based on the type of a bug that it has, uh, we need to assign a specific person, right? For example, for AI rebellion, that will always be Matias who has to handle it. Now, what we can do, that is when the person who gets these bug reports, who has to then, you know, uh, now triage and categorize them, they could of course click twice, right? They could say, okay, this here is an AI rebellion issue, and Matias has to solve it. But if Matias has to solve this every single time, right, then this is just unnecessary work. So instead of doing this, what we can do is we can set a database automation. We can say, okay, set responsible for AI, uh, revolution. I want to always give it a specific name and say, okay, when a property is edited, and not any property, but if the type is edited, right? And if the type is set to a specific one, right? If the type is set to AI rebellion, then what I want you to do is I want you to take an action and I want you to edit another property. I want you to set Matias as the responsible person. And we can click on enable. So now, when we set the type here to AI rebellion, and the type here to AI rebellion, it will automatically in a moment assign Matias here as a responsible person. Super useful, right? Not just for these categorizations of types. You can of course also use this with priority. For example, if the priority of something is high, make sure to assign the team lead, right? Or if, um, you, for example, have a series of like, for example, let's say you have content production, right? And you use a status property to track things from idea to ultimately, you know, the production. You could say, okay, when it is, uh, you know, the status is set to ready for production or like ready to be edited, assign the editor as responsible person, and so on. So you can reduce the amount of clicks you have to do when you update data in your database.
Now, there are two cool other, you know, sort of angles to this type of automation that I just want to quickly run by you. The first one is that this initial categorization of what type or what priority it is doesn't have to happen by a human, right? You can use AI to do this for you. So if you have Notion AI, one thing that you can do which is really useful in these situations is to turn on AI autofill. What AI autofill will do is if it's on a select property, is that AI will, based on your instructions, figure out which tag best fits this. Right? So we can say here, AI autofill. Let's turn this on. We can allow it to generate new options, although usually you don't want this to happen, right? Usually you want to predefine your categories and then say, okay, based on these, select the one that fits best. And then, which I would always recommend, you can customize your prompt, right? You can now tell it, okay, if X, right, these are the rules by which you should, um, you know, um, apply tags, right? You can also make sure then that, for example, if you know that will always get wrong X, right, that you specifically instructed to do it. We can leave this empty here because we, we don't want to do it, right? We just have the general example. But basically, it will now whenever something new comes in, right? It will automatically go in and fill that property, and that will trigger the automation, right? So if you say now, autofill this, right, and autofill. And I actually just updated the automation to run whenever this is updated, right? Just to make sure that we see that it gets triggered, right? So I changed it to whenever the type is set to anything, then please set me as responsible. And you see it triggers off that. So you can have an input, right? User reports a bug. You have an AI who pre-filters it, and then you have
An automation automatically based on who, uh, you know, was, you know, what type it is. It automatically gets assigned to the right person or the right team, which is a really, really cool workflow to cut down on this manual triage time.
The second option that you have here is to use a Notion form and let the user actually define, right, the types themselves. So here I just set up a simple form, right? Bug description and the type. Very important, I removed the AI component because as long as a data property is set to AI autofill, users can't fill it out with a form. But when I remove it, they can fill it out again, right? Now they can pick what is the type that describes the bug best. And then when they fill out the form, right, and add someone there, our automation will also run and automatically figure out, well, who is the best person who should be responsible for this. Pretty neat.
Moving on to another use case. These database automations are really useful when it comes to project management and keeping things in sync. Let's say, for example, we have our projects, right? And remember, we have previously this button that we need to click to say, okay, let's start these tasks. Of course, this button click is nice, but often times, right, this would again mean two things. We need to first set the status of this project to "in progress" and then click a button to launch tasks. But with the other, uh, automation trigger, we can actually just roll this up into one step and we can say, okay, whenever we start a project, we want to make sure that we start all, uh, tasks that belong to it.
So let's do this. Let's go here to create and view automations and we will set a new automation and we say, okay, whenever, you know, set tasks to "in progress." Highly recommend that you give your, you know, automations very clear names of what they do. And then we say, new trigger. All right. When we edit the status of a project and when we set this to "in progress," what I wanted to do is I want to update all tasks that are related to it. So, new action, uh, first define variables, right? Same process as before. Just because our trigger is different doesn't mean our action updates much. And we say here, tasks, and we say, as a formula, right? Let's just use a simple one in this case. Let's say everything from trigger page, right, is, ah, here, still our important option, trigger page dot tasks. We want to take just all tasks, no filter this time, and we want to make sure that we, um, edit, uh, pages in these, this task relation, and we want to set their status to "in progress." Again, of course, right, for your production automation, you would make sure that you set the filter accordingly to whatever it is you need, right? That you don't want to accidentally overwrite tasks that have already been completed. But we set this now to "in progress." And then in a moment, our tasks here will also all update to "in progress."
And then while we're waiting for this to happen, we can already talk about the corresponding action, right? What we want to make sure happens as well is that when we, um, uh, maybe start a single task of this, uh, of a project, we want to actually launch the project, right? So we want to make sure that when the first person starts working on a task, we update all the projects that belong to that. And we haven't, the automation hasn't come through yet, but sometimes, again, right, takes a second. We can also inspect it actually to see whether something went wrong, right? If you click on this, uh, if something would have gone wrong here, we would see now here, um, an issue. Oops, actually, I realized the issue. This is the one that we need to set to progress, otherwise you can wait for forever. But still a good, uh, note that we'll talk about in a second as well, is if your automations go wrong, you will see here a little alert and why it went.
All right. So now we have the "in progress" status here, as we wanted it to. Let's set them all back, right? Let's make sure status is all back to "not started." And also here, we set this back to "not started." And let's build the corresponding automation for the way back. Let's say here, okay, you know, start project when, uh, any task, right, when, um, task status is set to, um, the "in progress" step, let's make sure that we take the project. So again, define variable, right? Even if it's only one in the relation, we need to use that to grab it. Say, formula, trigger page dot project. And let's, uh, then say, add action, um, edit pages in projects and set the status here to, um, "in progress." And then let's click on enable.
Now, if I click here on any of my, um, automations, right? So, and say, okay, this is now been "in progress." You'll see in a second that this status, uh, over here for my project also updates. What is even more important than what is happening, though, is what is not happening. Because did you notice something? These other three tasks are not set to "in progress," even though based on our logic, they should be, right? Because remember, we have here an automation that says, well, when the project status is set to "in progress," update all tasks that belong to it. And even though with this automation, right, we updated the status here, it did not then trigger this other automation to update the other tasks.
Now, this is a very important limitation with Notion automations right now. And it's important that you understand because there will be a lot of situations, right, when we run into this and you wonder, well, why didn't it do what I told it to do? And that is that you currently cannot chain database automations. A database automation cannot trigger another database automation. Notion built it in to avoid loops, right? Because otherwise, you could accidentally build something like, okay, whenever a, you know, page is added to projects, add a page to tasks, and whenever task pages add to tasks, add your task to projects. So it's very easy, right, to build an infinite loop of things updating each other. And until Notion, you know, can figure out a good way to avoid this for users, they just outright block it altogether.
So what does this mean? Well, it means that all these triggers on a database automation will only be fired by a manual user action, or a third-party automation, or an AI action. So, let's go through all of these, uh, in, in order. The first thing, uh, is of course obvious, right? If I set this now back to "not started" and then wait a moment, and then I set this to, uh, "in progress," in a moment my automation will fire and will update these three properties. So far so good.
The second situation, right, a third-party automation works as well. So if you use a tool like Make, Zapier, or Relay to, uh, you know, trigger any action in your database and change the status of this to "in progress," well, this also counts, right? So you can automate the trigger of another Notion database automation, but it needs to be an external automation, not one inside of Notion.
And the third one, right, we saw previously already with the AI autofill. Even though, like, the AI autofill is kind of happens automatically, right, whenever something new happens, right, if you set up an autofill, it will try to categorize this, it's still enough, um, of a, you know, manual action apparently for a Notion database automation to trigger. But the second that two Notion database automations try to trigger off each other, it won't work.
I think we are ready for a challenge, and this is a really fun one. It's a little bit involved, but it's a, a really, really cool and useful use case and will show you a ton of the principles that we just learned. So let's tackle this. As you know, I'm currently building Europe's number one Notion consultancy, and we work mostly with startup scale-ups on the one hand, and then asset managers like VC and private equity on the other hand. So if this is something that you might be interested in, definitely reach out to us and we'll see how we can help you.
If that happens, right, and you become one of our clients, you might go through some onboarding tasks, and this is now a fictional list, right? Our actual onboarding is similar, but not exactly the same. And one thing that you might want in this situation, right, either in my case, right, for my clients, or if you have any system where you have recurring tasks and then a bigger project like in this case, the client, right? And you want to automatically update the status of the project based on certain tasks being completed, right? Not like we did it previously where we say, okay, when any task is "in progress," we want to, uh, do something. No, here we want to make sure that if specific tasks have been completed, we want to set a specific status. That is possible, but again, a little bit involved.
So what is our setup? Well, the very first thing that we need is in our task database, there's actually missing one thing. There's missing a status. Um, but the crucial thing that we need for this is we need a certain identifier. Right? This could be any type of identifier. You could actually use the name to identify it, but that can be quite annoying, particularly if people update the name. I would not recommend to do this. So I would recommend creating a separate property in this case, for example, the order property, to, um, you know, indicate which task is which. That is step one.
Step two then is to create a formula on clients. And this formula will help us figure out, okay, when which task is completed, what elements should be, uh, you know, what should be the status. So let's click on formula and let's write this formula, right? We can call this, uh, helper status. And for our, you know, development project, we always, uh, like to create these, um, these helper properties, indicate them with these brackets in the front, and then use the gear icon, right? So it's at a glance, uh, obviously this is a back-end property. You could also, for like, production ones, right, with, with bigger teams, and set a property description so that everyone knows how to touch this, but for now, this is good.
Then let's edit the formula. We first need to figure out which tasks are completed. So we do this by clicking on onboarding tasks, right? And then say, filter current dot status should be, um, "done," right? This gives me now my two tasks which are done here. And then I don't care about the the names, right? I care about the identifier. So in this case, I want to say, then map current dot, um, order. Great. So now I can print out, right, which tasks have been currently completed. And this is now something that I need to save in a variable because we're going to reuse this expression over and over again. This formula. And remember from our previous lesson, lesson, uh, this is when we want to use `let`s`. So let's say `let`s`, and then we do, let's call the variable name `completed`. Then we put on the next line our formula expression, and then, right, we can then create whatever formula we want, right, to print this out, and this will then use our formula. There's currently an error here. Let's just see what the issue is with that. I, we're missing a comma here, and now we see it resolves properly. Quick recap, right, of our previous, uh, formula lessons.
Now, instead of `completed`, we're going to, of course, now use another formula here. And what we basically want to do is we want to check certain conditions. So we want to check whether, um, you know, our, um, what the status should be, and we want to do this in reverse order. So basically, we want to look at our different statuses, and I just created a few sample ones here, right? So let's take audit. So we want to say, okay, when, um, the audit step, when certain tasks have been completed, we want to have the status as "audited." In this case, what I want to do is I want to say, okay, whenever we are at step, where's the, where's our audit step? Okay, workspace audit number three. Let's actually make this number seven for now. And then let's, uh, turn the initial workspace setup to three. Right? That's of course the wrong order, but you just for the gist of it, we want to say, when task seven has been completed, we always want to show, um, workspace all.
All right. So let's, how do we check this? Well, we say `if`, and we say, does `completed` include the number seven? Now, if that is the case, what do we want it to show? Well, we want it to show "audit," right? And if that isn't the case, what do we want it to show? Well, we want to show it like, you know, um, "not started," right? Our, our standard default, um, one, also as a string. And then we can simply close this all off, right, with another bracket. And now we see if our order task is completed, number seven, then we get "audited" up here. And if I take, you know, off here the "done" progress off, right? If this is only "in progress," we see it falls back to "not started." Pretty good.
Now, we need to do this for every single step, right? So I will just do one other step just to show you. So let's say, right, initial, uh, need initial discovery call. Okay, when number one is done, then we wanted to show, um, the, what is it here called, um, "in conversations." So let's go back here and say, okay, after we checked for this condition, right, with `if`s, we can check for a bunch of conditions. So after we check for this condition, we want to check, does `completed` include number, um, one? And that's why we need to do it in reverse order, right? Because of course, the last one, if the last one is true, all the previous steps will be true as well, and we'll never check the others. So the, you know, the most complex, uh, condition needs to be first, and then we go in descending order. So in this case, we want to say, "in conversations." All right. And then still the fallback will be, uh, "not started." So now you see because one is done, and we are in conversations here. And if I check back this, right, to, we go back to, um, the other step. Perfect.
Now, of course, you'll say, well, this is nice, but this is a string, right? It doesn't update the status. And yes, that is true, right? Notion formulas, as we learned previously, can never impact the, um, the value of a property. It can only show something. We need database automations to actually change this value. Luckily, we can do this, right, with our newfound knowledge.
Now, counterintuitively, maybe at first, the automation actually doesn't run on projects. The automation that we need is on here because currently, one thing that you'll notice is missing from our automations is an trigger when a formula property changes. Right here, we don't see our formula values. So that's the current limitation. Right? It might be different by the time that you see this video. If you watch it in a few months, uh, maybe then we can trigger it off formula changes, and it's even easier then. You can do it here, and it would be as simple as, right, okay, when this property changes, do something. But until that happens, we need to actually trigger this automation on tasks. And what needs to happen? Because here we have a trigger available, right? It's called "set project status." And what we'll say is, okay, when, uh, uh, the status of a task is set to "completed," what I want you to do then is, first, I want you to define a variable, right? We need to grab our project, project, very, you know, the drill for this, right? It is trigger page dot, um, a client. I think it's called here, right? My clients. Perfect. Save. And then what we want to do is we want to edit pages in clients. [Music] Should have named this client, not project, but you get the gist. And then we want to say, edit a property, and we want to edit the status. And now for setting the status, we're going to use a custom formula. We're not going to hardcode a value in. Right? We could do this. You could, um, write this formula instead to say, okay, when, you know, task with one is completed, when task with two is complete, but that, I'll show you that in a second, but it's like very, very cumbersome. And if, if you, particularly if you have like 50 different conditions, where you don't want to do that. So instead, what you want to do is dynamically, you want to say, set this to whatever, let's move myself over here, the, um, project dot, um, first dot, um, helper status property values, right? So, just to recap, what are we doing? Project equals the project value, um, of the related entry. And you remember, like, this is an array, even though it has only one entry. So in order to do something, get a specific value, we need to either use `map` or `first`. We receive, since we only have one entry always, and then we can grab now a specific value from that, and that is this string output up there. And as long as this string update exactly matches one of our status options, it will actually update the status property accordingly.
So let's click this, click on save, let's click on enable. Let's set this here back to "not started." And currently, right, this is "not started," right? It should actually be "in conversation," but since we didn't do anything on on "done," it won't work. Uh, we can actually do the whole flow, right? So let's do this, right? It's currently "not started." And now, if I click here and set this to "done," this updates to "in conversations." "In conversation," and in a moment, this should update as well, if, uh, we actually have the exact matching name. I don't remember whether I wrote "in conversations" or "in conversation." So we'll have to figure that out. Doesn't look like it's working yet. So let's check this. Yes, it says "in conversations." So that's a, that's a great point for this, right? So now we need to make sure this matches absolutely exactly, also in terms of spelling. And now, if we repeat the process, we should be able to see the update in a moment. So let's click on "done" again. And then in a moment, it will update this here. And then we have the proper, uh, status dynamically set based on the specific task. There you see it. It just happened. And then if I do the same, right, for our workspace audit, "not started," "done," same thing happens, right? This will now update it to "audit."
Now, this is a really, really cool and powerful workflow that we use a lot with our clients. We actually usually have another layer here, right? Because these are recurring tasks. So they happen whenever a new client gets created. So what we typically do is like this triple setup, right? We have a database for the processes of the clients. And then we have an automation currently running in Make because it's something that doesn't work too well with Notion automations yet. And say, whenever we add a new client, we add this whole list of process tasks automatically with the corresponding order to Notion. Right? So whenever you add a new client, or a new project, or whatever new with a recurring process, uh, to your setup, you have all the tasks that belong to it, and then as you finish off these tasks, right, you automatically update the status accordingly so that everything always stays in sync without you having to manually do that. Pretty, pretty cool.
Now, one quick, uh, note here, and that is, um, if this task database, right, is not just onboarding tasks, but also general tasks, then you want to modify your, um, you know, automation slightly. Just because in a lot of situations, if there's no specific order number, you don't need to fire the automation, right? Here, the automation fires all the time, uh, you can do that, right? It doesn't really impact anything, but just to, you know, reduce the load on Notion servers, what we can do is we can actually add a second trigger to this. If I click into it, you see that here. For Notion database automations, we actually can set several triggers, and we can either say, when all occur, or when any occur, right? So either say all things together need to be true, or any of them could be true. So in this case, what we want to make sure is we say, at the second trigger, we want to make sure that the order, right, is, um, bigger than zero. And that means, um, if the, there's no order number in it, right, it won't trigger the automation and won't try to update anything. Just like a little bit of a courtesy inclusion.
Now, for another workflow that is particularly useful for companies using Notion, and this is really, really cool because again, right, it ties in a bunch of Notion's recent features. Here we have a system to actually track requests, right? So fairly common, uh, in bigger companies, you will have a lot of processes that have to be followed, and one of these processes, or most of these processes, are usually tied to, you know, someone making a request to someone else. Uh, this can be really templated, right? There's a sort of blueprint, um, for, uh, requests. But let's take at this specific look at, uh, here, this combination of having tools in our company, right? And then people requesting access to them, right? So let's say, okay, in my company, I use Zapier, Make, Notion AI, Loom, and Miro, and I want to provide people access with licenses to that if they request. So what do I do? Well, first, I will actually set up a form, right? My basic setup is two databases, and they relate to each other. Now, I set up a form. So I go quickly here, say, okay, form request test new database. No. Um, request, request, uh, access. Um, we can, you know, add the name, the requester, if we wanted to, right? We can can fill this step out. We can also make it just a "created by" property. That would probably make more sense, right? So I'm going to remove this here, delete the question. But we want to know who is the manager, the requested date, and then here the tool that they want to get access to. So let's make sure that, you know, um, our actual property is, you know, "created by." That will be, you know, our requestor property. Perfect.
Now, what happens, right, is some, if someone fills out, uh, we want to run an automation and we want to run an automation to notify the manager who will have to approve whether this, uh, person should get access to it. So how do we do this? Well, we go here, say, create a new automation, you know, "notify manager," and we say, okay, whenever a page is added, and adding something with a form counts as this, right? It's not an automated action, it's a manual action. Do the following: send a notification to person property, it will be the manager. And we will say, okay, the, you know, trigger page dot requestor just requested access to, and then we can go in, right, the tool that was requested, Um, and it goes, please, uh, go to your, you know, um, manager dashboard to review and approve this request. And we can build them a dashboard, right, where they see all the requests of like people that they manage, um, in one page. So they can easily do this. And we click on enable.
So far so good, right? This is the very first step in our automation flow where someone goes in, they say, yes, okay, this person should have access, or no, this person should not have access to it. Now, when we have our request in here, right, there will be then at some point an action where the manager will approve this. And if that happens, we again want to trigger an automation with a few things happening. So let's go back to create a new automation, right? We say, new automation, um, "notify, um, about, um, success," and we're going to say, okay, this should happen when the status of the request is set to, you know, whatever the the positive outcome is. In that case, what we want to do is we want to first send a notification. And we could either use Notion notification, right? We could also use email, right? If you wanted to, as a different action, we could use the the Gmail one. Although I don't have mine connected here right now, so I'll, I'll keep using the normal one, but you could also send an email, right, with that information. Really cool. And we send this now to a person property again, right? In this case, it will be sent to the requester. And then we, you know, good news. Um, and then, you know, um, the trigger page, the manager, um, just approved your request for, trigger page, tools, right? Amazing. Perfect. And we could include, you know, additional information, right? We could link actually to a document, right? This is now where it gets really, really fun. You have access here, right, to just general add commands. So I could just say, you know, look for like a certain page in my, uh, knowledge base where you maybe have, in, you know, instructions on how you actually get your license key, or, you know, your first steps in a tool. Really, really flexible here, um, what we can do in there. But that's the one step where we want to notify the requester. And the next action will be, we need to update our tools database, right? Because here we need to now record that a new person is using this tool. So let's say, okay, we want to define variables. Our variable will be, you know, the tool, and the value will be trigger page dot, um, tools. And our action here will be to say, okay, edit pages in tool. And here, what we want to do is where it's current users, right? We want to not replace it, but we want to add now a person. And the person that we want to add is not, uh, you know, a specific one, right? Not the person who triggered it, right? Because the person who triggered it in this case will be the manager. We have two options. Either we can take page creator, because that's the one, right, who requested it, or we can again use a custom formula to access this value. We can say, okay, trigger page dot, um, requester. That is what we want, uh, in there. And then we can enable.
And now, what will happen is the second we set this to "done" and "delivered," I'll get a notification because I'm the manager and the requestor. Uh, and then, uh, current users here will update in a moment with Matias. Amazing. Which then means, of course, as you know, right, is we can create now a formula here and we can calculate our current tool cost, right? So, current, uh, tool cost, if this is a license-based, right, we could say, okay, give me current users.length, length, and multiply [Music] this with our cost per seat value. And then we can save this. We can say this should be actually, you know, not a normal number, but it should be dollars. Now, we can also format it differently. And now we have a live updating thing. Whenever, you know, something gets approved, we see the cost. We could then, you know, take it one step further and add now a chart here, right, to break down, okay, how much do we currently spend on our different tools? And that just beautifully ties in, you know, a lot of Notion's recent feature releases, which is why I'm so excited about this as a specific workflow, right? For this. Okay, let's, um, map all our whole, you know, request process, uh, with automations, rollups, and formulas.
Now, for a bit of a simpler use case, but still very useful, we can use Notion database automations also to do some manual automated cleanup work for us. Let's say, for example, right, we want to make sure that if tasks have due dates, um, that are approaching, or maybe it's even overdue, and they don't have a responsible person, we make sure that someone is responsible for that, right? Like, we never want to have a situation where a due date rolls around, but no one is supposed to do it. So how do we do this? Well, let's go to automations. Let's set, create a new automation, and let's say, okay, "set responsible for overdue." And we can do this also like in general, right? We can say, okay, whenever something is overdue, right, the team needs to have a look at this. So, trigger would be every, uh, day, right? Uh, and we can set a time, right? So let's, uh, set this to, you know, every day around, uh, you know, 11, 11:45 or something like that, whatever you prefer. Um, do this following action: edit pages in. Right. Again, careful with what your, you know, filters here. You don't want to like override all the data. So, we're going to say, in tasks, please don't edit all tasks. Edit the ones where due date, right, is, um, before today. So, that gets all the ones that are in the past, and, um, where the, you know, status, um, is not, um, completed, and where, you know, responsible, uh, is empty. If these conditions are true, then what I want you to do is I want to go you to go in and I want you to set, um, a certain person as responsible. I want you to make sure that you replace the current responsible with, you know, Matias, who now needs to take a look at this and make sure things work properly. Then we can enable this, and now every day, right, it runs a cleanup job. It could also be, you know, to, you know, set the status "in progress" if you want to encourage that someone works on this now, right? It could also be, again, right, if you do weekly time tracking, you could say, okay, on Saturday, I just always run on Saturdays an automation that cleans out all the due dates for open tasks. So I can refresh it, sort of what we had previously, right, with the button. Well, you can also run this automated on the clock.
Now, one limitation to be aware of here, at least right now, might be different, right, by the time you watch this video, is that for these cron jobs, so for these scheduled automations, we don't have access to the individual values of an entry. Right? Would be really cool if we could say, okay, based on like, basically go through every task, right, where this is true, and based on certain, you know, properties in this one, do certain things. For example, maybe we want to notify actually, um, the person who's responsible, right? So let's say, okay, like, send notification to, uh, send notific, and you see, oh, up to 20 people. Well, custom formula. Let's, let's do this, right? Let's, let's figure out who's responsible for this task, right? So to notify that person, to like create alerts in Notion, but here we don't have actually the page, right? We only have time-triggered or date-triggered. So there's no option to actually access currently the property values, um, for this automation. Again, hopefully a change that comes soon, but at least right now, just to be aware of, right, if you're trying to build something cool with these daily automations, is you can do certain actions like just, you know, update things, but you can't do actions based on certain values in the page that gets edited.
As promised, let's also look at the use case where we can use our Notion data to send custom Slack notifications. As I mentioned earlier, right, this one can't be done with Notion database automations alone, but they are crucial building blocks. So I'm going to just sneak that in as a bonus into this video. What you want to do is you want to use the trigger, the action of sending a webhook. And this one we also haven't used in any automation yet, so it's a great example. Let's say, for example, we have our onboarding tasks here, right? And not just do we automatically update our status here, but we want to notify the team in Slack whenever one of these steps happen, right? So that we know, okay, this is the next thing, you know, that's now on the line, and so on and so on. So let's just update here a few properties. Let's add, uh, you know, like, um, the, uh, the responsible person, right? So let's add a person property. Let's say, responsible. Perfect. Responsible. Amazing. And let's, uh, you know, add me here, uh, a few times for these tasks. Perfect.
Now, what we want to do is whenever something gets done, right, we want to tell that, say that in Slack, and want to like figure out, okay, what is the next thing that has to happen? In order to do so, let's click on here the automation and say, new automation. And we want to say, okay, when, um, you know, notify, uh, Slack, uh, when, um, uh, you know, the, uh, the status is changed to "done," then please send a webhook. And we could actually like add this as an additional step, right, to our other automation because there's already like when it's set to to, you know, "done," but just to show you how it would look as a clean one, let's do it here. We want to send a webhook.
Now, what is a webhook? A webhook is basically a way between, uh, to send information from Notion when something happens to another tool, which is very, very useful because often times, right, Notion database automations still won't allow us to do everything we want them to do. We need to integrate other tools, either for actions that we do in Notion where we have just some limitations, or when actions are supposed to happen in other tools, right? For example, in Slack, or pretty much anything else in your workspace, uh, in your text, I mean. So, uh, in order to do so, uh, Notion will then, when a trigger, something is true, send some information to a URL, and this URL is one that you then catch, uh, with your other tool. Right? So, for example, if in this case, we're going to use Make. Make.com is an automation platform, similar to Zapier or Relay.app. You can build this workflow with all of them there. Uh, but I'm just going to show it to you with Make here for a change.
Now, what we want to do is in Make, when we have a new scenario, we want to click on this big icon in the middle, right? That adds our first element, and we want to add a webhook element. If we say "custom webhook," right, let me zoom in here a little bit, uh, we get the option to create a new hook. And so I'm going to click on "add," right? And I'm going to call this my "test webhook," and then I'm going to click on save. Now I get a URL, and this is the URL that I'm going to copy, right? I can click on save here, click on copy, and I go back here and I paste this in there. Now, Notion, when this actually happens, will send, you know, a notification to this, um, address. We can test this once, right? We can click on enable, and we can go back here, right, and click on "runs" to test the whole. And then we can take any of our tasks, right? Say, okay, this has been completed. And then we can go back to Make and wait for the data to come through. Zoom in a little bit more. And then in a moment, right, this will tell me that it got information from Notion. There it is. We got some information. And it will tell us, well, okay, this came from Notion. This is, you know, the event ID, and this is the data from the entry, right? For example, we get the URL here, uh, and we get, you know, who created it, and so on. Really nice.
Now, what we can also do with this webhook is we can tell Notion to send additional information with it, right? So, as you see, when I go back to my automation, we have here certain properties that we can send with that, which is very useful because we have that an access to that information in our Make scenario. So let's send the name of the task, right? And let's say who was responsible for this, and maybe also the client. That also seems like a good idea. Then click on "done," and then let's, you know, run the whole thing again. We can also, right, click this to run this specific module, and let's set another task to "done," and then we'll again wait for a moment for this to show up here with the data. Here we can, uh, open this again, right? In properties, we now see, okay, task, right? I have my title, uh, here, for example, "solution design presentation," and I have the person who is responsible, also here with their name. And then we can use that now to create our custom Slack notification, right? So, oops, that was a mistake. Let's click here to add another module. Let's pick Slack. Let's say, okay, create, uh, a message. And what I want to do is I want to send this to a specific channel, right? So this can be, you know, whatever, whatever Slack channel ID you have, you'll input here. And then for the text, we can now write our custom message. So we can say, okay, here from properties, I would like to, you know, get the responsible person, right, people's name, Matias, uh, just completed, uh, tasks, and then grab here the "solution design presentation," and then click on save, right? And now, when we turn this on, right, down here, and clicking this button, immediately as data arrives, we can save this whole thing. Whenever a new webhook gets fired, now we will get this custom Slack notification in our section. We have full control over the information that is sent, right? And the way the message looks like. We could add a URL to it. We could add additional steps here in this third-party automation tool, right, where we could look up, okay, what is the next task in line, you know, which one has to be done now, and so on and so on. Bunch of additional things, which gives us a lot more granular control over the automation than Notion's built-in Slack notification. And this really is a general idea with webhooks, right? They allow you to trigger something in a different app based off your Notion information. And the real cool thing is that it's basically real-time, right? There's sometimes a delay of a few seconds, but you can use it to trigger things pretty much instantaneously. Whether that's, you know, in this case, notifying someone on Slack, or it could be, you know, when you, in case you use Notion to write your social media posts, to push that social media post into your actual platform where you schedule it, you know, the, or when, in Notion, you confirm that an order has been, um, you know, has been fulfilled, it could update your, you know, it could create an invoice in another system. Like, the world is really your oyster here. Webhooks are super, super useful. They basically always mean that the automation will finish running elsewhere, but still, it gets triggered through Notion database automation. So we need to know about it.
Let's wrap things up with a very important limitation of Notion database automation that currently still exists, right? And that sort of, uh, means there's still a ceiling to what we can do in Notion, and that is that Notion database automations don't have search. They don't have a dynamic option to query something in, uh, Make. Right? For example, you have a module with Notion that I could add here, you know, add a module and say, Notion, and could call this like "search objects." Right? And what I can simply tell is, okay, please go into a certain workspace, and in this workspace, in this database, find all entries where I am the responsible person, right? Or where the due date is today. In Notion, that doesn't work. At least it doesn't work dynamically, right? We can, of course, go in and say, okay, new automation, and what we want to do is, Right? Um, we want to find all the entries that have condition X. But, uh, this condition X is hardcoded. Let me show you what I mean. Let's say we have here projects, right? And we want to make sure, um, maybe this, this is, you know, like, uh, Matias's stack, and I want to make sure that when I, ideally, when I click this button, I want all tasks in the task database that are assigned to me, related to this project. Right? There is not a relation existing already. I want to create this relation. That's something that we currently can't do, at least not dynamically. Because when we take, uh, you know, now a button, right? Let's add our button here and say, okay, what, what do I, what do I want this to do? I want, when I click this, uh, I want to edit pages in. Right? I want to go to a different database. I want to go to my, uh, task database. So far so good. And now here, in tasks, I want to find all tasks where the person who clicked the button is responsible. And this, like, dynamic part, right, "person who clicked the button," that's what we can't do. Because if I go now to edit all pages and I go to responsible, I see that I can select a person, but I can't write a formula here. Right? In all these other steps, we have the option to write formulas to dynamically access data from our entry where, you know, the action occurred to do this, but not when we build these filters. And that means that unlike with the other elements, right, where we say, okay, um, you know, now for related entries, we can always, uh, update those. If that isn't the case, if there isn't a relation pre-existing, we can't do dynamic search. So that's one big limitation with Notion automation that you will run into a lot, right? Like, we haven't covered any of the use cases where we would need that because, well, it's currently not possible. But as soon as Notion adds it, right, that's another layer that we have then in our tool repository to build really, really cool workflows. If that happens, right, I'll update, uh, this video or record another one. So make sure you also subscribe to the channel so you won't miss that.
You're pretty much a Notion automations expert now with one thing still missing, and that is what do you do when something goes wrong? Well, until very recently, Notion database automations were actually kind of problematic because they didn't have any error handling at all. Now, the situation is still not great, but at least it's a little bit better. Basically, one issue is that if you have an automation running and something about this automation won't work, then, well, it will not run, and, uh, you then have to sort of troubleshoot what went wrong. So let's say, for example, right, we have here, um, our automation and we say, "set tasks to in progress," right, when status is "in progress." Define custom variable, and then add it our trigger p, you know, in tasks, uh, different elements. Let's say we go now into tasks and we delete our status property, right? That's the thing that our other database, this automation wants to update whenever we set something to "in progress." So let's go right, and let's, let's set this back, uh, for a moment, and then wait, and then we can, uh, put it back to "in progress," and then we'll see how this error gets handled. Right? So we click now on progress, and then in a moment, this automation is going to run, and it's going to, you know, try to go into tasks and update this property, which doesn't exist anymore. So if we click on here, we see now "invalid." Something went wrong. "Set, fix any errors or remove failing step to prevent this automation from pausing on failure." Let's click into it, and then we see, if we scroll down, now here it tells me that this property was deleted, right? The thing that it's trying to update doesn't exist anymore. You also will get a notification here, right, as the person who created this automation, that, um, you know, this automation failed, and you have to look at it. So there's a little bit of a heads-up, but still, it means that in particular, if you build automations in a team environment where a lot of people use the system and could mess something up, you need to establish a habit of regularly checking all your automations to make sure that they're still up to date. And unfortunately, that involves going into the individual, right, databases or
places where you create these buttons because there's not a central overview for Notion automations yet, which is why it's so important to create proper documentation when you do this right. So you know exactly, okay, what do we need to check and what are the relevant elements that we need to keep an eye on. Amazing.
[Music]
With that, now let's just touch on a little bit of, you know, quality of life or, you know, good to know elements about automations. And those are the following. If you click on automations right on the database automations and you look at any of them, right, one that is valid, right, and works. Let's, let's do it. Here we see that we can, uh, click on the three dots to pause this automation. Right? So if I just want to temporarily disable it, I can do so here without having to delete it. And then I see here, okay, this automation has been paused. Quite useful.
Another thing is that if you look at your automation right now, let's make this active again. Um, and you have different views. You can actually change where this automation should run. Right? Remember earlier, if I create a new automation here, it tells me "all pages in project." So most of the time, that's what you want to go with, right? You want to have an automation for all entries somewhere. But sometimes you only want to run automations based on entries in certain views. So if that's the case, right, you want to make sure you go in here and say, okay, only trigger this for elements in this view, right? So, um, if a page is filtered out here, if it doesn't pop up there, then the automation won't run. Another cool way to make your filters a bit more granular, right? Other than the triggers that you have available already there.
All right, that's it for this Notion masterclass. If you still have any questions about formulas or automations or a specific use case that you'd like to explore, well, let me know down below in the comments. And if you want to continue learning, I've got you covered. Here is a video with 117 must-know Notion tips in 2025. Just click here and I will see you in a second. You nearly did it.
Now, to round things out, let's take a look at advanced admin concepts like Notion permissions, plus a collection of my favorite little and big tips and tricks. If you run your business in Notion, [clears throat] you need to get permissions right. Who can see what? Who's supposed to edit which entries? And [music] how can you avoid that the wrong information gets leaked? Well, I'm Matias, and I'm a certified Notion consultant, which means that we build secure and scalable systems for companies for a living. And in this video, I'm going to walk you through everything you need to know to master permissions in Notion. From the general beginner setup with groups and your high-level security settings all the way to the newest Notion feature, granular permissions, which unlocks some really cool use cases. Let's dive right in.
First things first, the structure for this video. We have a lot to cover, so we've broken down the video into three big chapters. That way, you can easily jump in between, right? And if there's only a certain area that interests you, go right to it. Although, I do recommend that for the first time when you watch this, right, that you go through everything in order because there are a lot of little things, right? And tips and tricks that we need to cover and you might miss them otherwise.
The three big topics are: understanding your workspace. That's how, why we start, right? We need to make sure that you know exactly what are the workspace roles, what are the workspace areas, and what are the basic permission levels. With the theory out of the way, we can then take things a bit more practical, right? And look at permissions in practice. How do we use groups to assign them and what are the default security settings that we recommend to pretty much anyone, right? So, if you don't have a lot of time, skip ahead to that part. This will teach you the one setup, right, that I recommend to 99% of people. This is the perfect starting point. And then after that, we take a look at more advanced permission workflows. That means a really cool hack on how to create secure collaboration pages. It's one of the things that I see rarely if ever mentioned online and pretty much all the client workspaces, right, that we go into in the beginning don't have this setup. So very important you know how this works. Then of course, granular permissions, right? The big new Notion feature that we have now since a short time. And last but not least, a first look at enterprise management. So this is our plan for the day, right? A lot of things to cover. So let's start with the first part, right? Understanding your Notion workspace.
In order to see the different people in your workspace, you want to open the settings and then go to the people area under the workspace tab. And here you see now, we have in the front, we would see any guests in this workspace, and then we have all the members together with their role. So to add a member, right, very easy. We simply click on plus. Hello at matiasfrankconsulting.com. Uh, now we can invite that person to our workspace, right? And we can change the role that they should have. And you can see if I click in here, right? They can be a workspace owner or a member. Currently, since this is a free test account, right? Uh, we only, we get this little information that if we add a member to this, we will have to upgrade to the plus plan. Technically, it is possible to add members on the free plan, but then you have a block limit. So basically, never do that, right? If you need team members, uh, upgrade to the first paid plan. And then if we are on a paid plan, you will also see the other options here, right? Which would be to turn them into, um, uh, a membership admin. As you see, one thing that's missing here, right, is the organization owner. You can't, uh, set that here. If you're on an enterprise plan, you will have the option to, um, claim an organization and through those separate organization dashboards, right, you will be able to set the organization owner.
Next, let's take a closer look at the different areas of your Notion workspace because again, that is very relevant for the overall settings. First up, right, organization. We already touched upon it several times. The organization actually lives outside of Notion, uh, out of your workspace. Technically, uh, if you, uh, are eligible for it, right, on an enterprise plan, you will see in the settings the option to create, or claim your organization, and then from there, you will have settings to jump into this separate organization dashboard. It works a little bit like your Notion profile, right? If you, uh, don't know that yet, there's a URL that you can go to. I'll add it to a link in the description, and then you can visit your general profile. It's important for the marketplace, these sorts of things. And similar to that, the organization also lives outside of the actual Notion app.
You then have your workspace, right, where most of the things happen. That is the thing that you do your work in. You then have the team space, which is sort of a container within your workspace that can have separate permissions and a few separate settings. And then you have your private and your shared area. Just for a quick look, right, this is how the organization dashboard looks like. If you go to it, you will see, uh, the members that you have overall, the number of workspaces that are connected to this organization. Right? So I could go in here now and create a different workspace for maybe my consultancy in the US, if that was relevant, as well as a bunch of the enterprise security settings, right? Like enabling single sign-on or SCIM provisioning. We'll touch on this a little bit later. You can also from here, right, then set or like, uh, influence the settings that are available on workspace level, right? So you can, uh, manage, um, the accounts, right? You can say, okay, certain rules should be overall, um, you know, uh, applied from here. For example, you can, as you can see, currently it says here, "everywhere workspace managed." That means the workspace owner can decide whether sites, forms, and public links are possible, or whether users can export pages. But I can override this here for the whole organization, right? So if I don't want that members, uh, can just invite guests to pages, I could here turn it off for all workspaces across the board, and then the workspace owner would no longer be able to change it again. Only relevant in large organizations, but good to know that this exists.
Now, specifically in Notion, you can of course always go to settings and then change this, uh, on your workspace if you're not part of an organization. Right? So here under security, uh, that's where you find most of the settings, right? Where you can say, okay, uh, is the team allowed to, you know, share sites, forms, and public links? Are you allowed to duplicate pages? Uh, are you allowed to do exports? Right? How is it for members and guests? A lot of these will depend on the plan level, right? So most of these are only available on Business and above. Below that, you have a few less options, um, to control your whole workspace as the workspace owner, but those are the workspace level settings.
Now, if we go below that, right, we'll have the team spaces. And first off, you can of course find your team spaces under the team space toggle, right? So in our, uh, consulting workspace, these are the team spaces that we've currently, um, set up. You can from here create new team spaces, and you can always see who are the owners of a specific team space.
So much for chapter one, understanding a workspace. Now you have a rough overview of everything that matters for permissions in Notion. You know the different workspace roles, the different areas, and the different permission levels, plus how to change them on a page-by-page level. Next, let's look at permissions in practice.
And there, the very first thing that's really, really important is to understand that in general, you always want to manage your permissions using groups. You never want to be in a situation, right, where you change permission levels for individual people on an individual page-by-page basis. And in order to set up groups, we need to head into our Notion settings. Again, in your Notion settings, you want to go to workspace, members, and then the groups tab. And here it's very important that you set up at least two groups. That will be in a moment also the part, right, of my recommended standard setup. But basically, creating a group allows you to first assign members of your team space to that group, and then you can manage all the permissions through that, which makes it so much easier, right, to bulk assign people. Just imagine for a second that you have a specific team space for HR, and you have a new person joining the HR, um, team. That means you need to now go in and add that person to that team space. And let's say there are also like two other team spaces, right, that are relevant for them, or like two other pages as a person, uh, in HR, right? Maybe there's something in your executive workspace or just in like a separate page for them. You again add them individually. So now you already had to add them in three different locations for the onboarding. But what if they leave the company or they change in a different position? You need to remember now every single place where you said, well, this is relevant for someone working in HR. Go in and change this. Which is a maintenance nightmare. You'll never want to be in this position.
Instead, you always want to do this through, which means you simply go here, right? You create that group, and then whenever you, uh, change your permissions, right? So, for example, when you say, okay, who to invite to a team space or who to give which rights on a page, you always want to do this through the group that that person belongs into, because now you can just remove or add that person to the HR group, right? And will inherit all the permissions in the right places. Now, however many groups you need to set up will depend on your specific situation. So, for example, if you're a very small company, right, then two, "admin" and "team," are more than enough. This allows you to create all the relevant access levels in a small team where you want to make sure that admins have full control over everything and the team just a reduced one. Uh, if you then, of course, have more needs, right? If you say, okay, I have an HR space or maybe I have an executive team, right? You would create these. So basically, for every kind of access level in your company, you want to have a corresponding group.
Just to illustrate this point, right, in our VC setup, here's our backend with all our databases. Now, let's just look first at the wrong example. This is the funds database. And if we inspect the share settings, we see that everyone here has full access, which basically exposes your database and anyone in your team might be able to mess things up, rename properties, add new properties, right? Delete them. Uh, which is a big issue, particularly, right, if you have automations that rely on a certain database structure. Instead, this is what [music] you want to see whenever you visit one of your databases. You want to see that the admin group has full access and the team has "can edit content" because that way anyone added to the admin group can modify the database, and the rest of the team can only change the actual entries within it.
Next, let's move on to the advanced permission workflows. And first up, right, creating secure collaboration pages. That's kind of the second part, right, that I recommend on the default, um, settings, but it's a bit more of an advanced concept. So we moved it over here in the chapters and sets perfectly the stage for this. The situation is basically that, right, let's say you have your databases perfectly locked down, "can edit content" on all of them to protect them. The next thing that you're probably going to do in your workspace is that you're going to build out central dashboards where everyone in your team can collaborate because in an open world, you always want to think in backend, your databases, and frontend, your dashboards. And again, if this is a new concept, check out the video with the business guide down below. But of course, if you spend all this time designing these cool, uh, dashboard pages, it would be a shame if everyone could just go in, right, and destroy them. Now, making sure that you have the right permissions on them where everyone can only take the actions that they're supposed to and none of the others can be a bit tricky, but there's a really cool way to make this happen.
To get there, just click to the "invited" part. Right, we have our team here. And now we can up them to "can edit content." And this now creates the desired situation on our main page where for every database where we upgrade the user group to "can edit content," people will be able to make the changes to a database directly, right? As if they had the full edit rights to the page. But they will also only be able to make these changes, right? They can't make changes to the, uh, heading, right? Or any other kind of the structure. The best solution. Even better with this setup, right, you can make sure that you can actually pick the databases where you want this to happen. Maybe for the newly sourced deals or so, right? Or for different kinds of database views, right? Maybe for the charts, you don't want them to make any changes, right? Or here you just want them to look at the new deals. But then on the deal pipeline, that's where you want them to be able to edit it. Well, with this approach, you can do so, right? Every database view can be edited on its own. And in brackets, you also have to do this on its own, right? So here where we have four database views, you'll need to do this all separately. The good news is though that if you have several views or sort of like several tabs, right, on one database view, the permissions will change for all of them at once. So here, right, you need to only do this once, open as a page, not once per view, which makes it a bit more manageable.
So let's take a look at how this works in practice, right? We have "no access" for people on the general database, but if they're mentioned, they can see the entries. So on another account, right, on my MF Consulting account, I can now only see the entries linked to me here. And this is secure, right? There's no way for me as MF Consulting to click back in the original database and see everyone's tasks. We're sharing a subset of this database. Uh, and you can see this also, right? If I mention now here in my other account, "demo task," which is where this is coming from, where we're looking at this "client portal" page, on both of them, "demo tasks." If I go to my other account, I see "no access" here because I don't have access to the underlying database. And if I were to click on here, it would simply show me, well, nothing, right? There's no way for me to access this.
What's important to know is that if no entries were assigned to MF Consulting, right? Let's just do this for a second, right? Let's assign all, uh, the owners, right? Um, let's unassign this, right? Let's assign everything to Matias for a moment. If we go now to that other page, right, we see that there are no entries in this table. So the user will still get a sort of linked view, right? But no entries in it until I assign at least one entry, right, to, uh, MF Consulting so that they can see that specific entry here. This makes granular permissions amazing for a situation where you want to give people really only access to the entries that are related to them. Most of the time, that will be a situation, uh, where you work with freelancers, right, in your workspace, and you want to have them, uh, for them to have access only to certain pages or client portals where you want to share with a client the items that you're working on for them, but none of the ones that you're working for for other clients.
Very importantly, in this owner property, you can mention guests, right? Add someone as a guest in your workspace, you will be able to assign them here, thus them being able to see the entry. And you can also assign groups here. So if you have, you know, sort of like a subgroup, let's say the HR team, right? And they should see only entries, uh, they are the only ones that should see those entries, right? You could create the HR group and then add them to it and don't have to add people individually. Importantly, you are not able to add guests to a group, right? So this is one of the areas where you still need to use a bit of a workaround or ideally automations, right, to assign things at scale, but it is possible, right? That's the most important thing here.
Another common scenario that you might have is to sort of increase, right, the security of your database overall where you say, okay, actually, I want my team to be able to see all entries, but they should only be able to edit their own entries. In that case, right, we would slightly change the structure. Structure here. What we would want to do is we want to again add our group, our team group, right, where everyone is inside, and we want to set their permissions to either "can comment" or "can view," right? So that they cannot make changes to the entries overall. But then we can again keep this "anyone in owner" right, "can edit" rule because that way, you know, Jill would now see all tasks, so she would see my workload, but she could not change anything about my entries. This works particularly well for setups, right, where you might have a content calendar or so, right, where you want people to only be responsible for A items and not mess with someone else's entries.
Now, there is one small quirk remaining, and that is that if you're in a situation where you have set your whole database below the "can edit content" permission for the team, right? So on "can view," "can comment," or "no access," that means a user will not be able to add a new entry with a new button. Since I don't have permissions on the database, I can't click on "new" anywhere. I also cannot run a button that adds an entry to this database because I don't have permissions on it. The way to still allow users to add something to this database is through forms. So that's basically the workaround that we have here, right? Instead of a button that adds a task directly, we have a button that opens a form. So we can open up that form, right? And then on this form, I will be able to add an entry. Um, and this entry, since I can say, well, for example, the owner should automatically be set to the person who created it, will be able, right, to assign the task to me, and I will see it immediately. That's sort of like the core.
Okay, edit it in the new tab for whatever reason, not quite sure why, right? So let's add our sort of like test task, right, as consulting, perfect. Submitting it. If I go back here, right, "test task" pops up here. So it's sort of like one extra step, but it works perfectly fine in this scenario. Where this currently won't work, at least not at the time of the recording of this video. Uh, if it changes, right, I'll have a link in the blog post and update this. Where this currently does not work as easily is for guests of a workspace because on a form, if you have that set up, let me just switch to that. On my form, I currently have it set to "anyone at MF Consulting." And this is a bit misleading. This means actually anyone who is a guest in this workspace, uh, sorry, a member in this workspace, which means guests will not have access to this form right now. In order for a guest to be able to fill this out, I would need to say "anyone with the link," and then currently anonymous responses are always toggled on, right? There's currently no way for a guest to submit a form, um, under their own account, which means we then cannot automatically assign that entry to them, right? Because we don't know who created it. So this is sort of like a limitation with just Notion tools on its own. It is possible to build workarounds for this, right? Um, with other form builders and a few more advanced, uh, automations. So if this is a problem that you have, right, definitely get in touch with us. We are happy to help you out there. Um, but it's something to be aware of. I assume that this will soon be changed, right? So again, by the time that you watch this video, it might already be fixed. If that's the case, check the blog post for that. But yeah, right now, an important limitation to be aware of where you need to have a bit of a workaround if external people are supposed to create new entries.
So much for this permissions guide in Notion. Now you have everything you need to start setting up a secure system. But if you wonder how you should actually approach, you know, building the database architecture and then possibly the front end, the dashboards, right? All the user interfaces, well, I've got you covered too. Here is a thorough guide that will bring you from an empty page to a fully functional Notion system for your business. Just click here and I will see you in a few seconds.
This is a question that we get all the time from our clients. Can we hide certain properties in Notion? You probably know the problem. You've built your database, you've filled it with entries, and now you would like to share it with your team or external stakeholders, but not all of it. At first, this can seem nearly impossible in Notion. But luckily, there's a quick and secure workaround. I'm going to show you exactly how to set this up in less than 5 minutes.
Our first example is this employee directory, right? Where we are tracking the people for my fictional company, Cafe Notion, a hipster sourdough bakery in Berlin. Now, I want to be able to record also the salary and like an emergency, uh, phone number for them. But neither of those information should be publicly available, whereas the rest of the database, right, will be shared with the whole team. Unfortunately, right, in Notion, it looks like that isn't possible because there is no setting to hide, um, the, uh, you know, a property for everyone, right? There will always be a way for them to retract it and actually expose it. Particularly if they click on a record, right? Uh, at the latest tier, even if you have properties hidden there, right? People will always be able to see all of them. So, what can we do? Well, the solution involves setting up a second database, a secret one. Because what we can do in Notion, and since the recent update, a lot more effectively, is to make sure that we have, um, the permissions on our databases scoped to who should access it. And then our public database will be accessible to everyone, whereas our secret database will be only accessible to, for example, HR or the people who should have that piece of information. And then the way that Notion permissions work is if you pull information from, uh, one location to another, the original rules still apply. Let me show you what I mean.
The first thing we need to do is set up a separate second database now. So let's type slash database. I'll do it as an inline so it's easier to follow. And this will be the confidential, uh, employee information. Now, in here, I'm going to quickly create a matching entry for Emily, but later this will happen automatically. So you don't have to do this for every single record, just now for the sake of the demonstration. And then we have to link that, right? We need to tell the system, hey, um, I'm involved, uh, in the public entry has additional information in this other database. And in Notion, right, we always link two database entries through a relation. So I'm going to create a new property, going to pick relation. We're going to pick our Cafe Notion team, right? We're going to call this the "public information." I'm going to turn on the two-way relation. Oops, let me just move myself here. Uh, a two-way relation. And I'm going to call this, uh, "additional information." All right. Now, we have this relation, right? And now on either side, we can go in and connect this one record. So, perfect. That means now we have, um, a linkage, right, from our public Emily to our private one. And now we can add additional properties here. We can say, okay, let's add a number property, right? This might be the salary. Uh, we can quickly set this to display euro. And now I can put in €3,500. And this is kind of step one, right? And sort of the simplest way of how you can add additional information to a database without exposing everything because you can keep the permissions separate, right? Let me just open this, uh, turn this into a page for now. And then on this, uh, one, right? I'm going to go to the share settings. And you see on the other one, I had invited, uh, a second account. I'm going to remove this for a second. And this means now only I have access to the confidential information, and only the rest has information. This. So I can already go in here, right? Say, okay, I click on the additional information record and see that. Not the most convenient, right? I'll show you in a second how to make this even easier. But the base layer is already here.
The second step is now to pull that information in this database. So we actually have a hidden property. So in order to do so, let's click on plus. And as you know, when we want to pull information from a related entry, we can do so via a formula or rollup. Rollup is a little bit easier to understand typically. So I'm going to click on here. And a rollup, right? Let's call this the, um, salary. A rollup always needs to be configured with three steps. First, from what related entry should we pull something? In this case, well, from the additional information one. Which property should we pull, right? So we have currently only, uh, three properties on that, and we want to pull the salary, and we want to show the original value. Which means now we see on this database, right? Uh, her salary based on what we have in the confidential information, which also means now, of course, right, if we open the record, we have it here, and we don't have to click through to that other entry first. Let's compare this, uh, to what other people see that don't have access to confidential information, right? If we swap to the other account, we see, okay, I have Emily Wolf, I have, um, the started entry, and wherever it says salary, it tells me "no access." So, one very important, uh, thing about this workaround, right, is that it will still show the name of the property. So you don't, when, when you're building this, right, you want to make sure that of course, if you have confidential information, that it is okay for the other side to see the, um, the property name. If you know you have sort of like the, uh, reasons why they are the worst, right? Or something that should not be exposed, well, then the only real option here, if you want to keep it all in Notion, right, is to make sure that you give this nondescriptive title, right? Sort of like, uh, "additional information one," right? And you might know what it is, but no one else. But I mean, in general, right, it's fine, right, for people to see that there is a salary property or that there is a phone number property, but they will have no access to the underlying information because it pulls from a database where they don't have access to.
All right, so that's the basic setup for it. And now we can of course add any number of additional properties to the second database. But most importantly, we need to make sure that the setup is a bit more convenient. Right? We don't want to have to manually set up this separate entry for every single record. In order to do so, we need Notion's database automations. You can find them by clicking on the flash icon here. And then we can set up our rule. And basically, what we want to happen is whenever we create a new entry to our public database, we want to have also an entry in our hidden one. So let's, uh, call this, uh, "setup additional information." Our trigger will be that whenever we add a page to database, what we want to do is we want to add a page to our other database, right? So the confidential employee information. And then what we want to do is edit property, and we want to say, hey, we want to link this to the entry from the public information one that was just created. Right? That's the most important part. If you want, we can also give this a name where we can either map over the name or we can just call this "additional information," right? It depends a bit on how we want it set up overall, but this is the key step. Now, if we enable this, and if I add a new entry, for example, let's add myself, right? That is Frank. We will see that in a second. Uh, here, right, under additional information, we have that record pop up, right? Which means I can just jump into that and quickly set up the salary for Matias, right? Which might be €2,800. And again, we have our display property up here without needing to manually create this every single time.
Now, this workaround is very flexible and not just restricted to simply show additional information, right? And hide the values of certain properties in your Notion system. You can also use it to make calculations across the system for elements that are not supposed to be public. So, just one quick example here. Let's say you have a task database, and on this task database, you want to actually track how much it costs you, right, to perform this task. Particularly if you use Notion for time tracking, for which I have a tutorial linked down below. Uh, this might be quite interesting information, right? Kind of a real-time cost assessment. In this case, we have now our test task here, and we have created again a relation from tasks to our, uh, Cafe Notion team database, the core one. And on my confidential database, I've added a new property, the hourly rate. Now, what we can do is on tasks, we can now calculate how how much this has cost me based on that information, and it will only be accessible, this value of what the cost was, to people who have access to confidential employee information. So, also maybe in situations where we say, okay, we work with clients, we want to show clients the tasks that we work on, but we don't want to expose our internal rate. This might be an interesting workaround.
Let's, uh, quickly just set up this number property, right? Uh, sort of like the, um, let's call this "hours," right? We won't build a full time tracking here. And let's just say I've worked for 3 hours on this. We can now go in and set up a formula property to calculate our time worked. So, let's call this "cost." Edit formula. And what we can do, let me pull myself over here again. So we can say, okay, in this formula, I would like you to go to the team member entry, right? I would like you to go to the first one of it because there will always only be one of them. Oops. Do first this way. And then under the first entry, what we want to do is we want to make sure that we grab from here, um, now the "additional information" property. Right? So again, "additional information," then again going into that entry, and from here we can now access the hourly rate. If this is a bit complicated, again, I have a full tutorial on how to write Notion formulas, also linked down below. Really, really powerful skill. Otherwise, you can also, of course, ask AI to write you this formula, although it will probably come up with a more complex, uh, workaround here. And now we have that hourly rate in here. All we need to do is now multiply this, right, with our hours. And then we get here the actual cost that we had for this specific work, right? And we can go in and say, okay, format this again as, um, you know, euro. And this information will, oops, sorry, that was not what we wanted to change. That's always a trouble if we zoomed in so much. We want to show the cost. Perfect. €75 based on, right, the hourly rate of Matias of €25, and if I were to change it, right, it would update accordingly. And again, this is only accessible and visible to people who have access to the confidential employee information database.
Now, if you are looking at this and saying, okay, I need to take it even one step further, right? I can't, uh, even expose the fact that these properties exist. Then, as of today, you can't do this in Notion alone. You will have to take it one step further, add a second tool on top. For example, Softr is a great front-end builder that you can use to plug in your Notion data and then build basically custom dashboards and only pick the specific entries that you want to show. I've done a bunch of tutorials, uh, with Softr plus Notion in the past. So I'll link them in the description as well in case this is the route you want to go down.
So much about securely hiding certain properties in Notion. Combined with Notion's granular database permissions, through which you can control who sees which row on a database, this means you can finally have nearly full control over who sees what in Notion. But of course, it's really essential that you understand exactly how Notion permissions work in order to not accidentally expose the wrong piece of information. That's why I've put together a complete Notion permissions guide where you learn everything and will never expose sensitive data ever again. Just click here and I will see you in a few seconds.
Congratulations, you made it through our big Notion course for 2026. I hope that this was helpful and you can now go out and build your own systems with Notion. If you still have any questions or suggestions for the next video, please leave them down below in the comments. Other than that, just want to say that I really appreciate you taking all this time to go through this resource and that I want to wish you all the best for the rest of your Notion journey. If you need some more additional resources, don't forget to check out my website at matiasfrank.de, among others, right? We have there an update log of all the latest changes that are coming to Notion. And yeah, I hope to see you soon in the next video.