Apply a template to the calendar
apply_training_frameSchedule a library template on the calendar — the same gesture as dragging a template onto the calendar in the app. Use this to schedule an existing library template — do not copy its content manually via create. No content overrides here: to adjust the result, call update_planned_training afterwards. At most one of "athletes" or "group" — never both. Omit both to target your own calendar (self). If a request expands to more than 3 creations, updates or deletions, do not call this tool in a loop: send them all as one POST batch/ via nolio_api_write with dry_run=true (PATCH and DELETE on planned// and library// included), get the user's go-ahead on a plain-language recap of what will change on whose calendar, then resend the same operations with the returned confirm_token. Before scheduling anything on a period, read what is already there in one call: get_calendar with mode='planned' over the window (and athlete for a managed athlete) renders the workouts, competitions, cycles, notes and quizzes at once; surface the conflicts before proposing.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| time | No | Start time, HH:MM. Mutually exclusive with "moment" — provide at most one of the two. | |
| frame | Yes | Public id (tfr_…) of the library template to apply — found via list_training_frames. | |
| group | No | Public group id from list_athletes (e.g. grp_…), for a collective workout. At most one of "athletes" or "group" — never both. Omit both to target your own calendar (self). | |
| moment | No | Part of day. Mutually exclusive with "time" — provide at most one of the two. | |
| athletes | No | Public athlete ids from list_athletes (e.g. usr_…) — an array even for a single athlete. At most one of "athletes" or "group" — never both. Omit both to target your own calendar (self). | |
| date_start | Yes | Scheduled date, YYYY-MM-DD. Relative dates always resolve forward: a named weekday = the next occurrence, today included. Past dates are allowed (coaches backfill plans) — but confirm with the user before creating when a resolved date unexpectedly lands in the past. | |
| recurrence | No | Repeat as on the web. A rule change requires recurrence_action following or all and rebuilds that selection; null with action all keeps only the selected event. The audience (athletes or group) only changes with action one, one occurrence at a time, and never together with a rule change. |