log_sleep
Record sleep duration, score, stages, bedtime, and wake time from any wearable or manual recall. Updates the same day's entry if it already exists.
Instructions
Log a sleep entry. Use when the user shares sleep data — total duration, score, stage breakdown, bedtime, or wake time — from Fitbit, Oura, Whoop, Apple Health, or manual recall.
PROACTIVE DATA COLLECTION: If the user says they want to log sleep but hasn't shared numbers, ask: "How many hours did you sleep, and do you have a sleep score or stage breakdown from your tracker?" They can paste or describe the summary screen.
INFER — do not ask:
date: date the primary sleep session ended / wake date (night ending on this date); default to today
You may log any subset of fields. One row per day. Calling this tool twice on the same date updates the existing entry (upsert). Entries made through this tool are always tagged as manual — the wearable-provider sources (Fitbit/Oura/Apple Health) are reserved for the actual auto-sync pipelines.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| date | Yes | Date of the sleep entry (night ending on this date). Format: YYYY-MM-DD. Default to today. | |
| bedtime | No | Bedtime / primary sleep session start time. Format: ISO 8601 timestamp (e.g. 2026-08-16T22:47:00-04:00) or HH:MM wall-clock time. Optional. | |
| wake_time | No | Wake time / primary sleep session end time. Format: ISO 8601 timestamp (e.g. 2026-08-17T06:21:00-04:00) or HH:MM wall-clock time. Optional. | |
| awakenings | No | Number of times woken during the night. Optional. | |
| sleep_score | No | Sleep quality score on a 0-100 scale (matches wearable scoring). For a 1-10 self-rating, multiply by 10 first. Optional. | |
| total_hours | No | Total sleep duration in hours (e.g. 7.5). Optional. | |
| rem_sleep_hours | No | REM sleep in hours. Optional — include if the tracker reports it. | |
| deep_sleep_hours | No | Deep/slow-wave sleep in hours. Optional — include if the tracker reports it. | |
| light_sleep_hours | No | Light sleep in hours. Optional — include if the tracker reports it. |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| result | Yes | Human-readable result text returned by the tool. |