Workouts
createlog_workout
Creates a completed workout with exercises and sets. Each exercise requires an accessible exerciseId or a real custom movement name. fillsPlannedSession replaces the corresponding planned session's exercises with the completed workout. Returns the saved workout and any automatically completed challenge tasks.
readOnlyHint: falsedestructiveHint: trueidempotentHint: falseopenWorldHint: falsetitle: Log a completed workoutnamestringRequiredShort human title, e.g. 'Push day' or 'Morning run'.
2 to 80 characters
datestringDefaults to today. Resolve 'yesterday' etc. yourself.
Format YYYY-MM-DD
durationMinutesinteger1 to 600
notesstringAny difficulty/feel words ALREADY in the user's message, as they said them.
Up to 500 characters
exercisesarray of objectsRequired1 to 15 items
Each item
exerciseIdstring (uuid)ID of an exercise accessible to this account.
createNamestringName of a real custom movement absent from the exercise catalog. Creates that custom exercise when needed.
2 to 80 characters
muscleGroupstringWith createName, when known.
Up to 40 characters
notesstringUp to 300 characters
setsarray of objectsRequired1 to 20 items
Each item
repsinteger1 to 200
weightnumber0 to 2,000
rpenumberOnly when the user stated effort for THIS set.
1 to 10
durationSecondsinteger5 to 36,000
distancenumberAt least 0
distanceUnitstringOne of mi, km, m
notesstringUp to 200 characters
fillsPlannedSessionbooleanTrue replaces today's planned routine session with this completed workout in place. False or omitted creates a separate session.
completesTaskIdsarray of strings (uuid)Existing challenge-task ids satisfied by this workout; each task belongs to an active challenge owned by the user.
Up to 4 items
allowDuplicatebooleanOnly true when the user really means a second, identical entry moments after the first.
One text item holding a JSON object, as in the example.
exerciseId (from search_exercises) or createName, which creates a custom exercise.completesTaskIds are checked off in the user's active challenges and listed in completedChallengeTasks.duplicateNotice instead of saving again. Pass allowDuplicate: true only when the user really means a second, identical entry.Every tool returns isError with a message when its arguments don't match the schema, a limit is reached, the person turned the agent off, or iAM360 has a problem. See Errors and limits.