This project connects your Garmin activities and personal records to your Notion database, allowing you to keep track of your performance metrics in one place.
🔄 Automatically sync Garmin activities to Notion in real-time
📊 Track detailed activity metrics (distance, pace, heart rate)
🎯 Extract and track personal records (fastest 1K, longest ride)
🤖 Zero-touch automation once configured
📱 Compatible with all Garmin activities and devices
🔧 Easy setup with clear instructions and minimal coding required
- A Notion account with API access.
- A Garmin Connect account to pull activity data.
- If you wish to sync your Peloton workouts with Garmin, see peloton-to-garmin
Follow these steps to set up the integration:
Ensure that your environment secrets are correctly configured for secure data access.
- Go to Notion Integrations.
- Create a new integration and copy the integration token.
- Share the integration with the target database in Notion.
- Run garmin-activities.py to sync your Garmin activities to Notion.
python garmin-activities.py
- Run person-records.py to extract activity records (e.g., fastest run, longest ride).
python personal-records.py
You can customize the scripts to fit your needs by modifying environment variables and Notion database settings.
Here is a screenshot of what my Notion dashboard looks like:
My Notion template is available for free and can be duplicated to your Notion here
- Reference dictionary and examples can be found in cyberjunky/python-garminconnect.
- This project was inspired by n-kratz/garmin-notion.
Contributions are welcome! If you find a bug or want to add a feature, feel free to open an issue or submit a pull request. Financial contributions are also greatly appreciated 😊
This project is licensed under the MIT License. See the LICENSE file for more details.