Five scheduling habits that actually stick
Habits, ranked by survival
We asked a few hundred workspaces which scheduling habits they still had after a year. The answers were much shorter than the advice usually is. Five habits showed up again and again; everything else was abandoned by about week six.
They are listed here in order of how likely they were to survive, not how clever they sound.
1. One link, everywhere
The habit with the highest survival rate is also the simplest: have exactly one booking link, and use it in every context — email signature, chat profile, proposal, conference badge.
People who maintain three links maintain none of them. Within a quarter, two are stale, and the stale ones are the ones that get clicked. If different kinds of calls need different rules, put the rules behind one link with a routing question, not behind three links with three sets of working hours.
2. Publish hours you will actually keep
The second habit is honesty about availability. Publishing 9am to 6pm because it looks professional, then declining half the bookings, costs more goodwill than publishing 10am to 4pm and keeping it.
A useful test: if a stranger booked every open slot next week, would you be annoyed? If yes, the hours are aspirational, not real. Trim them.
3. Name your default length
Teams that survive have a named default: “we do twenty-minute intros”. The name matters more than the number, because a named default can be referred to, defended and changed deliberately.
Unnamed defaults drift. Thirty becomes forty-five the first time someone runs long, and nobody remembers deciding.
4. A five-minute weekly review
Once a week, look at next week. Not to optimise it — to notice the two things that are wrong. A quick score is enough:
// A rough "is next week survivable?" score. Anything under 60 gets a look.
export function weekScore(days: Day[]): number {
const penalties = days.map((day) => {
const backToBack = countBackToBack(day.meetings);
const noBreak = hasNoGapOverMinutes(day.meetings, 45) ? 1 : 0;
const overload = Math.max(0, day.meetingMinutes - 240) / 60;
return backToBack * 6 + noBreak * 10 + overload * 8;
});
return Math.max(0, 100 - penalties.reduce((a, b) => a + b, 0));
}
The exact weights do not matter. What matters is that the review takes five minutes and produces at most two changes, because a review that produces fifteen changes is a review you will skip next week.
5. A hard stop that is written down
The last surviving habit is a boundary that lives in the tool rather than in your head: no bookings after a certain hour, and a day of the week with none at all.
Written boundaries survive because they do not require willpower at the moment of temptation. Someone asks for a Friday afternoon; the page says no; nobody has to be the person who said it.
The ones that died
For completeness, the habits that consistently did not survive: colour-coding schemes, elaborate meeting-type taxonomies, personal focus blocks that were not enforced by the booking page, and any ritual that required a second tool to be open.
None of them are bad ideas. They simply cost attention every week, and attention is the resource the whole exercise was supposed to protect.