add_routine_exercise
ChatGPTPermanently add an exercise at the end of one training day of the user's ACTIVE routine in Longevity (3 sets unless told otherwise), like "Change my routine" in the app. Find the exercise name with search_exercises. Before calling it, read the routine with get_my_routine and confirm the exact change with the user: this modifies the routine they train with, for every week from now on. If their routine was assigned by a human coach, tell them the coach will see the change. It cannot be used during a deload week or while the routine is paused, and it cannot make "this week only" changes (those are made in the app).
check_habit
ChatGPTMark one of the user's Longevity habits as done for today (for example "I took my creatine" or "I did my stretching"). It can only mark today, and it cannot unmark. Use the habit names from get_habits; if the name does not match exactly one habit, nothing is marked and the tool returns the list. Only mark what the user says they actually did.
coach_assign_routine
ChatGPTFor coaches only. Replace a client's ACTIVE routine with a new one, like "Save" in the panel's routine editor: the client trains with it from now on and their app marks it as assigned by the coach. Exercise names must be copied exactly from search_exercises. Read the current routine first with coach_get_client_routine and confirm the full routine with the coach before calling: this replaces what the client has. Exercises that keep their name keep their slot (logged sets and this-week changes stay linked). If the routine changed at the same moment, nothing is written and the tool says so.
coach_delete_client_log
ChatGPTFor coaches only. Delete one exercise a client has logged on a given day (today or up to a year back), like deleting it in the panel. The client's app removes it too. If that exercise is logged more than once that day, say which one with logged_as. Confirm with the coach before calling.
coach_edit_client_log
ChatGPTFor coaches only. Replace the sets of one exercise a client has logged on a given day (today or up to a year back), like the set editor in the panel. Give the FULL new list of sets. The client's app adopts the correction and shows it as corrected by the coach. If that exercise is logged more than once that day, say which one with logged_as. Check first with coach_get_client_activity and confirm with the coach.
coach_get_alerts
ChatGPTFor coaches only. The training-load alerts the Longevity panel shows for this coach's clients: injury risk or high load (ACWR) and deload recommended, with the panel's suggestion for each.
coach_get_client_activity
ChatGPTFor coaches only. What one of this coach's clients logged day by day in the last N days (every exercise with its sets, notes and volume) plus their personal records.
coach_get_client_messages
ChatGPTFor coaches only. The last messages between this coach and one client in the Longevity chat (who wrote each one and when). Reading only: replies are sent from the coach panel.
coach_get_client_routine
ChatGPTFor coaches only. Read the active routine of one of this coach's clients as the client's app shows it this week (base routine plus the client's own changes for this week), with its version and who changed it last.
coach_get_weekly_report
ChatGPTFor coaches only. The weekly report of one client as the panel builds it: sessions done vs planned, volume by day and vs the previous week, personal records, sport, wearable averages, habit compliance, Longevity Score and deload status. weeks_ago 0 = this week, 1 = last week.
coach_list_clients
ChatGPTFor coaches only. List the clients of this coach in their Longevity panel: name, email, goal, level, plan, routine, sessions and volume this week, last activity, unread messages and Longevity Score. Use the email with the other coach tools.
coach_log_client_workout
ChatGPTFor coaches only. Log exercises a client did, on their behalf, as loose coach entries, like "+ Log exercise" in the panel: for today or up to 7 days back. They appear in the client's history as logged by the coach and never fill a routine day (that is done with "Fill in their routine" in the panel). If the client already has that exercise logged on that day, nothing is written: use coach_edit_client_log or coach_delete_client_log to change it. Sets are written like in log_workout (reps + weight, seconds for holds, minutes for cardio). Only log what the client actually did, as the coach reports it.
coach_send_feedback
ChatGPTFor coaches only. Write the coach's feedback for one client: the note the client sees in the Coach tab of their Longevity app, with today's date and the coach's name. There is one at a time: it replaces the previous feedback. Write it in the coach's own voice and send exactly the text the coach approved.
delete_logged_workout
ChatGPTDelete one exercise the user has logged on a given day (today or up to a year back), e.g. logged by mistake or on the wrong day. Removes that entry with all its sets; the Longevity app removes it too (and its check mark if it was a routine exercise of this week). If the exercise is logged more than once that day, say which one with logged_as. Confirm with the user before calling.
edit_logged_workout
ChatGPTReplace the sets of one exercise the user already has logged on a given day (today or up to a year back), when they made a mistake: e.g. the weight or the reps were wrong. Give the FULL new list of sets; it replaces the old one. Works for routine, free and coach-logged entries; the Longevity app adopts the correction, also for this week's routine. If the exercise is logged more than once that day, say which one with logged_as. Check first with get_workout_history and confirm with the user what the entry should say.
get_app_download_links
ChatGPTWhere to get the Longevity app: the App Store and Google Play links. Longevity is used on the phone with that app, not in a web browser. Use it when the user asks how to install the app or where to use it.
get_assessment_link
ChatGPTGet the link to book an assessment video call with the user's coach in Longevity, or with Longevity's head coach when the user has no coach. Use it when the user wants to talk to a coach, be assessed, get a routine made for them, or asks about personal coaching. If the coach has no booking link, the tool says so and the user can write to the coach with send_message_to_coach instead.
get_exercise_progress
ChatGPTShow how one exercise has evolved over the last months: each session with its sets and top set, plus the heaviest set and the highest-volume session. The name can be in English or Spanish, or part of it; if several logged exercises match, the tool returns their names so you can ask again with the exact one.
get_habits
ChatGPTList the user's daily habits in Longevity (for example protein target, steps, sleep) and which days they checked each one in the last N days, with their adherence.
get_health_data
ChatGPTRead the wellness data the user syncs to Longevity from a watch, ring or phone (heart rate variability, resting heart rate, sleep, steps, readiness) day by day for the last N days, with a 30-day baseline for HRV and resting heart rate. Use it to relate recovery and sleep to training. It is wellness data for training decisions, not a medical record.
get_longevity_score
ChatGPTRead the user's Longevity Score (0-100) exactly as their app shows it: the four components (training, recovery, habits and body, 0-25 each), sessions in the last 7 days, the training load ratio (ACWR; about 0.8 to 1.35 is the range the score rewards most) and whether a deload week is recommended. Zones: excellent from 80, good from 60, moderate from 40, low below 40.
get_my_routine
ChatGPTRead the user's active training routine in Longevity exactly as their app shows it this week (the base routine plus any exercises they swapped, added or removed this week), what they have already trained this week, and the names of the routines saved in My Routines. An exercise with "done_this_week" is one the app already shows as completed for this week, with the sets they logged; "this_week.trained" lists everything logged since Monday. Use it before giving advice about their training or before proposing a new routine.
get_workout_history
ChatGPTList what the user has logged in Longevity day by day, most recent first, for the last N days: every exercise with its sets (reps x weight), volume and their own notes. Use it for questions about what they trained, how often, or how a week went. For one exercise over several months use get_exercise_progress instead.
log_sport
ChatGPTLog a sport session the user did (a padel match, a run, a dance class…) in Longevity, for today or up to 7 days back: the same as logging it in the app (Train → Entrenar → SPORT), as minutes and effort from 1 to 10. It counts for the Longevity Score and, for cardio sports of 20 minutes or more, for their heart age. Sports: Football / Fútbol, Basketball / Baloncesto, Tennis / Tenis, Padel / Pádel, Volleyball / Voleibol, Rugby, Boxing / Boxeo, MMA, Jiu-Jitsu, Hiking / Senderismo, Climbing / Escalada, Swimming / Natación, Cycling / Ciclismo, Running / Correr, Trail Running, CrossFit, Yoga, Dance / Baile. Zumba, salsa, bachata and any other dance style are Dance. A run, a swim or a bike ride outside is a sport; cardio machines of the gym (treadmill, stationary bike, elliptical, rowing machine) are exercises for log_workout. If their sport is not in the list, propose the closest one and log it only after the user says yes (spinning → Cycling). Never guess the effort: if they did not say how hard it was, ask once, in simple words: light, moderate, hard or all out (3, 5, 7 or 9), or how long they could have kept going like that (for hours 3, over an hour 4, an hour 5, half an hour 6, about 15 minutes 7, a few minutes 8, one minute 9, not a second more 10). Ask everything that is missing in one short question; when they told you sport, minutes and effort, log it right away. If that sport is already logged that day, nothing is logged and the tool says what is there: ask whether it was another session or a correction, and call again with same_day.
log_workout
ChatGPTLog exercises the user actually did in Longevity, for today or up to 7 days back. Each exercise goes where the app itself would put it: if it is in the user's routine and still pending this week, it is logged into that routine day and shows its check mark in the app; otherwise it is logged as a free workout. Either way it counts for history, progress, personal records and the Longevity Score. Exercise names must be copied exactly from search_exercises, or from get_my_routine for an exercise of the routine. How to write each set depends on the exercise: strength and bodyweight exercises take "reps" (plus "weight" when a load was used); timed holds such as planks and stretches take "seconds"; cardio takes "minutes" and/or "seconds". For band- or machine-assisted exercises, "weight" is the assistance. List one set object per set done. Only log what the user says they did, with their own numbers, and confirm the list with them first. It only adds: if an exercise already has an entry that day, or anything is invalid, nothing is logged and the tool explains why; changing or deleting an entry is done in the app. When a routine exercise is pending on more than one day, say which day it was with "day".
remove_routine_exercise
ChatGPTPermanently remove one exercise from the user's ACTIVE routine in Longevity, like "Change my routine" in the app. A training day cannot be left empty. Before calling it, read the routine with get_my_routine and confirm the exact change with the user: this modifies the routine they train with, for every week from now on. If their routine was assigned by a human coach, tell them the coach will see the change. It cannot be used during a deload week or while the routine is paused, and it cannot make "this week only" changes (those are made in the app).
save_routine
ChatGPTSave a new training routine to the user's "My Routines" library in Longevity. It only ADDS a saved routine: it does not replace their active routine and does not touch anything they have logged. Afterwards the user opens the app and taps "Use" on it. The app marks an exercise as already done for the week when the user logged that same exercise on the same day number earlier this week (see this_week.trained in get_my_routine), so tell the user when a new routine repeats something they already trained this week. Every exercise name must be copied exactly from search_exercises. Free accounts keep up to 2 saved routines, paid accounts up to 5.
search_exercises
ChatGPTSearch the Longevity exercise library by name in English or Spanish (also matches muscle group). Returns the exact exercise names that save_routine accepts, with muscle group and type (strength, bodyweight, isometric or cardio). Always search before saving a routine; never invent exercise names.
send_message_to_coach
ChatGPTSend a message from the user to their human coach in Longevity. A real person reads it in their coach panel, and their reply arrives in the chat inside the Longevity app. Use it only when the user explicitly asks to tell or ask their coach something, write it in the first person as the user, and send exactly the text they approved. Do not use it for questions you can answer yourself, and do not send several messages in a row.
swap_routine_exercise
ChatGPTPermanently replace one exercise of the user's ACTIVE routine in Longevity with another, like "Change my routine" in the app: the new exercise takes the slot, sets, reps and rest of the old one. Find the new exercise name with search_exercises. Before calling it, read the routine with get_my_routine and confirm the exact change with the user: this modifies the routine they train with, for every week from now on. If their routine was assigned by a human coach, tell them the coach will see the change. It cannot be used during a deload week or while the routine is paused, and it cannot make "this week only" changes (those are made in the app).
update_routine_exercise
ChatGPTPermanently change the sets, reps, rest or note of one exercise of the user's ACTIVE routine in Longevity, like "Change my routine" in the app. Give at least one of sets, reps, rest_seconds or notes. Before calling it, read the routine with get_my_routine and confirm the exact change with the user: this modifies the routine they train with, for every week from now on. If their routine was assigned by a human coach, tell them the coach will see the change. It cannot be used during a deload week or while the routine is paused, and it cannot make "this week only" changes (those are made in the app).