Strava Dashboards with Zapier and Cumul.io
Tags: analytics, saas
Published: 2021-10-15 12:37:57

Recently one of our [Cumul.io](http://cumul.io/) Ambassadors shared a company Strava dashboard they built with Cumul.io and I had to build something similar for us. It's a nice way to keep motivated to go out for runs and great for those who are competitive when it comes to exercising (NOT me). And it's a fun way to use a data visualization tool like Cumul.io. So anyway, I followed the lead of Olivier de Lamotte who gave us the idea after sharing the one he built for his team at [Qualifio](https://qualifio.com/) and built our own [Cumul.io Team Strava Dashboard](https://app.cumul.io/s/cumulio-club-activities-on-strava-baxglzxfbgz91w3z)!

For this exercise, again as Olivier did, I used [Zapier](https://zapier.com/). I initially thought I might just use the [Strava API directly](https://developers.strava.com/). However I soon found out that the [activities endpoint](https://developers.strava.com/docs/reference/#api-Clubs-getClubActivitiesById) for club activities doesn't really provide a lot of data and misses some (imo) obvious ones, like the date of the activity. So instead of building around it myself, I went ahead with the Zapier workflow that is already available, which adds a column to a Google sheet whenever there is a new activity by a club member.

> Side note: Both [Cumul.io](http://cumul.io/) and [Zapier](https://zapier.com/) have free trials so if you're not a paying user you can still get this Strava dashboard up pretty easily!

Here's how it's set up:
1. Create a Zapier workflow
2. Add the dataset to Cumul.io
3. Let your creativity shine and create the most brutal athletes dashboard for your team

### Create a Zapier Workflow

I'm new to Zapier, and the simplest way I can explain how this works is that you create 'Zap's (or workflows) which you can turn on or off. And these workflows are simply: Trigger -> Action. I.e.: "When this happens, do that"

There are already a number of Strava based workflows available on Zapier. Just search for it and one of the first one that comes up will be the one I used for our dashboard, which is 'Add new Strava club activities as rows to Google Sheets':

![Create Zapier Strava Trigger](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/cj1k25in1jod5k498zus.png)
 
Once you select that, the workflow will appear in your 'Zaps' tab and it's pretty straight forward. First you should set up your trigger, for which I picked 'New or Updated Club Activity':
![Create Zapier Strava Trigger](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/6345r2sc2zipztbymhd6.png)

And then you will also have to select a Strava account to connect to. Next you'll be able to pick a Strava club that this account is a member of to get new activities from. Warning (from experience)! Be aware that if there is a member of the club that has a private Strava account, the owner of the account that sets up this trigger will also have to follow said member for their activities to be tracked!

Once you have set this up, you can set up the action. This is pretty simple and Zapier will walk you through selecting a Google Sheet to add new activities to. Here's an example of what mine looks like: 
![Create Zapier Action](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ci5xe08fg5h3l7hjji3b.png)

Finally, don't forget to turn this workflow (zap) ON!

Once you've set this up, you should be able to see new activities showing up in the Google Sheet you selected. This sheet will be what we connect to Cumul.io.

### Add the Dataset to Cumul.io

Now that we have a Google Sheet that lists activities by a club member on every row (and thanks to Zapier it's updated every time there is a new one), we just have to connect the dataset to Cumul.io and create a dashboard.

In your Cumul.io account head over to 'Datasets' and select 'New Dataset'. Here, simply pick Google Drive and select the Google Sheet you just created:

![Add Dataset to Cumul.io](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/rykg1t2w855qwyoz9omz.png)

### Create a Dashboard

Now this is quite simple. Just go ahead and add the dataset you created and let your creativity shine. Here's the dashboard I created for our team for inspiration. And a lot of that inspiration was taken from Olivier De Lamotte's Qualifio dashboard:

![Cumul.io Strava Dashboard](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/rc82qulewbkgu2hcgf42.png)
 
That's all! Let me know if you create your own. Would love to see them so please do share 🎈