# Snooze an entity with a button

**URL:** <https://community.fibery.io/t/snooze-an-entity-with-a-button/7626>\
**Category:** Fibery Showcase\
**Created:** [October 20, 2024, 5:05pm UTC](https://community.fibery.io/t/snooze-an-entity-with-a-button/7626 "2024-10-20T17:05:27Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![Jonathan1](https://sea2.discourse-cdn.com/flex020/user_avatar/community.fibery.io/jonathan1/32/10038_2.png) [@Jonathan1](https://community.fibery.io/u/Jonathan1)\
**Post date:** [October 20, 2024, 5:05pm UTC](https://community.fibery.io/t/snooze-an-entity-with-a-button/7626/1 "2024-10-20T17:05:27Z")

</div>

Hello,

Just to share a simple Snooze function I’ve built onto our Tasks database.

**How it works ?**  
When you click on **Snooze** button, you will be prompted to select a **Snooze Mode** , set a **Date** or a number of **Days** depending of the mode you selected. You will be able to recall a Task on a specific date, x days before a due date or x days after today. When you snooze a task, a reminder date will be calculated and your task will be **Parked**.

A rule will run every day and when the calculated date arrives, you are notified about the snoozed task _(based on notification user preference)_. The state of the task will also be changed to **Snoozed**. It is possible to cancel a remind by clicking on **Cancel Snooze** button.

**Stuff that you need**

- **5 fields**
  - State [Workflow]
  - Snooze Mode [Single Select]
    - Note that you need to activate the “Specify numeric value for each option”

  - Snooze (Date) [Date]
  - Snooze (Days) [Number]
  - Snooze Creation Date [Date]
  - Remind on [Formula]

- **2 buttons**
  - Snooze
  - Cancel Snooze

- **2 rules**
  - Remind Snoozed Task
  - Cancel misconfigured Reminder

**Fields**

- Your workflow field should have the following options :

- “Snooze Mode” have 3 options :

- “Remind on” have the following formula :  
If([Snooze Mode].Value = 0,  
[Snooze (Date)],  
If([Snooze Mode].Value = 1,  
[Due Date] - Days([Snooze (Days)]),  
If([Snooze Mode].Value = 2,  
[Snooze Creation Date] + Days([Snooze (Days)]),  
[Snooze Creation Date]  
)  
)  
)

**Buttons**

- Snooze  

- Cancel Snooze  

**Rules**

- Remind Snoozed Task  

- Cancel misconfigured Reminder  

The **Cancel misconfigured Reminder** rule is there to avoid snoozed task that the user configured with a wrong date. If the user **Snooze** a task selecting a date before the current day, the task will never be reminded and will stay in **Parked** state.

**Improvements**  
There is some improvements I would like to do but currently I’m limited on Fibery.

1. Adding the ability to snooze on Months or Years basis. Currently there is only a **Days(Date)** function on formulas. I know that it is possible to adapt but I’m looking for a easy and native way.
2. It’s great to be able to ask the user to fill values when he click on the button. The problem is that I can’t hide the fields that I don’t want to show up to the user. If I select a Snooze Mode “Remind me on (Date)” for example, I want to show the field “Snooze (Date)” and hide the field “Snooze (Days)”. I can achieve this by doing 2 different buttons but I want to limit the number of created objects. Another option is to have a field type on Fibery that can adapt his type dynamically based on conditions.

I hope it will be useful for someone !
