Loki Docs
Tools › Workouts › Group exercises into a superset

Group exercises into a superset

group_exercisesChanges
What it does
Changes or deletes something you had. Your assistant can ask you to confirm first. Safe to retry: the same call twice changes nothing more.
Permission
Workouts, change workouts:write

What your assistant is told

Pair two or more exercises into a superset / circuit inside a workout — the live twin of the supersets you can plan on a template. Grouped exercises render as A1/A2/… on the session screen, which is how the user reads "alternate these, don't finish one before starting the other". An exercise not yet in the session is added to it, so you can arrange the pairing BEFORE its first set and then log_set each exercise as normal. Omit groupKey to make a new group; pass the groupKey of an existing group (visible on each exercise in get_workout) to add one more exercise to it. Works on a FINISHED workout too — recording that two lifts were alternated is describing what happened. It does NOT reorder the exercises (update_session_exercise with position) and does NOT log any sets. To plan a superset for a FUTURE workout, pair the template's exercises with update_workout_template_exercise (groupKey) instead. Defaults to the in-progress workout; pass sessionId (from list_workouts) for a past one. Returns the updated session.

Parameters

  • exerciseslist of text, requiredTwo or more exercises to perform back-to-back, each a catalog slug or a numeric id, e.g. ["barbell-bench-press", "bent-over-row"]. A single one is allowed only together with an explicit groupKey, to extend a group that already exists.
  • groupKeywhole number, optionalOptional key of an existing group to join. Omit to allocate a fresh one. Keys are local to this session and mean nothing beyond "these belong together".
  • sessionIdid, optionalWorkout UUID from list_workouts. Omit for the in-progress workout.
  • clientHandletext, optionalOptional client_handle from list_clients to run this tool against a coached client's data instead of your own. Omit (or pass null) for your own data — the legacy default.