Weather-aware morning training brief on your calendar

Every weekday at 6am, get a recommended workout based on your recent training and today's weather, automatically blocked on your calendar.

Agentic Task
StravaWeatherGoogle CalendarPersonal ProductivityDaily DigestsAI Reports
PromptCreate

Build me an agent workflow that runs every weekday at 6am in my local time zone and produces a weather-aware morning training brief, then books the recommended session on my Google Calendar.

Inputs I will configure on the workflow: my home latitude and longitude, my local time zone (e.g. America/New_York), my preferred training windows for the day (default: morning 6am-9am, midday 11am-2pm, evening 5pm-8pm), my Google Calendar ID (default: primary), and an optional notes field describing my current training block (e.g. 'base season', 'taper week').

Each run the agent should:

1. Call Strava's List Athlete Activities operation for the last 7 days (after = now - 7 days) and Get Athlete Stats for the authenticated athlete. Use these to estimate current training load: total time and distance over the last 7 days, count of high-intensity vs easy sessions, days since last rest day, and a rough trend vs my recent totals.

2. Call Weather's Get Weather Forecast operation with my configured latitude and longitude. Inspect today's data points across the three configured windows (morning, midday, evening) for temperature, precipitation probability, precipitation volume, and wind speed. Convert to imperial or metric to match my preference.

3. Synthesize a short brief that decides:

- Sport type (run, ride, swim, strength, cross-train) based on what sports appear in my recent Strava activities and how loaded each one is.

- Intensity (easy, steady, intervals, long, rest) based on accumulated load: high recent load = easy or rest; low load + good weather = key session; very high load or multiple hard days in a row = mandatory rest.

- Window (morning / midday / evening) based on which window has the best conditions: prefer dry, moderate temps, low wind. If every window is poor (heavy rain, dangerous heat or cold, high wind), recommend an indoor swap (treadmill, trainer, pool, strength).

4. Call Google Calendar's Create Event operation on my configured calendar with:

- Summary: a one-line title like 'Easy run, 45 min (morning, 58F clear)'. If it's a rest day, prefix the title with 'Rest day:' and a one-line reason (e.g. 'Rest day: 6 days of training in a row').

- Start and end times matching the chosen window (default 60 minutes; longer for 'long' intensity, shorter for 'easy'). Use RFC3339 with my time zone.

- Description: the full brief, including last-7-day totals, why this sport/intensity was chosen, the forecast for the chosen window, and a 3-5 bullet session structure (warmup, main set, cooldown).

5. Output is one calendar event per weekday. If load and weather together suggest a true rest day, still create a calendar event so the decision is visible, but title it as a rest day and skip the session structure. Never create more than one event per day.

Constraints: do not modify or delete existing events. Do not overwrite events that already exist in the chosen window; if the window is fully booked, fall back to the next-best window and note the change in the description. Keep the brief tight and skimmable, not a wall of text.

Additional information

What does this prompt do?
  • Looks at your Strava activities from the last 7 days and your running totals to gauge how hard you've been training.
  • Checks today's hourly forecast for your home location across morning, midday, and evening windows.
  • Picks the best outdoor window and recommends a sport and intensity that fits your current load, from easy run to intervals to long ride to rest day.
  • Books a Google Calendar event for the chosen window with the session plan in the description, or schedules a clearly labeled rest day if recovery or weather says so.
What do I need to use this?
  • A Strava account connected so we can read your recent activities and totals.
  • A Google Calendar login so we can create the event on your primary calendar.
  • Your home coordinates and preferred time zone so the forecast and event times line up with where you actually train.
How can I customize it?
  • Change the schedule to run earlier, later, or on weekends if your training week looks different.
  • Adjust the windows we consider (for example, only mornings if you never train after work) or the sports we rotate between.
  • Tune how aggressive the load logic is, so the brief leans more conservative during a build block or more ambitious during base season.

Frequently asked questions

Does this actually look at how tired I am?
It uses your last 7 days of activities plus your running totals from Strava as a proxy for accumulated load. If volume or intensity has been high, the brief leans toward an easy session or a rest day. It does not read HRV or sleep data.
What happens on a bad weather day?
If the forecast shows rain, extreme heat, cold, or high wind across every window, the brief will recommend an indoor swap or a rest day and label the calendar event accordingly instead of forcing you outside.
Will it overwrite an existing calendar event?
No. It only creates a new event in the recommended window. If that slot is already booked, you can either move the workout or let the brief pick a different window the next day.
Can I use a different calendar instead of my primary one?
Yes. You can point it at any Google Calendar you have edit access to, for example a dedicated Training calendar, when you set the workflow up.
Does it work for cyclists and swimmers too, not just runners?
Yes. The brief looks at all the sport types in your recent Strava activities and can recommend rides, swims, or cross training, with indoor alternatives when conditions do not cooperate.

Related templates

Kick off client projects when SOWs are signed in Adobe Sign

The moment a client SOW is signed in Adobe Acrobat Sign, spin up the Asana project, book the kickoff call, and DM the account owner with everything.

Adobe Acrobat Sign
Asana
Google Calendar
+1
Agentic Task
Nightly client meeting prep briefing from Addepar

Every weekday at 6pm, get a one-page portfolio briefing for tomorrow's client meetings emailed to you before you head home.

Addepar
Google Calendar
Gmail
Agentic Task
Publish today's meeting notes to Confluence every evening

Every weekday at 6pm, an agent turns today's meetings into structured Confluence pages under the current month's Meeting Notes folder.

Confluence
Google Calendar
Granola
Agentic Task
Recovery-aware focus block for busy, low-sleep days

When your sleep and heart rate variability are down and today is packed with meetings, we protect a focus block before your calendar fills up.

Google Health
Google Calendar
Agentic Task
Personal interviewer coaching notes every weekday in Slack

Every weekday at 8am, review yesterday's interviews and DM each interviewer a short coaching note with two wins and one thing to try next.

Metaview
Google Calendar
Slack
Agentic Task
Auto-schedule tomorrow's meeting prep in Motion

Every weekday at 5pm, turn tomorrow's external meetings into auto-scheduled Motion prep tasks with HubSpot context and three talking points.

Google Calendar
HubSpot
Motion
Agentic Task

Stop second-guessing today's workout.

Connect Strava, Weather, and Google Calendar once, and Geni books a smart session for you every morning before 6am.