# Let your Oura readiness score reshuffle your Todoist day

> Every weekday at 7am, your recovery decides the plan: hard work when you have the capacity, lighter admin when you do not.

- Workflow type: agent
- Services: Oura, Todoist, Slack Bot
- Categories: Personal Productivity
- Published: 2026-08-09

## What it does

- Checks this morning's Oura readiness and sleep scores before your day starts.
- Reads everything due today in Todoist and sorts the genuinely demanding work from the light admin.
- On a strong recovery day it moves your hardest task to the top so you hit it while you are sharp. On a rough day it pushes heavy items to tomorrow, pulls easy wins forward, and adds an evening wind down reminder.
- Sends you a Slack message spelling out every single change and the reasoning, so you can undo anything before you start work.

## What you'll need

- An Oura Ring with an active Oura membership, which is what makes your daily scores available
- A Todoist account where today's tasks have reasonably descriptive names and due dates
- A Slack workspace where you can receive a direct message

## Prompt

Every weekday at 7am in my local timezone, look at how recovered I actually am and decide what I should work on today. Use a cron trigger for this, since it needs to run on a fixed morning schedule.

Step 1. Read this morning's numbers from Oura. Use List Daily Readiness and List Daily Sleep, both scoped to today's date. Take my readiness score, and use the sleep score plus the readiness contributors (HRV balance, resting heart rate, body temperature, previous night's sleep) as supporting evidence for the explanation you will give me later.

Step 2. Pull my open tasks due today from Todoist with List Tasks. Scope this to a single project so the workflow never touches my personal or shared lists. Default that project to my main work project, and make it easy for me to change.

Step 3. Read the task titles and classify each one as either deep work (writing, designing, analysis, strategy, anything needing sustained focus) or light admin (approvals, quick replies, expenses, scheduling, filing, short calls). Judge this from the actual wording of each task. If a title is too vague to classify with confidence, treat it as light admin and say so in the summary rather than moving it.

Step 4. Branch on the readiness score. If readiness is 80 or above, pick the single hardest deep work task and promote it to top priority using Update Task, then tell me to do it first while I have the capacity. Note that Todoist's API represents the highest priority as 4, which shows up as P1 in the app, so set it to 4. Change nothing else.

If readiness is between 70 and 79, leave my plan completely untouched. Make no writes at all. This is a normal day and I do not want the workflow fiddling with it.

If readiness is below 70, rebalance the day. Use Update Task to move the most cognitively demanding items to tomorrow, and use Update Task to pull lighter admin work forward to today so the day still moves without wrecking me. Be conservative: reschedule at most the two or three heaviest items, never the entire list. Also use Create Task to add exactly one evening wind down reminder for tonight, and only on these low readiness days.

Step 5. Finish by sending me a Slack direct message with Send a Message. This is the accountability step, not decoration. Because this workflow edits my real task list, the message must always state exactly what changed: every task moved, what it was changed from and to, anything newly created, and the readiness number and reasoning behind each call. Explicitly note what you left alone too. Write it so I can scan it in ten seconds and reverse any wrong call before I start work.

Guardrails. If Oura returns no readiness data for this morning, for example because I did not wear the ring or it has not synced, make no changes at all and send me a Slack message saying the workflow ran but stayed hands off, and why. Never guess a readiness score. Never move a task that is already overdue, and never move the same task to tomorrow two days running, since that means it will never get done. Only ever touch tasks in the one project I scoped it to.

Knobs I will want to change: the 80 and 70 thresholds, since the right cutoffs depend on my personal readiness baseline; which Todoist project the workflow is allowed to operate on; the 7am run time; and whether the summary goes to a direct message or a private channel.

## How to customize

- Move the cutoffs. 80 and 70 are sensible defaults, but the right numbers are the ones that match your own readiness baseline.
- Point it at a single Todoist project such as Work, so personal errands and shared lists stay untouched.
- Change the 7am timing, or send the summary to a private channel instead of a direct message.

## Example output

Readiness 64 (low) - sleep score 58, HRV balance down.

I rebalanced today so it still moves without wrecking you:

Pushed to tomorrow
• "Draft Q3 board narrative" - deep writing, your worst slot on a 64
• "Rework pricing model spreadsheet" - heavy analysis, needs focus you do not have today

Pulled forward to today
• "Approve design invoices" - 10 min admin
• "Reply to Figma access requests" - low effort, clears the queue

Added
• "Wind down: screens off, lights low" - due 9:30pm tonight

Left alone: 3 tasks due today that were already light.

Override any of this in Todoist before you start.

## FAQ

### What happens if I did not wear my ring last night?

If there is no readiness score for this morning, the workflow deliberately changes nothing. It still sends you the Slack message so you know it ran and why it stayed hands off, rather than guessing at your recovery.

### Do I need a paid Oura membership?

Yes. Oura only makes your daily readiness and sleep scores available to connected apps while your membership is active. Without it the scores come back empty and the workflow will skip making changes.

### Can I undo what it moves?

That is the whole point of the Slack summary. It lists every task it touched, what changed, and the reasoning, so you can reverse anything in Todoist in a few seconds before you start your day.

### How does it know which tasks are hard?

It reads your task titles and judges which ones need real focus versus which are quick admin. Descriptive names like "Draft Q3 board narrative" work far better than "board thing". The summary always shows its call so you can correct it.

### Will it touch my tasks on weekends?

No. It runs weekday mornings only by default, and it only considers tasks due today in the one project you point it at.

Use this prompt in General Input: https://www.generalinput.com/prompts/let-your-oura-readiness-score-reshuffle-your-todoist-day