docs-mintlify/docs/explore-analyze/scheduled-refreshes.mdx
Scheduled refreshes are available on Premium and Enterprise plans. <br/ >Users need at least the Explorer role and Edit or Manage permission on the workbook to set up scheduled refreshes. Anyone who can view the dashboard can open the sidebar to see its schedules and subscribe to notifications.
</Info>Scheduled refreshes allow you to automatically refresh published dashboards on a recurring schedule. When a scheduled refresh runs, the dashboard widgets are queried in the background, refreshing Cube's in-memory cache. This warms up dashboards so they load instantly when users open them, eliminating wait times.
You can also attach notifications to scheduled refreshes to send email or Slack messages with a dashboard screenshot after each refresh.
From the Dashboard Builder, click the calendar icon in the toolbar to open the scheduled refreshes sidebar. From this sidebar, you can create new schedules, modify existing ones, or remove schedules you no longer need.
The same calendar icon is also available on a published dashboard, so you can reach the sidebar without opening the builder. What you can do there depends on your permission on the workbook:
The dashboard must be published before schedules can be created.
</Warning>Click New scheduled refresh in the sidebar footer. A dialog opens with the following configuration options.
| Option | Description |
|---|---|
| Hourly | Runs every hour at the specified minute |
| Daily | Runs once a day at the specified time |
| Weekly | Runs on a chosen day of the week at the specified time |
| Monthly | Runs on a chosen day of the month at the specified time |
| Custom | Accepts a cron expression (5-part: minute hour day month weekday) |
Time is specified in 12-hour format with an AM/PM selector. For Hourly schedules, only the minute field is shown.
Select from common timezones including UTC, US timezones, London, Paris, Berlin, Tokyo, Shanghai, Singapore, and Sydney. Defaults to your browser's timezone if it matches a common one, otherwise UTC.
You can optionally attach notifications to a scheduled refresh. Click Add notification to expand the notification configuration. See the Notifications page for details.
Click Save to create or update the schedule.
The sidebar lists all existing schedules with the following information:
| Action | Description |
|---|---|
| Run now | Manually trigger the schedule immediately |
| Edit | Open the form dialog to modify the schedule |
| Duplicate | Create a new schedule pre-filled from this one (see Duplicating a schedule) |
| Delete | Remove the schedule permanently |
To create a new schedule based on an existing one — for example, to send the same dashboard to another Slack channel or a different set of recipients without re-entering the frequency, timezone, and notification settings — you can duplicate it. There are two ways:
Duplicates are independent schedules: the original is left unchanged, and the copy keeps the source schedule's enabled or disabled state.
If a schedule sends email notifications, anyone who can view the dashboard can subscribe to it themselves — an editor does not have to add them as a recipient. Open the scheduled refreshes sidebar from the published dashboard and use the toggle on a schedule to subscribe or unsubscribe. Subscribing adds you to the schedule's email recipients; unsubscribing removes you. The change takes effect on the next run.
The toggle appears only for schedules that email individual recipients — those with notifications enabled and the email delivery channel. A schedule delivers to either individual inboxes or a Slack channel, not both, so a schedule that posts to Slack (or that has notifications turned off) has nothing to subscribe to. If an editor switches a schedule to Slack, its existing subscriptions are cancelled; you can subscribe again if it is later switched back to email.
When a scheduled refresh runs, it progresses through these phases:
The sidebar shows real-time status updates during execution.