Calendar notes and event categories
A common first guess is that icuvisor has an add_note tool. It does not, and the reason is worth understanding: on intervals.icu a note is not a separate kind of object, it is a category of calendar event.
One event writer, many categories
Everything on the intervals.icu calendar is an event. A planned workout, a goal race, and a free-text note are all events that differ only by their category. icuvisor mirrors that model: a single writer, add_or_update_event, creates and updates all of them. To create a note, call it with category: "NOTE".
How a NOTE event is shaped
A NOTE event uses two fields:
name— a short title. Give every new NOTE a non-empty one.description— the note body, as plain text.
Do not put the body in workout_doc. That field holds the structured-workout DSL and only makes sense for WORKOUT events; on a NOTE it is meaningless. See Build and schedule workouts for where workout_doc does belong.
A note can be as short as a reminder or as long as a plan:
{
"date": "2026-06-17",
"category": "NOTE",
"name": "Daily reminder",
"description": "Take resting HR after waking, do 10 minutes mobility, and log sleep quality before training."
}{
"date": "2026-06-12",
"category": "NOTE",
"name": "Race-week nutrition plan",
"description": "Breakfast: oatmeal and banana. Lunch: rice bowl. Carry 90 g carbs/hour for the long ride."
}The same shape covers travel logistics, coach annotations, or any other free-text entry you want pinned to a date. Like every write, creating a NOTE event needs the server in write mode — see Why safety modes exist.