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

Browse all templates

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