Skip to content

chloevoyer/garmin-to-notion

Repository files navigation

Sync Garmin to Notion

Garmin to Notion Integration ⌚

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.

Features ✨

πŸ”„ 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)
πŸ‘£ Optional daily steps tracker 😴 Optional sleep data tracker
πŸ€– Zero-touch automation once configured
πŸ“± Compatible with all Garmin activities and devices
πŸ”§ Easy setup with clear instructions and minimal coding required

Prerequisites πŸ› οΈ

  • 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

Getting Started 🎯

A detailed step-by-step guide is provided on my Notion template here. For more advanced users, follow these steps to set up the integration:

1. Fork this GitHub Repository

2. Duplicate my Notion Template

  • Save your Activities and Personal Records database ID (you will need it for step 4)
    • Optional: Daily Steps database ID
    • Look at the URL: notion.so/username/[string-of-characters]
    • The database ID is everything after your β€œusername/β€œ and before the β€œ?v”

3. Create Notion Token

4. Set Environment Secrets

  • Environment secrets to define:
    • GARMIN_EMAIL
    • GARMIN_PASSWORD
    • NOTION_TOKEN
    • NOTION_DB_ID
    • NOTION_PR_DB_ID
    • NOTION_STEPS_DB_ID (optional)
    • NOTION_SLEEP_DB_ID (optional)

5. Run Scripts (if not using automatic workflow)

  • 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

Example Configuration πŸ“

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:
garmin-to-notion-template

My Notion template is available for free and can be duplicated to your Notion here

Acknowledgements πŸ™Œ

Contributing 🀝

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 😊

Buy Me A Coffee

©️ License

This project is licensed under the MIT License. See the LICENSE file for more details.

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •  

Languages