# Recurring Tasks

**URL:** <https://community.fibery.io/t/recurring-tasks/6347>\
**Category:** Fibery Showcase\
**Created:** [July 3, 2024, 9:28am UTC](https://community.fibery.io/t/recurring-tasks/6347 "2024-07-03T09:28:19Z")\
**Posts on this page:** 20\
**Page:** 1

<div class="post-metadata">

**Author:** ![webinit](https://sea2.discourse-cdn.com/flex020/user_avatar/community.fibery.io/webinit/32/5548_2.png) [@webinit](https://community.fibery.io/u/webinit)\
**Post date:** [July 3, 2024, 9:28am UTC](https://community.fibery.io/t/recurring-tasks/6347/1 "2024-07-03T09:28:20Z")

</div>

I’ve just spent time setting up a useful system for recurring tasks in Fibery. It was more difficult than I originally anticipated, so I’m sharing it here as it seems a common use case that others may benefit from.

Explainer video:

> **[Recurring tasks in Fibery.mp4](https://drive.google.com/file/d/1OUn61Oc1qVsuPxwBgXvNzVuhwmdGTtEJ/view?usp=sharing)**
>
> Google Drive file.

Import the Fibery template:

> **[Login](https://shared.fibery.io/sign-up?appShareId=8058e272-b493-48ce-93ee-c23633ddb1ae-tasks)**
>
> Log in into your Fibery account. Build your company workspace with no code.

---

<div class="post-metadata">

**Author:** ![Yuri\_BC](https://sea2.discourse-cdn.com/flex020/user_avatar/community.fibery.io/yuri_bc/32/8803_2.png) [@Yuri\_BC](https://community.fibery.io/u/Yuri_BC)\
**Post date:** [July 3, 2024, 10:26am UTC](https://community.fibery.io/t/recurring-tasks/6347/2 "2024-07-03T10:26:03Z")

</div>

Thats pretty cool and useful, thank you!

---

<div class="post-metadata">

**Author:** ![NicolSpies](https://sea2.discourse-cdn.com/flex020/user_avatar/community.fibery.io/nicolspies/32/4317_2.png) [@NicolSpies](https://community.fibery.io/u/NicolSpies)\
**Post date:** [July 3, 2024, 11:30am UTC](https://community.fibery.io/t/recurring-tasks/6347/3 "2024-07-03T11:30:41Z")

</div>

Could it be shared as a template to test ?

---

<div class="post-metadata">

**Author:** ![webinit](https://sea2.discourse-cdn.com/flex020/user_avatar/community.fibery.io/webinit/32/5548_2.png) [@webinit](https://community.fibery.io/u/webinit)\
**Post date:** [July 3, 2024, 12:17pm UTC](https://community.fibery.io/t/recurring-tasks/6347/4 "2024-07-03T12:17:46Z")

</div>

There’s a link to the template in the post above @NicolSpies. Just click it and you can import everything right into your workspace and make any changes you please.

---

<div class="post-metadata">

**Author:** ![NicolSpies](https://sea2.discourse-cdn.com/flex020/user_avatar/community.fibery.io/nicolspies/32/4317_2.png) [@NicolSpies](https://community.fibery.io/u/NicolSpies)\
**Post date:** [July 3, 2024, 1:01pm UTC](https://community.fibery.io/t/recurring-tasks/6347/5 "2024-07-03T13:01:19Z")

</div>

The link opens a signup page for a Fibery account.

The corrected link should be:

```auto
https://shared.fibery.io/t/8058e272-b493-48ce-93ee-c23633ddb1ae-tasks

```

PS. It works super, thanks.

---

<div class="post-metadata">

**Author:** ![webinit](https://sea2.discourse-cdn.com/flex020/user_avatar/community.fibery.io/webinit/32/5548_2.png) [@webinit](https://community.fibery.io/u/webinit)\
**Post date:** [July 3, 2024, 2:23pm UTC](https://community.fibery.io/t/recurring-tasks/6347/6 "2024-07-03T14:23:51Z")

</div>

That’s actually the link same I shared in the post.

I do notice, however, that it directs to a sign up link when it it clicked. Not sure why.

Here’s the of a screenshot of the post in edit view:

 ![image](https://us1.discourse-cdn.com/flex020/uploads/fibery/original/2X/9/901f2155cc2b0249992289150313fafcce597961.png)

---

<div class="post-metadata">

**Author:** ![Chr1sG](https://sea2.discourse-cdn.com/flex020/user_avatar/community.fibery.io/chr1sg/32/3941_2.png) [@Chr1sG](https://community.fibery.io/u/Chr1sG)\
**Post date:** [July 3, 2024, 6:19pm UTC](https://community.fibery.io/t/recurring-tasks/6347/7 "2024-07-03T18:19:25Z")

</div>

I think discourse can do some funny stuff when you have a Fibery url in the post.  
I’ve had it before where it changed what I shared to something else, and indeed it looks like it converted what you posted to this  
 ![image](https://us1.discourse-cdn.com/flex020/uploads/fibery/original/2X/c/c983caf80d4b4c10e42faf7bf4e21865bcb9e203.png)

🤷

---

<div class="post-metadata">

**Author:** ![Eren\_Turgut](https://sea2.discourse-cdn.com/flex020/user_avatar/community.fibery.io/eren_turgut/32/4425_2.png) [@Eren\_Turgut](https://community.fibery.io/u/Eren_Turgut)\
**Post date:** [April 9, 2025, 11:06am UTC](https://community.fibery.io/t/recurring-tasks/6347/8 "2025-04-09T11:06:28Z")

</div>

EDIT: The below doesn’t work, of course adding +7 to the day if starting date is e.g. 30.01.2025 triggers an error since 37.01.2025 is out of date range.

I believe I solved the same problem in another way. I wanted to share it and found that this already exists, so I’m sharing it here in case it is useful for other people.

The way I solved it is by creating an auxiliary database called “Recurring Frequency” as follows:

 ![image](https://us1.discourse-cdn.com/flex020/uploads/fibery/original/2X/d/d42038bebc27c3462b4683fe3f47b2a1f312aa60.png)

You can set up any custom recurring periodicity by providing the days, months, and years to be added (it can be a combination).

Then, when you want to set a date of something else based on the recurring period, set it up like in this example:

> Date(  
> Year([Step 1 Task].[(next) Due Date]) +  
> [Step 1 Task].[Recurring?].[+Year],  
> Month([Step 1 Task].[(next) Due Date]) +  
> [Step 1 Task].[Recurring?].[+Months],  
> Day([Step 1 Task].[(next) Due Date]) +  
> [Step 1 Task].[Recurring?].[+Days]  
> )

---

<div class="post-metadata">

**Author:** ![Renato\_Carvalho](https://sea2.discourse-cdn.com/flex020/user_avatar/community.fibery.io/renato_carvalho/32/11001_2.png) [@Renato\_Carvalho](https://community.fibery.io/u/Renato_Carvalho)\
**Post date:** [April 9, 2025, 8:48pm UTC](https://community.fibery.io/t/recurring-tasks/6347/9 "2025-04-09T20:48:17Z")

</div>

Could you please share the other details that you made to make it work? Like detail of the automation and so on?

---

<div class="post-metadata">

**Author:** ![Furternator](https://avatars.discourse-cdn.com/v4/letter/f/45deac/32.png) [@Furternator](https://community.fibery.io/u/Furternator)\
**Post date:** [May 21, 2025, 11:55am UTC](https://community.fibery.io/t/recurring-tasks/6347/10 "2025-05-21T11:55:17Z")

</div>

Just a big thank you for this. I would not in a million years come up with this - and thank you for taking the time to make a video.

If Fibery could maybe make some Templates that has recurring instances built in, then that would be much appreciated too. I could not see it when I searched through the templates.

---

<div class="post-metadata">

**Author:** ![helloitse](https://sea2.discourse-cdn.com/flex020/user_avatar/community.fibery.io/helloitse/32/498_2.png) [@helloitse](https://community.fibery.io/u/helloitse)\
**Post date:** [June 25, 2025, 9:03pm UTC](https://community.fibery.io/t/recurring-tasks/6347/11 "2025-06-25T21:03:13Z")

</div>

I decided to use Fibery AI build mode to tackle this instead of delegating to another team member. I did make one modification to my strategy: I want to reduce the number of fields in my task database, so I’m leveraging Fibery’s automations to compute the next due date and I am not using a field in my task database: Here is the log  
PROMPT

```plaintext
In the Tasks database Create a dropdown called Recurrence
The options should be Weekly, Bi-Weekly, Monthly, Quarterly, Bi-Annually, Annually'
The dropdown needs it's own properties: +Days, +Months, +Year and each should contain the appropriate integer. These integers should default to the largest unit and the columns are mutually exclusive. Ex: Annually should have the value 1 in +Year and no values in +Days and +Months. 
Create an automation where whenever a recurring task is marked as done, the due date is updated to the current due date + the values from the Recurrence select properties AND sets the status to To Do 

```

I did not make any changes when prompted to correct the logic.

OUTPUT

```auto
### ✅ Recurrence Setup Complete

* **Recurrence enum** and its integer fields (+Days, +Months, +Year) are created.
* **Recurrence field** is now available on Tasks.
* **Options** (Weekly, Bi-Weekly, Monthly, Quarterly, Bi-Annually, Annually) are set up, each with mutually exclusive values for +Days, +Months, +Year.

---

## 🚦 Automation Logic for Recurring Tasks

Fibery's API does not allow direct automation setup, but you can easily implement this logic using Fibery's built-in automation (via the Automations UI):

### **Automation Steps**

1. **Trigger:**
  * When a Task's State changes to **Done**
  * AND the Task's **Recurrence** field is not empty
2. **Action:**
  * **Update Due Date:**
Set the new Due Date to:

```

[Due Date] + [Recurrence].[+Days] days + [Recurrence].[+Months] months + [Recurrence].[+Year] years

```auto

(You may need to use Fibery's formula/automation builder for this calculation.)
  * **Set State:**
Change the Task's State to **Open** (or "To Do" if that's your preferred status).

---

### **Sample Automation Logic (Pseudocode for Fibery Automation UI):**

* **If:**

```

[State] changes to “Done”  
AND [Recurrence] is not empty

```auto

* **Then:**

```

Update [Due Date] to:  
DateAdd(  
DateAdd(  
DateAdd([Due Date], [Recurrence].[+Days], “days”),  
[Recurrence].[+Months], “months”  
),  
[Recurrence].[+Year], “years”  
)  
Set [State] to “Open”

```auto

> **Tip:** In the Fibery Automation UI, use the "Update Entity" action and the "DateAdd" function (which is available in Fibery's formula language) to add days, months, and years as shown above.

---

If you need a more detailed step-by-step guide for setting up this automation in the Fibery UI, let me know!

**Your Recurrence dropdown and logic are now fully set up.**

```

When setting up the automation manually, I noticed that Fibery formulas won’t let you add a year to a date. So I removed the +Years column and used months for the Annual recurrence.

All around a good showing from Fibery AI

---

<div class="post-metadata">

**Author:** ![Furternator](https://avatars.discourse-cdn.com/v4/letter/f/45deac/32.png) [@Furternator](https://community.fibery.io/u/Furternator)\
**Post date:** [July 1, 2025, 2:26pm UTC](https://community.fibery.io/t/recurring-tasks/6347/12 "2025-07-01T14:26:11Z")

</div>

Hi Helloitse. Thank you for sharing this. Do you mind please adding a slightly longer how to do this post please? I gave it a try, and then got stuck. 😆

---

<div class="post-metadata">

**Author:** ![ClarkRose](https://sea2.discourse-cdn.com/flex020/user_avatar/community.fibery.io/clarkrose/32/13652_2.png) [@ClarkRose](https://community.fibery.io/u/ClarkRose)\
**Post date:** [February 4, 2026, 5:10pm UTC](https://community.fibery.io/t/recurring-tasks/6347/13 "2026-02-04T17:10:54Z")

</div>

With the help of Polina from customer service I was able to figure out the logic to create recurring tasks and thought I’d share it with you (I was super frustrated until she came to my rescue)

The use case is if you want to create a new task that has the same name as the completed task, + a due date that is adjusted based on the completed tasks completion date and recurrence type (weekly, bi-weekly, monthly or custom)

1. Create a single select field for the recurrence type, I called it “Recurrence Type”:

- Weekly
- Bi-weekly
- Monthly
- Custom

In the advanced settings, enable the “specify a numerical value for each option” toggle and set a value to each recurrence type, so:  
weekly = 7  
bi-weekly = 14  
monthly = 30  
custom = no value

1. Create a new number field called “Custom Recurrence Days”.

2. Create the Set completion date automation:  
**When** the task’s state = Done  
**Then** Update the task’s completion date to = Today() (you need to click on the f button for formulas to insert it)

3. Create the Calculate the next Due Date automation:  
**When** the task is updated with a state = done and the recurrence type is not custom  
**Then** Create a new task with the following fields (you will need the field values to be inserted within the formula’s field, when clicking on the f button for formulas)

- Name = [Step 1. Routine]. Name // [Step 1. Routine] is the Step result option
- Recurrence Type = [Step 1. Routine].[Recurrence Type]
- Due Date = [Step 1 Routine].[Completion Date] + Days([Step 1 Routine].[Recurrence Type].Value)

1. Create the After X Days Automation:  
_ **When** _ the task is updated with a state = done and the recurrence type is custom  
**Then** Create a new task with the following fields:

- Name = [Step 1. Routine]. Name
- Recurrence Type = [Step 1. Routine].[Recurrence Type]
- Due Date = [Step 1 Routine].[Completion Date] + Days([Step 1 Routine].[Custom Recurrence Days])

Here’s a link to see the end result: [https://drive.google.com/file/d/1TU1lltcsBpTr6NtWfvnvLtLx\_jzQ2Y59/view?usp=sharing](https://drive.google.com/file/d/1TU1lltcsBpTr6NtWfvnvLtLx_jzQ2Y59/view?usp=sharing)

---

<div class="post-metadata">

**Author:** ![Chr1sG](https://sea2.discourse-cdn.com/flex020/user_avatar/community.fibery.io/chr1sg/32/3941_2.png) [@Chr1sG](https://community.fibery.io/u/Chr1sG)\
**Post date:** [February 4, 2026, 5:56pm UTC](https://community.fibery.io/t/recurring-tasks/6347/14 "2026-02-04T17:56:34Z")

</div>

Nice writeup 👍  
Quick comment about the use of multiple automations: I think you might have gotten away with a single automation with a formula as follows:

`Due Date = [Step 1 Routine].[Completion Date] + Days(IfEmpty([Step 1 Routine].[Recurrence Type].Value,[Step 1 Routine].[Custom Recurrence Days]))`

---

<div class="post-metadata">

**Author:** ![ClarkRose](https://sea2.discourse-cdn.com/flex020/user_avatar/community.fibery.io/clarkrose/32/13652_2.png) [@ClarkRose](https://community.fibery.io/u/ClarkRose)\
**Post date:** [February 4, 2026, 6:26pm UTC](https://community.fibery.io/t/recurring-tasks/6347/15 "2026-02-04T18:26:10Z")

</div>

Ah thank you Chris, I’ll amend it then!

---

<div class="post-metadata">

**Author:** ![Chr1sG](https://sea2.discourse-cdn.com/flex020/user_avatar/community.fibery.io/chr1sg/32/3941_2.png) [@Chr1sG](https://community.fibery.io/u/Chr1sG)\
**Post date:** [February 4, 2026, 6:31pm UTC](https://community.fibery.io/t/recurring-tasks/6347/16 "2026-02-04T18:31:41Z")

</div>

I hope it works 🤞 let us know if not 😬

Quick note - a single automation (only needs to trigger with the filter of state = done, no matter the recurrence option chosen) can set the task’s date in one action and then create the new task in a second action. Hope that was clear

---

<div class="post-metadata">

**Author:** ![Lee\_Denny](https://sea2.discourse-cdn.com/flex020/user_avatar/community.fibery.io/lee_denny/32/8158_2.png) [@Lee\_Denny](https://community.fibery.io/u/Lee_Denny)\
**Post date:** [February 4, 2026, 6:55pm UTC](https://community.fibery.io/t/recurring-tasks/6347/17 "2026-02-04T18:55:23Z")

</div>

Just out of interest, why isnt the ability to make an entity recurring baked into fibery as a basic feature? It seems like something that is useful across all organisations - instead of having everyone struggle to figure it out themselves just make it available as standard? Might make it easier for new people joining to get into fibery

---

<div class="post-metadata">

**Author:** ![Renato\_Carvalho](https://sea2.discourse-cdn.com/flex020/user_avatar/community.fibery.io/renato_carvalho/32/11001_2.png) [@Renato\_Carvalho](https://community.fibery.io/u/Renato_Carvalho)\
**Post date:** [February 4, 2026, 9:23pm UTC](https://community.fibery.io/t/recurring-tasks/6347/18 "2026-02-04T21:23:05Z")

</div>

I wonder that as well. I’ve using Fibery for a long time now and never had time to implement recurring stuff despite I need a lot. But the friction never allowed me to implement.

---

<div class="post-metadata">

**Author:** ![helloitse](https://sea2.discourse-cdn.com/flex020/user_avatar/community.fibery.io/helloitse/32/498_2.png) [@helloitse](https://community.fibery.io/u/helloitse)\
**Post date:** [February 4, 2026, 11:17pm UTC](https://community.fibery.io/t/recurring-tasks/6347/19 "2026-02-04T23:17:25Z")

</div>

Most database tools take years before creating a solution but they are never going to be as robust as what you get in traditional task management apps which have very strict data schemas and impose all records to be tasks.  
Notion by default only handles creating unique instances on each reoccurrence.  
Airtable and Coda require you to set them up using automations.  
Templates (free and paid) can be deployed to speed up dev time.

---

<div class="post-metadata">

**Author:** ![Renato\_Carvalho](https://sea2.discourse-cdn.com/flex020/user_avatar/community.fibery.io/renato_carvalho/32/11001_2.png) [@Renato\_Carvalho](https://community.fibery.io/u/Renato_Carvalho)\
**Post date:** [February 4, 2026, 11:43pm UTC](https://community.fibery.io/t/recurring-tasks/6347/20 "2026-02-04T23:43:07Z")

</div>

I understand that, but if that’s a common case, why not at least create a material (video/template) so it can help Fibery users?

[Next page](https://community.fibery.io/t/recurring-tasks/6347.md?page=2)
