Is there a way to have a task record that is completed automatically create a duplicate task that has a due date sometime in the future (i.e. next month)?
             
            
              
              
              
            
            
           
          
            
            
              So you would only want to duplicate the task when it is completed?
             
            
              
              
              
            
            
           
          
            
            
              Yes, otherwise I would need to create an unknown number of tasks in advance. It’s for a work order system where certain work orders need to be repeated on some sort of interval, weekly, monthly, or yearly.
             
            
              
              
              
            
            
           
          
            
            
              I’ve been able to do this using a mix of If → Then → Else components, Math, and Set Column Values action.
- Create an Interval Table with the [Interval] title and number of days [Value] (make sure this column is a Number
| Interval | Value (Num) | 
| Daily | 1 | 
| Weekly | 7 | 
| Bi-Weekly | 14 | 
| Yearly | 365 | 
 
- Create your task Table. I would have the input field for [Interval] be a choice component from the Interval Table
| Date | Task | Interval | 
| 05/01/2023 | Brush Teeth | Daily | 
| 05/02/2023 | Credit Card Payment | Bi-Weekly | 
| 05/05/2023 | Register Car | Yearly | 
 
- Next Add A Relation Column where Interval (Task Table)=Interval (Interval Table)
| Date | Task | Interval | Relation | 
| 05/01/2023 | Brush Teeth | Daily | Daily | 
| 05/02/2023 | Credit Card Payment | Bi-Weekly | Bi-Weekly | 
| 05/05/2023 | Register Car | Yearly | Yearly | 
 
- Next Add a Lookup Column to Lookup the Interval Value
| Date | Task | Interval | Relation | Value | 
| 05/01/2023 | Brush Teeth | Daily | Daily | 1 | 
| 05/02/2023 | Credit Card Payment | Bi-Weekly | Bi-Weekly | 14 | 
| 05/05/2023 | Register Car | Yearly | Yearly | 365 | 
 
- Next add a Math Column to compute [Date] + [Value] = [Dynamic Date Column] *this is why it’s important to have the Interval Value be a Number
| Date | Task | Interval | Relation | Value | Dynamic  Date Column | 
| 05/01/2023 | Brush Teeth | Daily | Daily | 1 | 05/02/2023 | 
| 05/02/2023 | Credit Card Payment | Bi-Weekly | Bi-Weekly | 14 | 05/16/2023 | 
| 05/05/2023 | Register Car | Yearly | Yearly | 365 | 05/05/2024 | 
 
- 
Add a button to mark the task as complete 
- 
Add an Set Column Value action where the new [Date] field will be set to [Dynamic Date Column] 
Now the [Date] field will automatically update to the next interval and the Dynamic Date Column will automatically be computed for the next occurrence.
Monthly is a little harder to do…
- Create a Monthly Interval Table
| Month | Value (Num) | 
| January | 31 | 
| February | 28 | 
| March | 31 | 
| April | 30 | 
| May | 31 | 
| June | 30 | 
| July | 31 | 
| August | 31 | 
| September | 30 | 
| October | 31 | 
| November | 30 | 
| December | 31 | 
 
- You’ll want to add a format date column and have it format the [Date] field with MMMM to get the [Month]. For this step I also renamed the [Dynamic Date Column] to [Non-Monthly Date] and [Value] to [Non-Monthly Value]
| Date | Task | Interval | Relation | Non-Monthly Value | Month | Non-Monthly Date | 
| 06/01/2023 | Brush Teeth | Daily | Daily | 1 | June | 06/02/2023 | 
| 05/02/2023 | Credit Card Payment | Bi-Weekly | Bi-Weekly | 14 | May | 05/16/2023 | 
| 05/05/2023 | Register Car | Yearly | Yearly | 365 | May | 05/05/2024 | 
 
- You’ll add a Relation where [Month] on the Task Table= [Month] on the Monthly Interval Table
| Date | Task | Interval | Relation | Non-Monthly Value | Month | Relation | Non-Monthly Date | 
| 06/01/2023 | Brush Teeth | Daily | Daily | 1 | June | June | 06/02/2023 | 
| 05/02/2023 | Credit Card Payment | Bi-Weekly | Bi-Weekly | 14 | May | May | 05/16/2023 | 
| 05/05/2023 | Register Car | Yearly | Yearly | 365 | May | May | 05/05/2024 | 
 
- You’ll Lookup the [Value]
| Date | Task | Interval | Relation | Non-Monthly Value | Month | Relation | Monthly Value | Non-Monthly Date | 
| 06/01/2023 | Brush Teeth | Daily | Daily | 1 | June | June | 30 | 06/02/2023 | 
| 05/02/2023 | Credit Card Payment | Bi-Weekly | Bi-Weekly | 14 | May | May | 31 | 05/16/2023 | 
| 05/05/2023 | Register Car | Yearly | Yearly | 365 | May | May | 31 | 05/05/2024 | 
 
- You’ll do math to compute the next interval date. [Date] + [Monthly Value] = [Monthly Date]
| Date | Task | Interval | Relation | Non-Monthly Value | Month | Relation | Monthly Value | Non-Monthly Date | Monthly Date | 
| 06/01/2023 | Brush Teeth | Daily | Daily | 1 | June | June | 30 | 06/02/2023 | 07/01/2023 | 
| 05/02/2023 | Credit Card Payment | Bi-Weekly | Bi-Weekly | 14 | May | May | 31 | 05/16/2023 | 06/02/2023 | 
| 05/05/2023 | Register Car | Yearly | Yearly | 365 | May | May | 31 | 05/05/2024 | 06/05/2023 | 
 
- Then set up an If → Then → Else: If [Interval] is Monthly then [Monthly Date] else [Non-Monthly] Date = [Set Date]
| Date | Task | Interval | Relation | Non-Monthly Value | Month | Relation | Monthly Value | Non-Monthly Date | Monthly Date | Set Date | 
| 06/01/2023 | Brush Teeth | Daily | Daily | 1 | June | June | 30 | 06/02/2023 | 07/01/2023 | 06/02/2023 | 
| 05/02/2023 | Credit Card Payment | Bi-Weekly | Bi-Weekly | 14 | May | May | 31 | 05/16/2023 | 06/02/2023 | 05/16/2023 | 
| 05/05/2023 | Register Car | Yearly | Yearly | 365 | May | May | 31 | 05/05/2024 | 06/05/2023 | 05/05/2024 | 
| 05/05/2023 | Pay Credit Card | Monthly |  |  | May | May | 31 |  | 06/05/2023 | 06/05/2023 | 
 Adjust the Set Column Value field to set [Date] to [Set Date] when you click the complete button
I know that is absolute insanity; but it’s a workaround I’ve figured out. If anyone has an easier way to do it, I am all ears too
             
            
              
              
              4 Likes