Are you looking to create recurring tasks in Notion that automatically update the due date when the task is done?
Notion is a great app and many people use it to track tasks. If you have tasks that are recurring, you are left with manually changing the due date of each task. This can be a time-consuming thing.
You don't have to worry though because I have a solution that can:
- Automatically change the due date when a task is completed
- Lets you define the recurring duration ie. weekly, bi-weekly, monthly, quarterly, and much more.
And the best part, you don't have to use any complicated formula.
Let's straight dive into the tutorial.
How To Create Recurring Tasks in Notion
To create Notion recurring tasks, we'll use the Notion API to make our database smart enough to make changes on its own.
The Notion API is a collection of tools and instructions that enable other apps to integrate with and communicate with Notion.
This opens up a lot of possibilities that are not possible otherwise.
Let's start by creating a table database for recurring tasks and then a new Notion integration to connect to the Pipedream workflow.
Don't worry, it's all very simple, and all you have to do is follow each step exactly as I say. Let's get
1. Prepare Your Notion Database Table
Before we can proceed with the integration, we must first prepare the database table. In order for this workflow to work, the database must contain certain properties.
- Select property that defines the recurring interval
- Date property showing the due date for the task
- Checkbox property that one can check after the task is done
As an example for this tutorial, I'll show you how I created the article optimization database and used it to set up the recurring tasks workflow.
The table contains articles that have already been published on this website, and I intend to update them on a regular basis in order to improve their ranking. The update frequency varies, and I want the due date to be changed automatically when I check the box in the last column. In addition, I sort the table by due date so that I am aware of upcoming tasks and can plan on completing them before the deadline.
Once the tasks database table is setup, the next step is to create an Notion API integration.
2. Setup A Notion Integration
The Notion API will allow us to connect to the Pipedream workflow and create recurring tasks in Notion where the due dates automatically changes when the task is marked completed.
Log in to your account and go to www.notion.so/my-integrations to set up an integration. When you're in the dashboard, select the New Integration option.
It will take you to a new page where you must fill out the integration information. For easy identification, you can give it any name and upload a logo.
Then, select the workspace where you want to use the integration. Give all permissions for the content capabilities and limit the user capabilities to no user information below it.
When you're finished, click the Submit button, and it will generate a unique Notion API token for you. Copy the token, keep it safe, and never share it with anyone.
3. Create an Account on Pipedream and Copy the Workflow
Pipedream is a service that makes it really simple to connect APIs. Tilde Labs has created a workflow that you can copy to connect to the Notion API. It's very simple, and I'll simply demonstrate how.
To connect the API, we'll need to first sign up for a Pipedream account. Create your free account by clicking the Signup Free button in the header.
After that, go to Gumroad and download the Tilde labs workflow for free. You will be emailed a link that you can click and a Copy button will appear at the top. Click on it and the workflow will be copied to your account for you to execute.
There are some fields that we need to fill to make the automation work and create recurring tasks in Notion. Lets see what all is required.
4. Add Required Parameter to the Workflow
The first parameter we need to add is the Notion API token that we created in Step 2. Copy the key and paste it into the first box.
The Task Database ID is the next parameter we require. You can easily find the database ID by opening Notion in the browser and then opening the database as a page.
Now, in the browser, click on the URL and copy the code after your Notion domain and before the question mark.
Navigate to the Pipedream workflow and paste the database ID into the second box.
Next, enter the names you've assigned to the checkbox, date, and select property columns.
If you're using a custom recurring interval, you can define it in the code section below. If you have the same intervals as shown in image, you can use the default ones and not change anything.
When you complete all the steps, save and deploy the workflow.
5. Schedule the Workflow
Before we schedule the automatic run, let's see if the workflow we created works as expected.
Scroll to the top of the page to find the settings for scheduling the workflow and to run it.
To test our workflow, go to your Notion tasks manager and check the box for any one of your tasks and note down the due date. Switch back to the Pipedream website and click the Run Now button. If the Due Date for the completed task changes automatically based on the interval, it means that the workflow is working properly.
You can schedule the workflow to run automatically based on your time zone and the time you specify. Based on the recurring interval, a new due date will be assigned to the tasks you have completed each day at the specified time.
That's it! I have found this solution to be the best to create recurring tasks in Notion because you don't have to rely on Notion formulas or make changes manually.
You an also check out our other tutorial on how to embed Google Calendar in Notion. If you liked the tutorial, consider sharing it on social media.
Did everything as instructed and even redid everything twice and same issue would occur. Just keeps saying “Error Request failed with status code 404”
Fetch completed recurring tasks…
message: ‘Could not find database with ID: MYID’
Thanks for your comment. Based on the error message, it appears that you copied the incorrect database ID. Did you open the database as a page and copy the code after the notion domain and before the question mark in the URL?
For detailed instructions, you can check step 4 in the tutorial.
Same here. Did everything as instructed but came up with the same error as unluckytech.
I have verified that I have the correct database ID (opened the DB as a page, etc) and verified over and over that the Internal Integration token is correct as well. I even went into the Notion API Documentation and scoured that for possible missing info (the only additional thing that they state is to “Share” your database – so I did that as well.
But, it still gives the 404 error. Seems like it cannot find the datebase for some strange reason but I cannot understand why.
Well, I finally figured out what is going on. In my previous post I stated that I “shared” the database. But when I brought up the “Share” control, it only allows me to share to an email address. Just for grins I decided to create another database to see if something was wrong with that first one. This time, when I brought up the “Share” control, low and behold the “Recurring Task” integration was listed as a selection to share. I selected that and now it works!
So, the bottom line is that you have to SHARE the database with the API integration before this will work. I think you should add that step in your workflow; perhaps between steps 2 & 3 or after step 4.
In any case Ahmed, thanks for developing this API!
I’m glad you were able to make the API work.
Yes, you are correct. I’ll update the article to make it more clear for everyone.
Thanks for your comment. I will not claim credit for the API. Tilde Labs created the API, and I just wrote this tutorial to explain how to use it.
Thank you! It works perfectly, this helped a lot 🙂
Since pipe dream workflow is on gumroad, which is not accessible in my region. I can’t follow the tutorial as stated in title.
In your database page, you need to add connection to pipedream