It feels like I was just saying this a couple of days ago, but today Notion released a brand
new feature.
This one is called database buttons, and it basically allows you to click buttons inside
of specific rows or pages in your Notion databases to run automations.
So this is gonna be a pretty quick video.
I'm just gonna switch over to my computer screen view right now and show you how it
works.
This is basically an iteration on the buttons feature they released a few months ago or
last year at some point that basically allows you to click buttons like you would right
here and run little automations, except for now it's inside of databases.
So you can see, I actually have this little vote property in this little ideas table right
here.
And if I click, I can add myself to this voters property right there.
So I'm adding myself to all these little features and I actually have this set to toggle mode.
So if I click it again, I actually take myself off of this feature.
And in this property right here, I just have a very, very simple Notion formula that is
counting the number of people inside of this voters property.
So I've made a little impromptu voter board.
Down here, we've done something a little bit more useful.
I think we have a complete button right here and you'll notice when I click it, it is actually
going to change the status and also change the date completed properties in this database.
So one click has two changes happen.
And then over here, I've created a slightly more complicated notion formula that just
tells me the gap between the due date and the date that this task was completed.
So we can go through and click all of these, just like this to basically get a nice little
record of how early or on schedule or late we're completing our tasks.
So like I said before, this is basically an iteration of the buttons feature that Notion
released fairly recently.
I'll give you a quick refresher on how that works.
Basically you can do slash button to create this little button block right here.
And then you have this trigger called button is clicked.
And once the button is clicked, you can basically define a whole bunch of actions to do.
So database buttons are basically the exact same thing, but in a database.
Let's go ahead and rebuild this boat tracker really quickly.
So I'm just gonna go ahead and delete this property right here, goodbye button, and we
will make our own.
So if I add a new property to this database, I can just search for button.
And I have confirmed this is also available on free accounts.
So everyone on a Notion free account, you will also be able to get in on the fun with
this.
I'll click button right here.
And now just like I had up there with the button block, I've got this button is clicked
trigger, and then I can basically define a list of actions.
One other thing I'll point out here is that this property is named a button.
We can rename it to let's just say a vote button.
And by default, it is going to get a label that matches the name of the property, but
I can give it its own label as well.
So instead of vote button, I'll just call that vote right there.
And now I can search to find my actions.
And I'm gonna go ahead and get myself off of the screen really quickly so you can see
the actions as I'm defining them.
And the big change here is in addition to this add page to edit pages in et cetera,
we now have edit property options that are going to affect the specific page where the
button was clicked.
So here in voters, I can just go ahead and choose person who clicked the button.
I'll hit done there.
And now it actually gives me a few different options here.
So I can replace everyone with the person who clicked the button.
That doesn't really make sense for a vote tracker.
Add would probably make more sense.
However, if I want the ability to let people also click the button again to remove themselves,
say they accidentally voted for the Android app instead of the iOS app, and they're like,
"Doh, that's not what I wanted."
We can set it to toggle instead.
And that basically creates a toggle state on the button.
So that is the only action we're going to create right here.
And now when I click vote, once again, I'll add myself to Zapier integration.
There I am.
If I click it once more, there I'm not.
I'm gonna go ahead and bring myself back into the screen here and scroll on down to make
this video even more useful.
I suppose we can also build this multi-stage button as well.
So once again, we're gonna go ahead and get rid of our complete button, get it on out
of there.
We are going to rebuild it.
So this time we are going to create a button property that does two different things with
one button press.
So here I'm just gonna call this button complete.
And I think that is actually a perfect label for this.
So I don't need to give it its own custom label.
Once again, I'll get myself off of the screen here so you can see what I'm doing.
Button is clicked is our only trigger property here.
We don't have other options like we would in the paid database automations feature.
I did cover that as well in a previous video.
I'll link that in the description down below.
But here we just have where button is clicked.
That kind of makes sense.
But again, we have this little do this section.
So this time we are going to set the date completed to today and that is a dynamic value.
You can also see that edit defaults to this page, which is in my opinion, the most useful
choice for it.
But you can also choose a specific page if you want, which is basically the exact same
thing you could do with the normal button block.
And then in addition to this date completed change we're gonna make, we also want to change
the status property, which I'll see if I can scroll over.
Yep.
We also want to change the status property from whatever it is to done.
And there's actually two ways we could do this.
We could edit another property just like this.
I'll set status to done.
Or if we really wanted to, we can even add another step and just change status that way.
So let me go ahead and get rid of status right here.
And then if we added another step, we could change status just like that.
Two ways of doing the exact same thing, catching the exact same Pokemon here.
So I'll just leave it like that.
I'll click out of here and let's go ahead and first tidy up our table, set our statuses
to something that is not done real quick here.
And now you can see when we click this complete button, we change status to done.
We get date completed, which is today.
And now we see this gap.
Once again, I will put this formula on screen real quick, just in case you want to study
it.
I'm not going to go deeply into it, but I do have a Notion formulas mastery video.
I'll also link that in the description down below if you are curious about that.
Okay, so that is basically Notion database buttons.
Now I want to finish this video off by talking about some of what I would like to see in
the future, because while this is a good feature, I think it is sorely lacking several, I guess,
sub features or aspects that would make it truly useful.
In fact, I'm going to go back to the screen here because I wrote these down and I'm going
to go through them to finish this video off.
So just a few of the limitations that I noted when I was testing this out.
First, you cannot increment a number property.
Say we had just a number in there, like a number property with a two in there.
There's no button that says like add one or add five or minus one.
That would be super useful.
So I would love to see that.
A big one is we can't pass data between steps or from the trigger.
I guess in this point, the trigger is just the button being clicked.
So passing data from the trigger is more of a feature request for the database automations
feature, but I would love to be able to pass data from one step to another step.
That would be super useful for building more complex automations.
You can't trigger a webhook.
This might not sound like English to people who don't do programming or a lot of automation
work, but basically a webhook is just an event that an app can emit when an action is taken
or when something happens.
So in the case of a Notion database button, what I would love to see is the ability to
click a button and have Notion emit like a webhook that you could use in a tool like
Zapier or Pipedream or make.com or any other automation builder.
So you could do really useful things.
For example, maybe I have a YouTube stat tracker inside of Notion.
And for each video, I have a button called Check Stats.
That would emit a webhook.
I could build an automation in Zapier or Pipedream to check the YouTube API for that video and
bring the stats in.
That would be super useful.
Would love to see that in the future.
A big one here, and I actually think I will show what I mean for this one.
We can't set date properties to dynamic values other than now or today.
So let me go back up and show you what I mean by that.
In our, let's see if I can find it here, our complete button.
We are setting the date completed to a dynamic value of today.
And you can see here, we have two dynamic value options, today and now, which is basically
today's date with the current time as well.
But beyond that, all we can do is pick a very specific static date.
What would really be useful is in addition to these stock dynamic dates, also allowing
us to pick a dynamic date that is displayed in another Notion property.
Let me show you what I mean by that, because I think this is the number one thing that
Notion could add to this feature to seriously improve the entire Notion product.
If I have my due date property here, maybe these are actually recurring tasks.
And I wanna also see what the next due date for this task is going to be after the current
one.
My team and I actually spent months and months making a super complex recurring tasks formula
that is really, really accurate and flexible.
But just to give you a super simple example, I'm gonna go ahead and make a formula property
really quickly.
I'm gonna call this next due.
And I guess you are getting a little bit of formulas in this video.
So throw myself off the screen for a second here.
If I just take due and I do a date add, and we'll do one and days, just like that, this
would represent a daily recurring tasks.
So now you can see the next due date for this task that is due in the 29th would be the
30th.
So what would really be useful with this database buttons feature is if we could say when we
click the button, set this due property to whatever date is displayed here in next due.
And that would give us a whole lot of flexibility because as you can see, I'm just adding one
day here, but I could change this to one week if I wanted it to be a weekly recurring task,
or I could go crazy like my team and I have and build a gigantic formula that basically
allows you to do any sort of recur and evolve that you want.
So the community has already done the recurring tasks logic for you Notion.
All we need is that ability to say, "Hey, let me pick this date right here and set this
date to that date whenever I click this button."
Going back down here to my little wishlist, we can't choose a current page in the relation
filter.
So if I had say a task database up here that was connected to a project's database and
all these tasks were connected to a project, maybe I would want to click complete.
And then in my project, maybe change like a last task completed property or something
like that.
But currently we cannot filter by the current relation page in those filters.
And this one down here, we can't define a path for the status property.
So this one is not something I've thought through too heavily yet, but I did create
what I thought was going to be a cool demo for this video.
And it turned out to be a little bit more annoying than I thought.
So it turned into a feature request instead.
Basically, I was thinking along the lines of a team running a project in a database
that might have multiple stages.
So here is a video's database, and you have some pretty cool videos that we might be working
on on like a fake channel or something.
And if I open these up, you can see I've actually created several buttons and several date properties.
So basically if you're a team and you want to track the dates at which each stage of
a project are completed, you could use buttons to do that.
So I could do start project, boom, the project was started January 31st, 2024 at 10 44 AM.
And I can do the same thing for all these different stages.
I could do complete, and you could see the status is actually changing itself as well,
just like that.
But it's a little bit annoying because we have to use specific buttons for each of these
different stages.
Something that I think would be really cool to see, and I'm not quite sure how they would
implement this, but would be really cool nonetheless, would be a single button that could say, hey,
the status is currently writing.
Okay, well, if it is writing, let's just go to the next one, filming.
If it's filming, let's go to the next one, editing.
Basically a button that could shift the status to the next one in the pipeline, but also
maybe update a date property.
And again, I'm not sure about the implementation for that, but I think it would be something
pretty cool for teams in the future if they wanted to track how long each stage of a project
actually took.
So that is our first look at database buttons.
I think there is a solid foundation here with this feature for some really cool automations.
However, like we just talked about, I think there are a few key additions the Notion team
needs to make for it to be truly useful.
So hopefully we see those in the future.
Speaking of automations, I've talked a lot about automations on this channel, specifically
with regard to the Notion API.
So if you wanna learn how to use the API or benefit from it, I've got a couple of suggestions
for you.
Right here, I've got a whole video on working directly with the Notion API using JavaScript.
It is a two hour course that will basically also teach you how to code, completely free,
check that out.
And if you would just like to benefit from the Notion API without having to do any coding
or setup, this video right here will allow you to take voice notes, transcribe them,
get them summarized with AI and send them directly to your note-taking database in Notion.