docs/platform/inbox/features/snooze.mdx
The <Inbox /> component includes built-in support for snoozing notifications, which can be used to temporarily dismiss notifications and have them reappear at a more convenient time.
When a subscriber snoozes a notification:
During the snooze period, the notification cannot be marked as read, unread, or archived. All of these behaviors are handled automatically by the Inbox component.
All dates and times are interpreted in your subscriber's local timezone. They can snooze a notification directly from the Inbox using one of the following options:
The minimium snooze time must be at least 3 minutes in the future. While the maximum duration a notification can be snoozed depends on your cloud workspace plan:
While the Inbox component handles snoozing automatically, the JavaScript SDK also exposes .snooze() and .unsnooze() methods on the notification object to build custom snooze functionality.
This lets you create custom UI elements or workflows that trigger snooze actions outside of the default menu.
The Inbox component includes a dedicated Snoozed tab that automatically displays notifications scheduled to reappear later. From this tab, users can review all snoozed notifications and take further actions as needed.
Users can unsnooze a notification at any time, which immediately returns it to the All tab. Once unsnoozed, the notification regains its standard behavior. It can be marked as read, unread, or archived like any other item.
| Action | Result |
|---|---|
| Manual unsnooze | Restores the notification exactly as it was: same tab, same read/unread state. If it was read before snoozing, it re-enters the All tab still marked read. |
| Automatic unsnooze (timer expires) | Re-delivers the notification to All as a new, unread item with an updated delivery timestamp. |
This logic is built into the component and does not require any additional configuration. Notifications automatically reappear in the All tab once their snooze duration elapses.
If you don't need the Snooze feature, you can hide it from the Inbox component UI using the appearance prop. The example below hides the snooze button and snoozed list item in the dropdown menu.
import { Inbox } from '@novu/react';
export const InboxWithSnoozeHidden = () => {
return (
<Inbox
applicationIdentifier={"APPLICATION_IDENTIFIER"}
subscriber={{
subscriberId: "SUBSCRIBER_ID"
}}
appearance={{
elements: {
notificationSnooze__button: "hidden",
inboxStatus__dropdownItem: "[&:nth-child(3)]:hidden",
},
}}
/>
)
}