Guide
How to connect Wahoo to ChatGPT
Get your Wahoo rides into ChatGPT so you can ask about them, and have ChatGPT plan workouts that show up on your ELEMNT.
Samuel KraftUpdated
Summary
- Wahoo has no ChatGPT plugin of its own. You go through a training platform that connects to Wahoo, or upload ride files by hand.
- Shape works with every ChatGPT account, Free included.
- Through Shape, ChatGPT sees your whole Wahoo history, power and heart rate included, and can send structured workouts to your ELEMNT.
- Shape only gets workouts from Wahoo. Sleep and HRV have to come from another source, such as Garmin or Apple Health.
Which ChatGPT plans support this
All of them. Shape works with every ChatGPT account, Free included. You add it once from the Plugins page on chatgpt.com, and it follows your account into the ChatGPT apps on your phone and desktop. ChatGPT calls a server you add this way a plugin.
You no longer need to turn on Developer mode. On a Business, Enterprise or Education workspace an admin may need to allow custom servers first.
Ways to connect Wahoo to ChatGPT
Wahoo does not publish an MCP server, so you need something in between. The options differ in how much of your data ChatGPT gets, whether ChatGPT can reach it, and whether ChatGPT can put a workout on your bike computer.
| Option | Runs on | Wahoo sign-in | Works with ChatGPT | Writes workouts | Cost |
|---|---|---|---|---|---|
Training platform with a connector Shape (this site) | Hosted | Wahoo sign-in | Yes | Yes, to the ELEMNT | Subscription |
FIT file upload Share a ride's .fit file from the Wahoo app | No server | None | Yes, one file at a time | No | Free |
Training platform with a connector
You connect Wahoo to the platform once, through Wahoo’s own sign-in page. The platform pulls in your rides, and ChatGPT talks to the platform. Shape works this way. It imports your whole Wahoo history when you connect, with the power and heart rate from every ride, and sends the workouts ChatGPT plans back to your ELEMNT. It costs a subscription.
Another app Wahoo shares rides with
The Wahoo app can share finished rides with apps you authorize. If one of those apps has its own ChatGPT plugin, your rides reach ChatGPT that way. What ChatGPT can see then depends on that app, and workouts usually do not travel back to the ELEMNT.
FIT file upload
Open a ride in the Wahoo app, share its .fit file, and upload it in a ChatGPT chat. Nothing to sign up for. This is fine for looking at one ride. For questions about a whole month you have to upload every ride again.
Wahoo also has a developer API, but you need to register an app with Wahoo to use it, and we could not find a maintained open source MCP server built on it. ChatGPT also only connects to servers it can reach over the internet, so one running on your own computer would need a public tunnel.
Set it up with Shape
Five short steps, about five minutes. The ChatGPT part is the same for any hosted connector, so if you picked another one, use its URL in step 3.
- 1
Connect Wahoo to Shape
Create a Shape account, go to Settings, Connections, and choose Wahoo. Wahoo’s sign-in page opens. Approve it and your rides start importing, all the way back to the first one. Shape does not see your Wahoo password.
While you are in Settings, check your FTP under Performance. Wahoo ride files do not include it, and power targets and training load are worked out from it.
Create a Shape accountFree for 14 days. - 2
Start a custom MCP server in ChatGPT
On chatgpt.com, open Plugins in the sidebar, press the plus button next to the search field and choose Create custom MCP server. A New Plugin dialog opens with an upload box. Ignore the box and press Create MCP App at the bottom left. ChatGPT uses both names for the same thing.
If your account still shows a Developer mode switch under Settings, Security and login, turn it on first. Most accounts no longer have it and do not need it.
Open Plugins in the sidebar, press the plus button next to the search field and choose Create custom MCP server.
A New Plugin dialog opens with an upload box. Ignore the box and press Create MCP App at the bottom left. ChatGPT uses both names for the same thing.
- 3
Fill in the form
Name it Shape Calendar, paste this as the server URL, leave authentication on OAuth, tick the acknowledgement and press Create:
https://shapecalendar.com/mcpName it, paste https://shapecalendar.com/mcp as the server URL, leave authentication on OAuth, tick the acknowledgement and press Create.
- 4
Sign in and allow ChatGPT
Press Sign in with Shape Calendar. A Shape page opens. Check that it shows the right account and press Allow ChatGPT. ChatGPT confirms the plugin is installed. The default permission, Allow low-risk actions, lets ChatGPT read without asking and confirms before it changes your calendar.
Press Sign in with Shape Calendar.
A Shape page opens. Check the account and press Allow ChatGPT.
Shape Calendar is installed. The default permission, Allow low-risk actions, lets ChatGPT read without asking and confirms before it writes.
- 5
Start a new chat
Open a new chat and check that Shape Calendar is switched on in the tools menu under the message box. Then ask something like this.
- Look at my last four weeks of Wahoo rides. Is my fitness going up, and what should next week look like?
- Open Saturday's ride. How long was I in each power zone, and did my heart rate drift in the last hour?
- Plan a sweet spot session for Thursday: 3x15 minutes at 90% of FTP, 5 minutes easy between. Send it to my ELEMNT.
- I'm doing an FTP test next Wednesday. Make the days before it easy and put the test on the calendar.
Claude, Cursor and other clients
The same server works in any client that supports MCP over HTTP, and one Shape account can be connected to several at once. The Claude steps are in the Wahoo and Claude guide. Cursor, Raycast and clients without OAuth use the URL plus a token from Settings, API access. Config examples are on the Wahoo MCP server page.
What ChatGPT can read
Once connected through Shape, ChatGPT has access to the following. The full tool list is in the MCP docs.
- Rides and other workouts
- Every workout Wahoo has, back to your first ride, with sport, duration, distance, average power, average heart rate and training load. New rides arrive once the ELEMNT or the Wahoo app uploads them.
- Ride details
- For rides with a recording: power, heart rate, cadence, speed, elevation and GPS over the whole ride, lap splits, and time in each zone. Enough for ChatGPT to tell you whether you held your intervals.
- Training status
- Fitness, fatigue and form, your load ratio, and the planned load for the coming week, worked out from every source you have connected.
- Writing to the calendar
- ChatGPT can create, move, edit and delete workouts. Structured workouts go to your Wahoo account and show up on your ELEMNT, with targets set from your FTP.
Limitations
- Shape only gets workouts from Wahoo. Sleep, HRV and resting heart rate have to come from another source, such as Garmin or Apple Health.
- A ride reaches Shape once the ELEMNT or the Wahoo app has uploaded it. If the bike computer has not synced yet, neither has Shape.
- Wahoo ride files do not include your FTP, so Shape cannot pick it up from them. Set it in Shape under Settings, Performance, so power targets and training load come out right.
- ChatGPT can change workouts, not your ELEMNT's settings, routes or Wahoo's own training plans.
- Custom MCP servers are a beta feature on OpenAI’s side. Menus move, and workspace admins can switch them off.
Troubleshooting
- There is no Developer mode switch in settings
- You do not need one. OpenAI removed the switch in October 2026, and custom MCP servers are now added straight from the Plugins page. If your account still shows it under Settings, Security and login, turn it on. If the plus button on Plugins has no Create custom MCP server option, check that you are on chatgpt.com in a browser, not in the mobile app. On a Business, Enterprise or Education workspace an admin may have to allow custom servers first.
- The plugin is installed but ChatGPT does not use it
- Start a new chat and check that Shape Calendar is switched on in the tools menu under the message box. Naming it in the prompt helps: "use Shape to look at my last two weeks".
- ChatGPT asks for confirmation before every change
- That is the default permission, Allow low-risk actions. ChatGPT reads without asking and confirms before it writes to your calendar. You can change it on the plugin's page, but confirming writes is a reasonable default.
- ChatGPT says there are no Wahoo rides
- Right after you connect, Shape imports your history in the background. A long history takes a few minutes. For a ride you just finished, make sure the ELEMNT or the Wahoo app has uploaded it, then ask again.
- A planned workout is not on my ELEMNT
- Sync the ELEMNT with the Wahoo app. Planned workouts download when it syncs. If it still is not there, open the workout in Shape and check that it has steps, since a workout with only a title has nothing to follow.
- A ride shows up twice
- Two devices recorded it, usually the ELEMNT and a watch. Shape pairs them on import and keeps one. If a pair was missed, ask ChatGPT to pair the two activities, or do it in the calendar.
- The sign-in page does not open
- Your browser is blocking pop-ups, or you are signed out of Shape in that browser. Sign in to Shape first, then press Sign in with Shape Calendar again.
Questions



Let ChatGPT plan your riding. Shape sends it to your ELEMNT.
Connect Wahoo, connect ChatGPT, and every workout ChatGPT plans lands on your bike computer. Free for 14 days.


