> ## Documentation Index
> Fetch the complete documentation index at: https://docs.hotglue.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Sync Schedules

> Let tenants configure their own schedules

## Overview

The schedules page lets your tenants choose when hotglue jobs automatically run. It appears as a compact widget card with a scheduling switch and optional timing fields.

<Frame caption="Walkthrough of the Sync Schedule UI in Widget v3">
  <video src="https://mintcdn.com/hotglue/7Fj2JrrN3BeiET3T/widget-v3/images/sync_schedule_overview.mov?fit=max&auto=format&n=7Fj2JrrN3BeiET3T&q=85&s=bfc84ea4c2a95d66c652c5ae41fd54c9" controls autoplay loop muted data-path="widget-v3/images/sync_schedule_overview.mov" />
</Frame>

## Turn on in the hotglue dashboard

Widget v3 reads schedule permissions from the hotglue dashboard. Configure the schedule screen, interval mode, and flow- or connector-level schedule behavior there.

1. In the hotglue dashboard, select your environment, then open [Widget settings](/environment-settings/widget-settings) under Environment settings > Widget.
2. Enable **Edit sync schedule** in the in-widget permissions list. If this is off, users cannot open the schedule editor.
3. Enable **Enable interval schedules** to let users choose fixed or interval schedules. If this is off, Widget v3 only shows the fixed schedule form.
4. Enable **Enable connector schedules** when widget saves should apply to a specific connector. See [Flow-level vs connector-level schedules](#flow-level-vs-connector-level-schedules).

## Schedule type and fields

If interval schedules are enabled in [Widget settings](/environment-settings/widget-settings), users can choose a schedule type:

* Fixed: cron-style calendar rules, such as hourly, daily, weekly, or monthly.
* Interval: every chosen number of hours or minutes.

The page also shows the resolved timezone for the schedule.

## Flow-level vs connector-level schedules

Schedules can target either the flow or a specific connector (`connector_id`), depending on the [Enable connector schedules](/environment-settings/widget-settings#enable-connector-schedules) widget preference.

| Preference                     | What the widget saves                          | `ScheduleEvent.connectorId`                                           |
| ------------------------------ | ---------------------------------------------- | --------------------------------------------------------------------- |
| Enable connector schedules off | Flow-level schedule only                       | Omitted                                                               |
| Enable connector schedules on  | Can save a schedule for the selected connector | Set to that connector's id when the user edits from connector context |

Edit sync schedule must still be enabled for users to reach this UI. Enable connector schedules only changes which schedule row the widget updates and whether `onScheduleSave` includes `connectorId`.

## Programmatic hooks

After a successful save, the widget invokes `onScheduleSave` with one `ScheduleEvent` payload: `type`, `oldSchedule`, `newSchedule`, optional `connectorId`, `flowId`, and `tenantId`. `connectorId` is present when connector-level scheduling is enabled and the save is scoped to a connector. See [setListeners](/widget-v3/reference/setListeners) for the full contract.
