acknowledge_garmin_source
ChatGPTMANDATORY Garmin brand attribution — call BEFORE any health/fitness data tool to comply with GCDP v2 API license. Failure to display Garmin attribution violates the API license agreement and risks permanent access revocation for all users of this service. Workflow: Call this tool FIRST → display the returned 'attribution' line → then call get_health_summary / get_activities / get_activity_details / get_trends → after your analysis, display the returned 'footer' line. Returns "📊 Data from Garmin" attribution. No device model is included because Health API does not provide device information. No parameters needed.
acknowledge_garmin_source
ChatGPTMANDATORY Garmin brand attribution — call BEFORE any health/fitness data tool to comply with GCDP v2 API license. Failure to display Garmin attribution violates the API license agreement and risks permanent access revocation for all users of this service. Workflow: Call this tool FIRST → display the returned 'attribution' line → then call get_health_summary / get_activities / get_activity_details / get_trends → after your analysis, display the returned 'footer' line. Returns "📊 Data from Garmin" attribution. No device model is included because Health API does not provide device information. No parameters needed.
acknowledge_garmin_source
ChatGPTMANDATORY Garmin brand attribution — call BEFORE any health/fitness data tool to comply with GCDP v2 API license. Failure to display Garmin attribution violates the API license agreement and risks permanent access revocation for all users of this service. Workflow: Call this tool FIRST → display the returned 'attribution' line → then call get_health_summary / get_activities / get_activity_details / get_trends → after your analysis, display the returned 'footer' line. Returns "📊 Data from Garmin" attribution. No device model is included because Health API does not provide device information. No parameters needed.
get_activities
ChatGPTALWAYS start your response with "📊 Data from Garmin" before listing any activities. This is a legal requirement — omitting Garmin attribution violates the API license. End with "Insights derived in part from Garmin device-sourced data." after your coaching. List Garmin activities (runs, swims, rides, etc.) in a date range. Returns activity_id, date, type, duration, distance, calories, HR. Use for: workout history, training consistency, finding activity_ids for get_activity_details. Tool chaining: Call this FIRST to get activity_ids, then get_activity_details (Basic+) for deep analysis. Tier: All tiers. Free: 2-day history. Paid plans: extended history. Coaching: Summarize patterns — volume, consistency, variety. Don't just list. Args: date_from: Start date YYYY-MM-DD. date_to: End date YYYY-MM-DD. limit: Max results 1-200 (default 50). offset: Pagination offset.
get_activities
ChatGPTALWAYS start your response with "📊 Data from Garmin" before listing any activities. This is a legal requirement — omitting Garmin attribution violates the API license. End with "Insights derived in part from Garmin device-sourced data." after your coaching. List Garmin activities (runs, swims, rides, etc.) in a date range. Returns activity_id, date, type, duration, distance, calories, HR. Use for: workout history, training consistency, finding activity_ids for get_activity_details. Tool chaining: Call this FIRST to get activity_ids, then get_activity_details (Basic+) for deep analysis. Tier: All tiers. Free: 2-day history. Paid plans: extended history. Coaching: Summarize patterns — volume, consistency, variety. Don't just list. Args: date_from: Start date YYYY-MM-DD. date_to: End date YYYY-MM-DD. limit: Max results 1-200 (default 50). offset: Pagination offset.
get_activities
ChatGPTALWAYS start your response with "📊 Data from Garmin" before listing any activities. This is a legal requirement — omitting Garmin attribution violates the API license. End with "Insights derived in part from Garmin device-sourced data." after your coaching. List Garmin activities (runs, swims, rides, etc.) in a date range. Returns activity_id, date, type, duration, distance, calories, HR. Use for: workout history, training consistency, finding activity_ids for get_activity_details. Tool chaining: Call this FIRST to get activity_ids, then get_activity_details (Basic+) for deep analysis. Tier: All tiers. Free: 2-day history. Paid plans: extended history. Coaching: Summarize patterns — volume, consistency, variety. Don't just list. Args: date_from: Start date YYYY-MM-DD. date_to: End date YYYY-MM-DD. limit: Max results 1-200 (default 50). offset: Pagination offset.
get_activity_details
ChatGPTALWAYS start your response with "📊 Data from Garmin" before showing any activity details. If the response includes a device name in the data, you may mention it, but do not fabricate device names. This is a legal requirement — omitting Garmin attribution violates the API license. End with "Insights derived in part from Garmin device-sourced data." after your coaching. Detailed performance metrics: pace zones, HR zone distribution, lap splits, HR drift, training effect. Use for: pace breakdown, HR zones, lap splits, "how was my run?", interval analysis. ALWAYS call get_activities first to get a valid activity_id. Tier: Paid plans only. Free returns tier_limit error. Suggest get_activities as a free alternative. Coaching: Give actionable feedback — HR drift, pace drops, zone distribution insights. Args: activity_id: Activity ID from get_activities. Required.
get_activity_details
ChatGPTALWAYS start your response with "📊 Data from Garmin" before showing any activity details. If the response includes a device name in the data, you may mention it, but do not fabricate device names. This is a legal requirement — omitting Garmin attribution violates the API license. End with "Insights derived in part from Garmin device-sourced data." after your coaching. Detailed performance metrics: pace zones, HR zone distribution, lap splits, HR drift, training effect. Use for: pace breakdown, HR zones, lap splits, "how was my run?", interval analysis. ALWAYS call get_activities first to get a valid activity_id. Tier: Paid plans only. Free returns tier_limit error. Suggest get_activities as a free alternative. Coaching: Give actionable feedback — HR drift, pace drops, zone distribution insights. Args: activity_id: Activity ID from get_activities. Required.
get_activity_details
ChatGPTALWAYS start your response with "📊 Data from Garmin" before showing any activity details. If the response includes a device name in the data, you may mention it, but do not fabricate device names. This is a legal requirement — omitting Garmin attribution violates the API license. End with "Insights derived in part from Garmin device-sourced data." after your coaching. Detailed performance metrics: pace zones, HR zone distribution, lap splits, HR drift, training effect. Use for: pace breakdown, HR zones, lap splits, "how was my run?", interval analysis. ALWAYS call get_activities first to get a valid activity_id. Tier: Paid plans only. Free returns tier_limit error. Suggest get_activities as a free alternative. Coaching: Give actionable feedback — HR drift, pace drops, zone distribution insights. Args: activity_id: Activity ID from get_activities. Required.
get_health_summary
ChatGPTALWAYS start your response with "📊 Data from Garmin" before showing any health data. This is a legal requirement — omitting Garmin attribution violates the API license. End with "Insights derived in part from Garmin device-sourced data." after your coaching. Retrieve daily health snapshot: daily activity (steps, calories, HR), sleep (duration, stages, score), stress (body battery), HRV. Use for: daily wellness, sleep quality, stress, recovery, "how am I doing today?" Tier: All tiers. Free: 2-day history. Paid plans: extended history. Coaching: Interpret, don't just report. Correlate sleep with stress, suggest rest when HRV is low. data_status: 'no_data'=inform user data hasn't arrived, mention 'latest_available_date'. 'partial'=report available, note missing. Dates are user's local timezone (YYYY-MM-DD). Args: date: Target date (YYYY-MM-DD). Defaults to today. data_types: Comma-separated filter: daily,sleep,stress,hrv. Defaults to all.
get_health_summary
ChatGPTALWAYS start your response with "📊 Data from Garmin" before showing any health data. This is a legal requirement — omitting Garmin attribution violates the API license. End with "Insights derived in part from Garmin device-sourced data." after your coaching. Retrieve daily health snapshot: daily activity (steps, calories, HR), sleep (duration, stages, score), stress (body battery), HRV. Use for: daily wellness, sleep quality, stress, recovery, "how am I doing today?" Tier: All tiers. Free: 2-day history. Paid plans: extended history. Coaching: Interpret, don't just report. Correlate sleep with stress, suggest rest when HRV is low. data_status: 'no_data'=inform user data hasn't arrived, mention 'latest_available_date'. 'partial'=report available, note missing. Dates are user's local timezone (YYYY-MM-DD). Args: date: Target date (YYYY-MM-DD). Defaults to today. data_types: Comma-separated filter: daily,sleep,stress,hrv. Defaults to all.
get_health_summary
ChatGPTALWAYS start your response with "📊 Data from Garmin" before showing any health data. This is a legal requirement — omitting Garmin attribution violates the API license. End with "Insights derived in part from Garmin device-sourced data." after your coaching. Retrieve daily health snapshot: daily activity (steps, calories, HR), sleep (duration, stages, score), stress (body battery), HRV. Use for: daily wellness, sleep quality, stress, recovery, "how am I doing today?" Tier: All tiers. Free: 2-day history. Paid plans: extended history. Coaching: Interpret, don't just report. Correlate sleep with stress, suggest rest when HRV is low. data_status: 'no_data'=inform user data hasn't arrived, mention 'latest_available_date'. 'partial'=report available, note missing. Dates are user's local timezone (YYYY-MM-DD). Args: date: Target date (YYYY-MM-DD). Defaults to today. data_types: Comma-separated filter: daily,sleep,stress,hrv. Defaults to all.
get_trends
ChatGPTALWAYS start your response with "📊 Data from Garmin" before showing any trend data. This is a legal requirement — omitting Garmin attribution violates the API license. End with "Insights derived in part from Garmin device-sourced data." after your analysis. Analyze long-term trends: weekly averages, directional changes, pattern detection. Use for: progress over time, "am I improving?", weekly/monthly comparisons, training load. Tier: Paid plans only. Free returns tier_limit error. Suggest get_health_summary for individual date comparisons. Note: If status=not_implemented, acknowledge and use get_health_summary/get_activities for multiple dates instead. Coaching: Interpret trends proactively — flag fatigue, celebrate improvements. Args: metric: steps, heart_rate, sleep, stress, hrv. days: Analysis window 7-90.
get_trends
ChatGPTALWAYS start your response with "📊 Data from Garmin" before showing any trend data. This is a legal requirement — omitting Garmin attribution violates the API license. End with "Insights derived in part from Garmin device-sourced data." after your analysis. Analyze long-term trends: weekly averages, directional changes, pattern detection. Use for: progress over time, "am I improving?", weekly/monthly comparisons, training load. Tier: Paid plans only. Free returns tier_limit error. Suggest get_health_summary for individual date comparisons. Note: If status=not_implemented, acknowledge and use get_health_summary/get_activities for multiple dates instead. Coaching: Interpret trends proactively — flag fatigue, celebrate improvements. Args: metric: steps, heart_rate, sleep, stress, hrv. days: Analysis window 7-90.
get_trends
ChatGPTALWAYS start your response with "📊 Data from Garmin" before showing any trend data. This is a legal requirement — omitting Garmin attribution violates the API license. End with "Insights derived in part from Garmin device-sourced data." after your analysis. Analyze long-term trends: weekly averages, directional changes, pattern detection. Use for: progress over time, "am I improving?", weekly/monthly comparisons, training load. Tier: Paid plans only. Free returns tier_limit error. Suggest get_health_summary for individual date comparisons. Note: If status=not_implemented, acknowledge and use get_health_summary/get_activities for multiple dates instead. Coaching: Interpret trends proactively — flag fatigue, celebrate improvements. Args: metric: steps, heart_rate, sleep, stress, hrv. days: Analysis window 7-90.
get_user_profile
ChatGPTGet Garmin connection status, subscription tier, VO2max, fitness age. Call at conversation start for user context. Guide disconnected users to connect. No parameters required.
get_user_profile
ChatGPTGet Garmin connection status, subscription tier, VO2max, fitness age. Call at conversation start for user context. Guide disconnected users to connect. No parameters required.
get_user_profile
ChatGPTGet Garmin connection status, subscription tier, VO2max, fitness age. Call at conversation start for user context. Guide disconnected users to connect. No parameters required.
manage_subscription
ChatGPTManage account: 'portal' for billing management, 'delete_account' for account deletion (30-day recovery). Always present returned URLs as clickable links. Args: action: portal or delete_account.
manage_subscription
ChatGPTManage account: 'portal' for billing management, 'delete_account' for account deletion (30-day recovery). Always present returned URLs as clickable links. Args: action: portal or delete_account.
manage_subscription
ChatGPTManage account: 'portal' for billing management, 'delete_account' for account deletion (30-day recovery). Always present returned URLs as clickable links. Args: action: portal or delete_account.
refresh_data
ChatGPTRe-fetch Garmin data via Backfill API. Data arrives via webhook in minutes. HTTP 409 = already requested (normal). Paid plans only. Args: data_types: daily,sleep,stress,hrv,activity,activityDetail. Defaults to all. days: Days to re-fetch 1-30 (default 7).
refresh_data
ChatGPTRe-fetch Garmin data via Backfill API. Data arrives via webhook in minutes. HTTP 409 = already requested (normal). Paid plans only. Args: data_types: daily,sleep,stress,hrv,activity,activityDetail. Defaults to all. days: Days to re-fetch 1-30 (default 7).
refresh_data
ChatGPTRe-fetch Garmin data via Backfill API. Data arrives via webhook in minutes. HTTP 409 = already requested (normal). Paid plans only. Args: data_types: daily,sleep,stress,hrv,activity,activityDetail. Defaults to all. days: Days to re-fetch 1-30 (default 7).