← Back to API docs
TrainerDay ChatGPT by OpenAI

Connect TrainerDay to ChatGPT

Manage your training calendar and view your athlete data directly in ChatGPT.

Before you start: Do this on chatgpt.com in a browser, not in the mobile app. A free account works. Takes about two minutes. On a Business or Enterprise workspace, an admin may need to allow custom plugins first.

Setup

1

Log in to TrainerDay first

Sign in at trainerday.com in the browser you normally use. ChatGPT sends you back here to approve access, and being logged in already makes that one click instead of a detour.
2

Turn on developer mode

On chatgpt.com, open Settings → Security and login, find Developer mode and switch it on.

ChatGPT marks this elevated risk because it lets you add servers OpenAI has not reviewed. That warning is about unknown servers in general, not about TrainerDay specifically.

Leave Enforce CSP in developer mode alone. It does not affect TrainerDay.

3

Open Plugins and click +

Click Plugins in the left sidebar. On the Plugins page, click the + button to the right of the search box. The New Plugin dialog opens.
4

Fill in the New Plugin dialog

Five fields, in order:
Name
TrainerDay
Description
Optional. Leave it empty.
Connection
Server URL (not Tunnel)
URL
https://api.trainerday.com/mcp
Authentication
OAuth

Skip Advanced OAuth settings. ChatGPT finds everything it needs on its own, so you do not need a client ID or secret.

5

Accept the warning and click Create

Tick I understand and want to continue, then click Create.
6

Refresh the schema

Back on the Plugins page, click the next to TrainerDay, choose Manage plugin, and click Refresh schema.

This is the step everyone misses. ChatGPT often will not load the TrainerDay tools until you do it.

7

Approve access

At some point ChatGPT sends you to TrainerDay to approve access to your calendar and athlete data — either right after you click Create, or the first time you actually use TrainerDay in a chat. Choose the permissions you want and click Allow.
8

Switch TrainerDay on in a new chat

Start a new chat, click + in the message box and pick TrainerDay.

You do this in each new chat. A chat you opened before adding the plugin will not see it.

9

Ask it something

Try "What’s on my training calendar this week?", "How is my training load trending?" or "Add a 1-hour endurance ride to next Monday."

When ChatGPT uses the connection you will see a TrainerDay tag above its answer.

🎥 Setup video coming soon

If something goes wrong

TrainerDay is not in the + menu

Go to Plugins, click the next to TrainerDay, then Manage plugin → Refresh schema. Then start a new chat.

ChatGPT says it cannot see your data

You are probably in an older chat. Open a new one and switch TrainerDay on with the + button.

The approval page keeps sending you in circles

Log in at trainerday.com in the same browser first, then add the plugin again.

There is no Plugins item in the sidebar

Developer mode is off. Turn it on under Settings → Security and login.

Still stuck

Email hello@trainerday.com and tell us which step you are on.

What You Can Do

Once connected, ChatGPT can read and manage your TrainerDay data:

🚴 View your athlete profile and FTP
📅 Read your training calendar
➕ Add workouts to your calendar
✎ Update or reschedule events
🗑 Remove calendar events
📈 View training load (CTL, ATL, TSB, FitScore)
📊 Analyze training history and trends
⚡ One-call training summary (hours, FTP history, planned workouts)