Skip to main content
The client_ai_wod module lets a client’s AI assistant view published Workouts of the Day, check the verified leaderboard, manage the client’s own WOD preferences, and start or complete WOD sessions. Client AI tools are subject-bound: every call resolves to the authenticated client (subjectClientId) and only exposes that client’s own session state alongside published company WOD content. The module is available only when the company MCP integration feature is enabled, client AI access is enabled for the client-company relationship, the company’s client MCP policy allows the module (write tools additionally require the company policy to allow them), and the client has granted health data consent.

Available Tools

client_ai_get_wod_by_date

Get the published WOD for one canonical date, scoped to the authenticated client and active company, including only that client’s session state. Calling it without a date returns today’s WOD in the active company’s timezone.
  • Type: Read-only
  • Important Input Fields:
    • date (string, optional): Canonical date in YYYY-MM-DD format. Defaults to today in the active company’s timezone.
    • language (string, optional): Content language, one of en, nl.

client_ai_get_wod_detail

Get a bounded execution view of one published WOD, with the authenticated client’s own session and logged-set state.
  • Type: Read-only
  • Important Input Fields:
    • wodId (string, required): The unique WOD ID (24-character ObjectId).
    • language (string, optional): Content language, one of en, nl.

client_ai_get_wod_leaderboard

Get a bounded, preference-aware page of verified WOD results plus the authenticated client’s own result when present.
  • Type: Read-only
  • Important Input Fields:
    • wodId (string, required): The unique WOD ID (24-character ObjectId).
    • page (integer, optional): Page number, starting at 1.
    • limit (integer, optional): Page size, between 10 and 50.

client_ai_get_my_wod_preferences

Get WOD participation and notification preferences for the authenticated client in the active company.
  • Type: Read-only
  • Important Input Fields: None.

client_ai_update_my_wod_preferences Write

Update WOD participation or notifications for the authenticated client without changing company WOD settings.
  • Type: Write
  • Important Input Fields:
    • participates (boolean, optional): Whether you take part in the daily WOD (affects leaderboard visibility).
    • notificationEnabled (boolean, optional): Whether you receive WOD notifications.

client_ai_start_my_wod Write

Start a fresh published WOD session for the authenticated client through the existing Workout V2 session core. Existing sessions must be resumed in the client app.
  • Type: Write
  • Important Input Fields:
    • wodId (string, required): The unique WOD ID (24-character ObjectId).
    • division (string, optional): Division to perform, one of rx, scaled.
    • locationId (string, optional): Location ID (24-character ObjectId) where the WOD is performed.
    • language (string, optional): Content language, one of en, nl.

client_ai_complete_my_wod Write

Complete the authenticated client’s active WOD session through the existing scoring, verification, leaderboard, and XP domain flow.
  • Type: Write
  • Important Input Fields:
    • wodId (string, required): The unique WOD ID (24-character ObjectId).
    • wodResult (object, optional): Score fields for the WOD format: roundsCompleted, repsPerRound, extraReps, totalReps, timeCapSeconds, elapsedSeconds (all numbers, min 0), finishedBeforeCap (boolean), and intervalReps (array of numbers, max 100 items).
    • notes (string, optional): Notes on the completed workout. Max 2000 chars.
    • verificationMode (string, optional): How the score is verified, one of direct, request_verification.

Natural Language Examples

  • “What’s today’s WOD?”
  • “Start today’s WOD for me — I’m doing the scaled division.”
  • “I finished in 14:32 before the cap, log my score and ask my coach to verify it.”
  • “Where am I on the leaderboard for yesterday’s WOD?”

JSON-RPC Call Example (client_ai_complete_my_wod)