Reshape your calendar around your Oura readiness score
Every weekday morning, get a briefing that reads your recovery, flags the meetings worth cutting, and books you a recovery break before the day starts.
Every weekday at 6:30am, check my Oura recovery data and reshape my day around it. Run this on a schedule, since Oura does not send outgoing notifications when new scores appear.
Start by pulling my Oura data. Use List Daily Readiness for today's readiness score, List Daily Sleep for last night's sleep score, and List Daily Stress for my recent stress pattern. Request the last 8 days from each rather than only today, because I want every number compared against its own trailing 7 day average. If today's readiness or sleep score has not synced yet, say so plainly in the briefing and skip all calendar changes rather than guessing at a number.
Then read today's schedule from my primary Google Calendar with List Events, scoped to today in my calendar's own time zone, expanding recurring events into individual instances so you see the real shape of the day.
If today's readiness is below 70, treat it as a recovery day. Look through today's meetings and identify the ones that look optional or low stakes. Good signals: it is a recurring sync rather than a one time conversation, it has a large attendee list where my attendance is marked optional, it has no agenda or description, or it has no clear decision that needs me in the room. Weigh these together instead of applying any single rule mechanically, and leave anything that looks like a client meeting, an interview, a one to one, or a session I organise alone. For each meeting you flag, give me the title, the time, and one short sentence on why it looks skippable.
Important: propose these as candidates only. Do not decline, delete, or move anything on my calendar, and do not message any organisers or attendees. I decide what actually gets cut.
Still on recovery days, find the largest free gap in my working day and use Create Event to block a 45 minute recovery window inside it. Title it something clear like "Recovery block" and note in the description that it was added because readiness came in low. Place it away from the very start and end of the day where possible, and if there is no free gap long enough to hold it, skip the block and tell me the day is too full to fit one.
If today's readiness is 80 or above, treat it as a high capacity day. Do not add a recovery block. Instead, look at the gaps between my meetings and tell me which single slot is the best window for deep work, preferring the longest uninterrupted stretch and calling out how long it runs.
If readiness falls between 70 and 79, treat it as a normal day. Make no changes to my calendar and simply send the briefing with my scores and how the day looks.
Finally, send the whole briefing to me as a Slack direct message using Send a Message. Include my readiness, sleep and stress scores for today, how each one compares to its trailing 7 day average with the direction of the change, the meetings worth cutting with your reasoning, and either the recovery block that was added or the deep work window you recommend. Keep it short enough to read on a phone before the first meeting, use Slack formatting, and lead with the single most important takeaway about how today should be paced.
The 70 and 80 thresholds are defaults drawn from Oura's own guidance and should be easy to change: readiness under 70 signals prioritising rest, while scores in the mid 80s and above signal readiness for new challenges. If my scores usually run higher or lower than average, both numbers should be adjustable in one obvious place.
What does this prompt do?
- Checks your readiness, sleep and stress every weekday morning and compares them against your last seven days, so you see the trend and not just today's number
- On low recovery days, reads your schedule and points out the meetings that look optional or low stakes, such as recurring syncs, large invites you are optional on, and anything with no agenda
- Books a 45 minute recovery break in your biggest free gap on those days, and on strong recovery days skips the break and tells you the best window for deep work instead
- Sends the whole briefing to you as a Slack direct message before your first meeting
What do I need to use this?
- An Oura ring with an active Oura membership, connected to your account
- A Google Calendar account holding the schedule you want reviewed
- A Slack workspace where the briefing can be delivered to you as a direct message
How can I customize it?
- Change the timing from 6:30am on weekdays, or run it every day of the week
- Adjust the two thresholds: the score below which the day gets lightened, and the score above which it suggests deep work instead
- Change the length of the recovery break, or the kinds of meetings it should treat as optional
FAQs
Will this cancel or decline my meetings for me?
Can I change the readiness thresholds?
What happens if I did not wear my ring last night?
What does it actually put on my calendar?
Do I need a paid Oura membership for this to work?
Related templates
When your flight moves, your calendar times get corrected automatically and you get a Slack note naming the meetings you're about to miss.
When someone leaves, we check which shared passwords they used in their final months and post a ranked rotation list to your security channel.
Every Monday, check every S3 bucket for public exposure, missing encryption and weak backup settings, then get the risks ranked in Slack.
Twice every weekday, the conversations from your social inbox land on the right HubSpot contact timelines, with a Slack recap for sales.
Every morning, find the addresses that hard bounced or filed a spam complaint, update the matching HubSpot contacts, and post a short Slack recap.
Every weekday at 4pm, spot the threads that went quiet, stage a ready-to-send nudge in your mailbox, and get a ranked Slack recap.
Stop guessing whether today should be a hard day.
Let last night's recovery shape your schedule before your first meeting starts.