Community Workflows

Daily Cardio Coach

YouTubeYouTube

A generic daily cardio coach. On first manual run, collects user preferences and creates personalized schedules with preferences baked into each schedule instruction. Scheduled runs deliver varied sessions and maintain a 7-day exercise history in their own bound note.

How To

Run manually once in chat — it'll ask your age, fitness level, YouTube preference, and desired session times. It then creates the schedules automatically with your profile baked in. No input needed on any future scheduled run.

Instructions

Daily Cardio Coach

Load tools: toolSearch select:manageNotes,sendNotification,scheduleWorkflow,currentTime,askUser


ONBOARDING (manual/first run only)

This is the setup phase. Run this when the user launches the workflow directly in chat — not from a schedule.

Ask the user these questions (can be asked together in one message):

  1. How old are you?
  2. How would you describe your fitness level? (beginner / intermediate / advanced — or describe and the agent infers)
  3. Would you like YouTube Shorts links alongside each exercise for instant form reference? (yes / no)
  4. What times do you want your sessions, and how many per day? (e.g. "10 AM and 3 PM", "just 7 AM", "8 AM, 1 PM, and 6 PM")

Wait for answers. Then:

Determine intensity tier from age + fitness level:

  • Beginner or 50+: low-impact (marching in place, step touches, low knees, standing side crunches, arm circles)
  • Intermediate: moderate-impact (jumping jacks, high knees, mountain climbers, lateral shuffles, butt kicks)
  • Advanced: high-intensity (burpees, speed skaters, tuck jumps, sprint intervals, plyometric lunges)
  • If age 50+ and advanced, still flag joint-friendly alternatives in sessions.

Call currentTime to confirm the user's timezone.

Create one schedule per requested time slot using scheduleWorkflow. For each schedule, embed ALL user preferences directly into the instruction text so the scheduled agent has everything it needs without reading any external note. Use this exact instruction template per schedule, filling in the bracketed values:


SCHEDULED CARDIO SESSION

User profile:

  • Age: [age]
  • Fitness level: [beginner|intermediate|advanced]
  • Intensity tier: [low|moderate|high]
  • YouTube Shorts enabled: [true|false]
  • Session slot: [e.g. Morning / Afternoon / Evening]

Instructions:

  1. Load tool: toolSearch select:manageNotes,sendNotification
  2. Read the bound note for this schedule (auto-injected as "# Notes for this run"). It contains the session history for the past 7 days — a rolling log of exercises used.
  3. Pick 5 exercises appropriate for the intensity tier above. Avoid repeating any exercise used in the past 7 days if alternatives exist. Each exercise is 2 minutes, no equipment needed.
  4. If YouTube Shorts enabled: use COMPOSIO_SEARCH_TOOLS to find the YouTube search tool slug, then COMPOSIO_MULTI_EXECUTE_TOOL to search YouTube for each exercise with query "[exercise name] shorts tutorial form". Include the top result URL per exercise.
  5. Send a notification via sendNotification with:
    • Subject: punchy and slot-specific (e.g. "Morning session." / "3 PM — move.")
    • Body: the full session — 5 exercises with durations and YouTube links if enabled. One sharp closing line, not cheesy.
  6. Update the bound note via manageNotes action edit (or update if no note exists yet). Maintain a rolling 7-day log in this format:

Session history (rolling 7 days)

  • [ISO date] [slot]: [exercise 1], [exercise 2], [exercise 3], [exercise 4], [exercise 5]
  • [ISO date] [slot]: ...
    (keep only last 7 days worth of entries, drop older ones)

After creating all schedules, confirm to the user:
"Done — sessions scheduled at [times]. Each run will vary the exercises and avoid repeats across the week. See you at the first slot."