Garmin LiveTrack & Slack Integration Instructions

This is a hacky way of doing the thing that Garmin should have supposed to do.

Image for post
Image for post
Garmin and Slack Integration

Disclaimer: Post is intended for developers or tech-savvy people.

As you are here it means you have also encountered a problem with Garmin LiveTrack as it provides 0 integration support and no API for devs.

Let’s jump into it:

What we need:

  • Garmin
  • Gmail
  • Slack
  • Go lang to glue everything together

Step 1

testuser+garminlivetrack@gmail.com

Garmin will send link with the location to that address.

Step 2

  1. Pub/Sub using Google cloud and Gmail API
  2. Crontab to query inbox and get new Garmin mails.

The last one looks easier, so I used it. Pub/Sub was kind of overkill for this simple project.

Step 3

Step 4

Follow the link and use that script to authorize the application and obtain an access token from Google (later we will modify this script).

Step 5

lastMessageId := getLastMessageId(srv)
base64Data := getLastMessageData(srv, lastMessageId)
markAsRead(srv, lastMessageId)

and modify scope for Gmail API in main function to :

gmail.GmailModifyScope

This will require to obtain an access token again.

Step 6

Give permissions: users.profile:write, users:write.

Install to your workspace and copy access token.

Step 7

this function will update Slack status for the next 3 hours as “Gone Cycling” with the corresponding emoji and set a user presence as “away”. Tune options as you like.

now add this script to Crontab and that's it 🤘

Dummy and easy integration, at least works for me.

Feel free to add as many features as you wish,

here is the full script, just copy & paste :

Written by

Software Engineer with 8 years of experience, specializing in Android development. Amateur cyclist and runner

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store