Integration reference
Garmin Connect Trigger and Action reference
Connect Garmin activities and health summaries to your other apps, download activity files, and manage courses, workouts and workout schedules.
Authentication
Connect your Garmin account through OAuth. Select the data categories you want to share, then choose Save and Agree in Garmin. Activities enables activity events and files; Training and Courses allow the corresponding actions. FastHook stores OAuth credentials encrypted. Garmin identifies the connection by user ID rather than email.
- Trigger account type:
oauth2; reconnect byoauth. - Action connection type:
oauth2; available modes: Connected account.
Create or reuse the account from a Trigger or Action dialog, or manage it under Settings → Connected accounts. See Authentication and permissions for scopes and access diagnostics, or Connected accounts for reuse, reconnect, revocation, and credential rotation.
Scopes and permissions
Base Trigger authorization requests: PARTNER_WRITE, PARTNER_READ, CONNECT_READ, CONNECT_WRITE.
Operation-specific requirements appear in the tables below. Custom event selections can add scopes dynamically, so the current Trigger or Action dialog remains authoritative for the exact consent request.
Use Garmin Connect as a Trigger
The current provider manifest contains 21 available Trigger definitions. Representative definitions include:
- New Activity Summary
- New Activity File Available
- New Sleep Summary
- New Daily Health Summary
View all 21 available Trigger definitions
| Trigger | Manifest key | Delivery | Additional scopes |
|---|---|---|---|
| New Daily Health Summary | garmin.dailies.instant | instant | None declared |
| New Activity Epoch | garmin.epochs.instant | instant | None declared |
| New Sleep Summary | garmin.sleeps.instant | instant | None declared |
| New Body Composition | garmin.body_comps.instant | instant | None declared |
| New Stress Details | garmin.stress_details.instant | instant | None declared |
| New User Metrics | garmin.user_metrics.instant | instant | None declared |
| New Pulse Ox | garmin.pulseox.instant | instant | None declared |
| New Respiration | garmin.all_day_respiration.instant | instant | None declared |
| New Health Snapshot | garmin.health_snapshot.instant | instant | None declared |
| New Heart Rate Variability | garmin.hrv.instant | instant | None declared |
| New Blood Pressure | garmin.blood_pressures.instant | instant | None declared |
| New Skin Temperature | garmin.skin_temp.instant | instant | None declared |
| New Nutrition | garmin.nutrition.instant | instant | None declared |
| New Hydration | garmin.hydration.instant | instant | None declared |
| New Breathing Variations | garmin.breathing_variations.instant | instant | None declared |
| New Activity Summary | garmin.activities.instant | instant | None declared |
| New Manually Updated Activity | garmin.manually_updated_activities.instant | instant | None declared |
| New Activity Details | garmin.activity_details.instant | instant | None declared |
| New Move IQ Activity | garmin.move_i_q_activities.instant | instant | None declared |
| New Activity File Available | garmin.activity_files.instant | instant | None declared |
| New Women’s Health Summary | garmin.mct.instant | instant | None declared |
Choose the narrowest event definition that fits the Workflow. Configure provider-specific resource and event filters in the Source dialog before adding broader Workflow Filters.
Use Garmin Connect Actions
The current Action manifest contains 16 operations. Representative Actions include:
- Download Activity File
- Get Permissions
- Create Course
- Create Workout
- Create Workout Schedule
View all 16 available Action definitions
| Action | Manifest key | Access and auth | Manifest rate limit |
|---|---|---|---|
| Get User ID | garmin.get_user_id | None declared FastHook-managed account | 100/minute |
| Get Permissions | garmin.get_permissions | None declared FastHook-managed account | 100/minute |
| Create Course | garmin.create_course | None declared FastHook-managed account | 100/minute |
| Get Course | garmin.get_course | None declared FastHook-managed account | 100/minute |
| Update Course | garmin.update_course | None declared FastHook-managed account | 100/minute |
| Delete Course | garmin.delete_course | None declared FastHook-managed account | 100/minute |
| Create Workout | garmin.create_workout | None declared FastHook-managed account | 100/minute |
| Get Workout | garmin.get_workout | None declared FastHook-managed account | 100/minute |
| Update Workout | garmin.update_workout | None declared FastHook-managed account | 100/minute |
| Delete Workout | garmin.delete_workout | None declared FastHook-managed account | 100/minute |
| Create Workout Schedule | garmin.create_schedule | None declared FastHook-managed account | 100/minute |
| Get Workout Schedule | garmin.get_schedule | None declared FastHook-managed account | 100/minute |
| Update Workout Schedule | garmin.update_schedule | None declared FastHook-managed account | 100/minute |
| Delete Workout Schedule | garmin.delete_schedule | None declared FastHook-managed account | 100/minute |
| List Workout Schedules | garmin.list_schedules | None declared FastHook-managed account | 100/minute |
| Download Activity File | garmin.download_activity_file | None declared FastHook-managed account | 50/minute |
The Action editor reads its required permissions, fields, remote resource pickers, output schema, and rate limit from the provider manifest. Available fields can change with the selected operation and authentication mode.
Build a Workflow
- Create a Source using a Garmin Connect Trigger definition.
- Create a Workflow with that Source as its Trigger.
- Add the required Garmin Connect Action and select the connected account.
- Map Trigger or earlier-Step data into the Action fields with the field picker.
- Add a Filter, Paths, Delay, or Transformation when the route needs it.
- Activate the Workflow, produce a controlled event, and verify the run in Audit and in Garmin Connect.
Troubleshooting Garmin Connect
- The account is missing or cannot be selected
- Confirm the active FastHook team, provider, account status, and authentication mode. A disabled or revoked account cannot execute an Action.
- A resource picker is empty
- Verify that the connected provider identity can access the resource itself. OAuth consent does not add workspace, repository, channel, drive, project, base, or record permissions.
- The editor asks for additional scopes
- Reconnect the same account from the affected Trigger or Action so FastHook can request its current manifest scopes. Then reopen the editor and select the resource again.
- An active Workflow returns 401, 403, or a permission error
- Compare the selected operation’s access requirements below with the account recorded in Audit. Check provider-side membership and object access before repeating the Action.
- The provider returns 429 or a temporary 5xx
- Inspect the Step attempt and retryability in Audit. FastHook can retry temporary failures, but provider quotas and idempotency rules still apply.
Provider-specific checks
- Notifications arrive when Garmin makes the selected data available after synchronization. Enable only the categories your Workflow needs.
- Download Activity File requires a real Activity File Available event. Its URL expires after 24 hours and can be used once; pass the downloaded File to later steps. The FastHook download limit is 25 MiB.
- Test with fictional data and a private destination before activation. Health data and activity routes can be sensitive; share them only with destinations you authorize.
- Changing Garmin permissions can stop existing triggers. Review the selected account and permissions before reactivating the Workflow.
- Removing the connection revokes access. Reconnect with Save and Agree when you want to use Garmin again.