Recovery-aware focus block for busy, low-sleep days

When your sleep and heart rate variability are down and today is packed with meetings, we protect a focus block before your calendar fills up.

Agentic Task
Google HealthGoogle CalendarPersonal ProductivityMeeting WorkflowsNotifications & Alerts
PromptCreate

Every weekday at 6:30am in my local time zone, run a recovery check and only take action if my body AND my calendar are both against me today.

Step 1. Pull last night's sleep from Google Health using List Data Points on the sleep data type, over a window covering roughly the last 18 hours. Summarize total time asleep, deep sleep, REM sleep, and time awake.

Step 2. Pull my daily heart rate variability from Google Health using Daily Roll-Up Data Points on daily-heart-rate-variability for the last 14 days. Compare last night's value to the 14-day median so there is a baseline to reason against.

Step 3. Pull today's schedule from Google Calendar using List Events on my primary calendar, from now until end of day in my local time zone. Count meetings, look for back-to-back stretches longer than two hours, and total up booked meeting time.

Step 4. Decide whether today qualifies. Rough recovery = total sleep under 6.5 hours OR heart rate variability at least 15 percent below my 14-day median. Packed day = five or more meetings, OR any back-to-back stretch of three hours or longer, OR more than five hours of booked meeting time. BOTH conditions must be true. If either is not, do nothing and finish silently. Do not send a summary, do not create a block, do not notify me.

Step 5. If both conditions are true, pick the best recovery block for today. Options: a 60-minute focus hour before the first meeting, a 45-minute midday breather placed in the longest quiet gap, or a hard stop that ends the workday at 5pm. Pick whichever fits the day's shape best and does not collide with an existing meeting.

Step 6. Create the block on my primary calendar with Create Event. Title it "Recovery block: <short reason>" (for example "Recovery block: low HRV + packed day"), mark me as busy, and put a two-to-three-sentence description explaining what triggered it (sleep hours, HRV versus baseline, meeting count) and which stretches on today's calendar I might want to reconsider.

The whole point of this workflow is restraint. If sleep AND schedule are not both clearly bad, do nothing. This is not a daily digest and it is not an alert. It only acts when the combination is genuinely rough.

Additional information

What does this prompt do?
  • Every weekday morning, checks last night's sleep length, sleep stages, and heart rate variability from your Fitbit or Pixel Watch.
  • Pulls today's meetings so we can see how packed the day actually is.
  • Only acts on days where recovery is clearly down AND the calendar is genuinely back-to-back. Normal days stay untouched.
  • Adds a protected recovery block (a morning focus hour, a midday breather, or an early hard stop) with a short note explaining why it was added.
What do I need to use this?
  • A Google Health account with a Fitbit, Pixel Watch, or other supported device syncing sleep and heart rate variability.
  • A Google Calendar you want the recovery block written to.
  • A rough sense of what a bad night looks like for you. Sensible defaults are baked in and you can tune them.
How can I customize it?
  • Change the trigger time or days (defaults to weekdays at 6:30am in your local time zone).
  • Tune the recovery thresholds: total sleep hours, deep and REM balance, and how far heart rate variability has to drop below your 14-day baseline to count as a rough night.
  • Change what counts as a packed day: total meeting count, longest back-to-back stretch, or total booked hours.
  • Pick which recovery block styles are on the table: morning focus hour, midday breather, or a hard stop before dinner.

Frequently asked questions

Will this add something to my calendar every single morning?
No. The workflow only acts when your recovery signals are clearly down AND today is genuinely packed. On a normal night with a normal day, nothing gets added and you hear nothing.
Does this work with Fitbit, Pixel Watch, or both?
Both. Any device that syncs sleep and heart rate variability into Google Health is fair game. If you have multiple sources, we use the reconciled stream so nothing gets double-counted.
Will it move or cancel meetings I already have?
No. It only adds a new protected block. You decide what to do with the meetings around it. We include a short note about which stretches look worth reconsidering, but no reschedules happen automatically.
What if I sleep in on weekends?
The default runs weekdays only. You can change the schedule to include weekends, skip specific weekdays, or shift the check to whatever time actually matches when your device has synced overnight data.
Do I need to share my whole health history?
No. We only look at last night's sleep window and a rolling snapshot of your recent daily heart rate variability. Historical data stays where it is.

Stop letting bad nights turn into packed days.

Protect focus time automatically when your body and your calendar disagree.