Skip to main content
A track is a sequence of days. Every step sits on a day (Day 1, Day 7) and has a send time, so the builder reads top to bottom as a timeline of exactly what arrives when.

📅 Days

Day 1 is the member’s first day on the track - the day it kicks off for them, which is the day they are enrolled. On a user-joined track, enrollment is the later of the member’s start date and the day they join Slack: if your HRIS provides a future start date, the track waits until then, so Day 1 is that start date; otherwise Day 1 is the day they join. Because Day 1 is always the enrollment day, the track never stacks days. Add a tenured employee, or a new hire who joins Slack a week late, and they simply begin at Day 1 when they enroll - no backlog of earlier days arrives at once. Days count only the Track’s working days. With the default Monday-to-Friday workspace policy, Day 1 on Monday makes Day 5 Friday and Day 6 the next Monday. A Track can override those days. With a five-day week, Day 30 falls about six calendar weeks after enrollment. See Working days and catch-up hours. In the builder, consecutive steps that share a day are grouped under a day divider (for example, “Day 3”). Edit the divider’s number to move every step in that group. Click the + on the connector between steps and choose Send on a day to start a new day.
The builder keeps steps in delivery order from top to bottom: days ascend, and within a day steps sort by send time. Changing a day or time moves the step to its slot, and dragging a step adjusts its time to fit its new position.

Working days and catch-up hours

Working days determine which days steps can run and how Day N advances in each member’s time zone. Doozy also checks overdue catch-up against the selected days and daily hours in that time zone. At least one working day is required. A sparse schedule such as Monday, Wednesday, and Friday can put up to three calendar days between consecutive steps. Step times set the schedule. Catch-up hours start with the workspace or custom hours and expand to include every step’s send time. For example, steps at 07:00 and 21:00 expand a 09:00 to 17:00 default to 07:00 to 21:00. This single window applies across the track, including days without an early or late step. Run days stay unchanged. If a run starts late or a blocked step becomes eligible after its send time, catch-up waits until this window opens on a run day. Both time boundaries are included. A processing delay sends an already-due step late, without moving it to the next opening or shifting the track’s schedule. The workspace default is Monday to Friday, 09:00 to 17:00, with Europe/London as the default timezone. A workspace owner can change working hours and the separate default timezone under Workspace settings → Track settings. Doozy uses the default timezone only when a member has no time zone. In Track setup → Timing, choose Workspace or Custom under Schedule defaults. Run days shows the days the track uses. Catch-up hours shows the expanded window; custom hours also expand when a step falls outside them. Older tracks keep their saved run days while inheriting workspace hours. Each new enrollment or broadcast run saves its effective window. Later changes to defaults or step times do not recalculate that run’s catch-up hours. Step times still control scheduled delivery. Per-person tracks use the enrolled person’s timezone for both step times and catch-up hours. Broadcast tracks use the track timezone, regardless of step recipients. Cohort broadcasts use the cohort timezone. A person’s timezone can update from Slack or their member profile; a cohort timezone edit also reaches active cohort runs.
These are daytime windows only. Choose times to the minute in HH:mm format. The start time must be earlier than the end time. Equal, reversed, or overnight windows are not valid.

🕘 Send times

Every step has a send time, shown next to the step title. Steps send at 9:00 AM in the member’s local time zone by default; click the time to change it. Put two steps on the same day with different times to pace them within a day (9:00 AM, then 11:00 AM). An authored future send time remains due at that time even if it falls outside working hours.

🙋 Catch-up: if someone reaches a step after its time

Catch-up is a single on/off setting for the track, on by default. It decides what happens when a run starts or a blocked step becomes eligible after a step’s send time, for example, when someone is added mid-afternoon and Day 1 has a 9:00 AM step. Expired preboarding steps retain their separate skip rules.
  • On (default): missed steps become eligible in order during catch-up hours.
  • Off: Day 1 shifts to the next working day, and no step is sent before its time.
Find the setting in Track setup → Timing.

🔄 Tracks built with waits

Tracks built before day-based timing could space steps with relative waits (“wait 2 days”). Those tracks keep running with their exact original timing. When you open one in the builder, it appears converted to days and times, with a notice that it was upgraded to day-based timing. Nothing changes until you save; saving adopts the days and times shown, and the first save asks you to confirm.

⭐ Best Practices

  1. Anchor milestones to days: Day 1, Day 5, Day 30 intervals work well
  2. Use times for same-day pacing: Two steps on one day, an hour or two apart
  3. Keep momentum: Avoid gaps longer than 2 weeks between touchpoints