Strava + Slack
Connect Strava and Slack to Automate Fitness Updates and Team Engagement
Bring your team's athletic activity into Slack automatically — no manual updates required.

Why integrate Strava and Slack?
Strava is the world's most popular fitness tracking platform for runners, cyclists, and athletes of all kinds. Slack is where modern teams actually talk to each other. For companies and communities that want to celebrate fitness milestones, run corporate wellness challenges, and keep teammates motivated, connecting the two is a natural move. Every PR, long run, or group ride gets the recognition it deserves, automatically, without anyone having to remember to post about it.
Automate & integrate Strava & Slack
Use case
Automatic Personal Record Announcements
When an athlete on your team logs a new personal record on Strava — fastest 5K, longest ride, or biggest elevation gain — tray.ai instantly posts a personalized congratulations message to a designated Slack channel. The message includes the athlete's name, activity type, distance, and the new record time, giving teammates a timely reason to react and cheer. No more hoping someone remembers to share their achievement.
Use case
Weekly Team Fitness Leaderboard Digest
Each Monday morning, tray.ai pulls the previous week's activity data from Strava for all connected team members and compiles a leaderboard summary — ranked by miles, elevation, or moving time — and posts it automatically to a Slack channel. Teams can see who topped the charts, who improved the most, and which activities were most popular across the group. This recurring digest keeps the fitness conversation alive throughout long-running corporate wellness challenges.
Use case
Real-Time Activity Feed for Fitness Enthusiast Channels
For companies or communities with dedicated fitness Slack channels, tray.ai can stream every completed Strava activity from opted-in members directly into the channel in real time. Each post includes activity type, distance, pace, and a link back to the full Strava activity, giving teammates enough context to comment and engage. A passive Slack channel becomes a living feed of athletic activity.
Use case
Fitness Challenge Milestone Notifications
When a team member hits a significant milestone in an ongoing fitness challenge — crossing 100 miles for the month, completing 30 consecutive days of activity, or reaching a cumulative elevation goal — tray.ai fires off a milestone alert to Slack. These alerts can be customized with tailored messages to make each milestone feel like a genuine celebration, not just an automated ping. Milestone notifications keep participants engaged and remind stragglers to get moving.
Use case
Segment Conquest and KOM/QOM Alerts
Strava's segment leaderboards are a big part of competitive athletic culture, and now your team can celebrate every new segment conquest or King/Queen of the Mountain achievement the moment it happens. tray.ai monitors connected athletes' Strava accounts for new segment achievements and posts instant alerts to a dedicated Slack channel, complete with the segment name, time, and ranking. Cycling-focused and running-focused company teams love this one.
Use case
Workout Summary Digest for Individual Slack DMs
Beyond team-wide channels, tray.ai can deliver personalized weekly workout summaries directly to each athlete's Slack DM — a private digest showing their total distance, time, elevation, and how they're trending against their personal goals. Personal stats stay out of shared channels, but athletes still get a useful weekly check-in. It can also include a nudge if someone has been inactive for a set number of days.
Use case
Slack Command to Query Team Strava Stats
Using tray.ai's workflow automation, teams can set up a custom Slack slash command that lets any team member instantly query current fitness challenge standings, individual stats, or recent club activity from Strava without leaving Slack. Type a command, get an instant response with live data pulled from the Strava API. Fitness data becomes accessible and conversational for the whole team.
Get started with Strava & Slack integration today
Strava & Slack Challenges
What challenges are there when working with Strava & Slack and how will using Tray.ai help?
Challenge
Strava API Rate Limits and Polling Frequency
The Strava API enforces rate limits on requests per 15-minute window and per day, which can be a real constraint when polling activity data for large teams or high-frequency real-time feeds. Exceed those limits and you get failed requests and missed activity notifications.
How Tray.ai Can Help:
tray.ai's workflow engine includes built-in rate limit handling, exponential backoff, and configurable polling intervals so API calls are spaced appropriately. For high-volume teams, tray.ai prioritizes webhook-based triggers — which Strava supports for individual athlete data — to minimize polling and stay well within API quotas.
Challenge
Managing OAuth Tokens for Multiple Strava Athletes
Strava uses OAuth 2.0 authentication with short-lived access tokens that need regular refreshing. When an integration covers dozens or hundreds of team members, managing individual OAuth tokens, refresh cycles, and revocations gets messy fast — especially with custom code that tends to break at the worst moments.
How Tray.ai Can Help:
tray.ai handles OAuth token storage, automatic refresh before expiry, and error handling for revoked tokens on a per-user basis. Wellness coordinators can onboard new athletes through a guided auth flow, and tray.ai maintains each individual's token lifecycle without any manual intervention.
Challenge
Formatting Diverse Activity Types into Readable Slack Messages
Strava supports a wide range of activity types — running, cycling, swimming, hiking, yoga, rowing, and more — each with different relevant metrics. A one-size-fits-all Slack message format produces awkward notifications, like showing pace for a swim or elevation for a treadmill run, which makes the whole thing feel sloppy.
How Tray.ai Can Help:
tray.ai's workflow logic supports conditional branching based on activity type, so teams can define custom Slack message templates for each sport. The platform's built-in data transformation tools make it straightforward to map Strava's activity schema to sport-appropriate Slack messages with the right metrics for each activity.
Challenge
Ensuring Employee Privacy and Opt-In Consent
Not every employee wants their workout data shared publicly in a company Slack channel, even in a wellness context. Pushing all connected Strava activities into a shared channel can feel invasive and may actually drive people away from fitness programs if they don't trust how their data is handled.
How Tray.ai Can Help:
tray.ai workflows can be designed with explicit opt-in logic, where only athletes who've consented and connected their Strava account are included in shared channel posts. Individual preferences — such as sharing only certain activity types or opting into DM-only summaries — can be stored in tray.ai's data storage layer and respected at every step of the workflow, giving employees real control over their fitness data.
Challenge
Keeping Slack Channels from Becoming Noisy
In active teams, a real-time Strava feed can quickly overwhelm a Slack channel with dozens of activity posts per day. People mute the channel, and then the whole point of the integration is lost. Balancing visibility with channel hygiene is a genuinely common problem.
How Tray.ai Can Help:
tray.ai gives workflow builders fine-grained control over posting logic, with rules like batching activities into a single daily digest, filtering posts to only notable achievements like PRs or milestones, or routing high-volume activity feeds to a dedicated thread rather than the main channel. Slack channels stay worth reading rather than worth muting.
Start using our pre-built Strava & Slack templates today
Start from scratch or use one of our pre-built Strava & Slack templates to quickly solve your most common use cases.
Strava & Slack Templates
Find pre-built Strava & Slack solutions for common use cases
Template
Post New Strava PR to Slack Channel
Automatically detects when a connected Strava athlete sets a new personal record and posts a formatted congratulations message to a specified Slack channel, including the athlete's name, activity type, distance, and the new record details.
Steps:
- Trigger: Strava webhook fires when a new activity is created or updated for a connected athlete
- Condition: tray.ai checks whether the activity contains a new personal record flag in the Strava API response
- Action: Format a rich Slack message with activity details and post to the designated #fitness or #wins channel
Connectors Used: Strava, Slack
Template
Weekly Strava Team Leaderboard to Slack
Runs on a weekly schedule, aggregates activity data for all team members from Strava over the past seven days, builds a ranked leaderboard by total distance or moving time, and posts the formatted digest to a Slack channel every Monday morning.
Steps:
- Trigger: Scheduled tray.ai workflow fires every Monday at a configured time
- Loop: Iterate through all connected Strava athlete IDs, fetch last 7 days of activities via Strava API, and aggregate totals
- Action: Sort athletes by chosen metric, format a leaderboard message with rankings and stats, and post to Slack
Connectors Used: Strava, Slack
Template
Stream Strava Club Activities to Slack in Real Time
Monitors a Strava club for new member activities and automatically posts each activity to a Slack channel as it's logged, providing a live feed of the team's athletic efforts throughout the day.
Steps:
- Trigger: tray.ai polls the Strava Club Activities API at a regular interval to detect new entries
- Filter: Check for duplicate posts using a stored list of already-processed activity IDs
- Action: Format and post each new activity (type, distance, pace, and Strava link) to the designated Slack channel
Connectors Used: Strava, Slack
Template
Strava Milestone Alert to Slack
Tracks cumulative activity metrics for each team member against configurable milestone thresholds — such as 50 miles, 100 miles, or 30 days of activity — and sends a celebratory Slack message when a milestone is crossed.
Steps:
- Trigger: Scheduled workflow runs daily or after each new activity is detected via Strava webhook
- Logic: Fetch cumulative stats for each athlete and compare against predefined milestone thresholds stored in tray.ai data storage
- Action: Post a milestone celebration message to Slack and update the milestone tracker to prevent duplicate notifications
Connectors Used: Strava, Slack
Template
Inactivity Nudge via Slack DM
Monitors connected Strava athletes for periods of inactivity and automatically sends a friendly Slack direct message to any athlete who hasn't logged an activity within a configurable number of days, helping sustain momentum in wellness programs.
Steps:
- Trigger: Scheduled workflow runs daily to check last activity date for each connected athlete
- Condition: If the most recent activity timestamp is older than the configured inactivity threshold (e.g., 5 days), flag the athlete
- Action: Send a personalized Slack DM to the flagged athlete with a motivational message and a link to their Strava profile
Connectors Used: Strava, Slack
Template
Slack Slash Command for Live Strava Stats
Enables a custom Slack slash command that team members can use to instantly request current challenge standings or their own personal activity summary, pulling live data from the Strava API and returning a formatted response in Slack.
Steps:
- Trigger: tray.ai webhook receives a Slack slash command payload from the team's Slack workspace
- Process: Parse the command arguments to determine whether the request is for personal stats or team leaderboard, then query the Strava API accordingly
- Action: Format the retrieved data into a clean Slack message and respond to the originating slash command with the live stats
Connectors Used: Strava, Slack