Flex is FYTT's performance assistant. Ask it in plain words to analyze your athletes' data, build programs, plans, blocks, reports and automations, or change what's already scheduled. This article covers opening Flex, what it can do, and how to review, keep or stop its work.
Getting started
Click Flex (1) in the top bar, or press ⌘. (Ctrl+. on Windows), to open the Flex panel beside the page you're on. It stays open as you move around the app.
A new conversation offers quick starts (2). A team that hasn't logged a session yet gets Set up my team and Import a program (see Team dashboard); after that, the four are Analyze training, Build a program, Design a plan and Import a program. Once you have past conversations, the five most recent appear under Recent instead.
Click a quick start to begin with a prompt already written, or type your request in the message box (3) and click Send (or press ⌘ + Enter).
The buttons at the top of the panel open your Conversation history (4), start a New conversation, and Close Flex.
Open Flex from a page
Many pages have a button that opens Flex on what you're looking at. It starts the message and attaches the record, so Flex knows what "this" means. Nothing is sent until you finish the message and send it.
Training Library: With Flex in the Add Program, Add Workout, Add Block, Add Progression and New Tag menus, and Apply with Flex in a tag's panel.
Plans and Automations: With Flex in the New plan and New Automation menus, and Design with Flex on a plan with nothing in it yet.
Plan chart: Reference week in Flex on a week's name and Reference program in Flex on a program bar. You can also ⌥-click (Alt-click) a week or a bar.
Reports: With Flex in the New report menu, which builds a report you can come back to.
Groups: Analyze with Flex on each row of the Groups list.
Metrics: Describe it to Flex at the top of the Add metric picker, which builds the metrics, assessments and surveys for how you test.
Calendar: the Flex button at the start of each week row (Adjust this week with Flex), and Adjust with Flex on a scheduled workout or block.
Programs: in the program builder, Build it with Flex on an empty program, Progress this week with Flex on a week, With Flex in a week's Insert progression menu, and Reference week in Flex, Reference day in Flex or Reference block in Flex. You can also ⌥-click (Alt-click) a week, day or block.
Blocks: Edit with Flex on a library block, Change with Flex on a block in a program day.
Progressions: Edit with Flex in a progression's header.
The weekly brief on the team dashboard also opens Flex with the question already asked.
Using @mentions
@mentions point Flex at specific athletes, groups, programs, blocks and metrics.
Type
@in your message, or click Mention an athlete or group.Pick the athlete, group or other record from the list.
Finish your request.
For example: "Review training for @Maya Chen from the past 4 weeks" or "Schedule this program for @Varsity starting January 15th".
The records Flex is working on sit as chips at the head of the message box. Click × on a chip to take it out of the conversation, or + this page to add the page you've moved to.
What Flex can do
Analyze athlete performance
Flex reads workouts, attendance, metrics, survey answers, notes and injuries for one athlete, a group or the whole team, and computes trends, rolling averages, load ratios (ACWR), z-scores and cohort comparisons. It also reads what a program or plan prescribes, week by week.
"What are @Ava Brooks's vertical jump trends over the past 90 days?"
"Are there any signs of overreaching for @Varsity based on recent training?"
"How many times is a squat variation programmed in this plan, week by week?"
Open a leaderboard and ask Flex who leads it or why an athlete is missing. Flex reads the board's date range, groups and recorded results. Inactive or Injured status does not remove an athlete from a leaderboard; its groups control who is ranked.
Flex can also build a leaderboard or change its metrics, groups, date ranges, rounding and order. Start from New Leaderboard → With Flex on the Leaderboards page, or describe the board in your conversation. Saved boards are visible to every athlete on the team and on TV; Flex asks before ranking body weight or body composition.
When an answer is a list, Flex puts it in a table under the reply. Long tables show the first rows, and Download CSV gets every row. Charts appear the same way, with Download for the PNG. Ask for an analysis "as a spreadsheet" and Flex saves what it worked out as a table under the reply too.
Build training programs
Flex builds multi-week programs with periodized structure and progressive loading, including prescriptions from a metric such as a percentage of 1RM. Ask for changes to a specific week, day, block or set and it leaves the rest alone.
"Build a 6-week in-season program for @Varsity. Dumbbells, bands and plyo boxes only. 3 days per week, sessions under 45 minutes."
"Make phase 2 of this program" or "Make a version of this program for the goalkeepers"
"Build next week from week 3, progressing the main lifts"
"Insert 30 Min BB Circuit O2 on day 3"
Flex also builds library progressions, the week-by-week run of one lift or block you insert into programs later: "a 4-week back squat progression for Mondays and Thursdays, 3×5 at 70% climbing to 80%, lighter week 4". It writes week 1, then builds the other weeks from it, and can change one week, add a day, limit the progression to a group, insert a saved progression into a program at a week, or save a program's progression to your library. With a program open, "a progression" means that program's weeks.
For a change that should hold for some athletes every time they train a program, Flex writes a modifier: "@Todd Miller doesn't deadlift; give him RDLs across this program", or "the Pitchers get DB bench instead of bench press". It puts the rule on the whole program, one progression, or one block, whichever your words reach, and quotes the rule back so you can check it. A change for one day's workout stays an adjustment (below). See Exercise modifiers & substitutions.
A program you @mention, link or name is read as a starting point and left unchanged unless you ask Flex to change that program itself. Name a workout or block from your Training Library and Flex copies it onto the days you ask for, exactly as it's saved, after what those days already hold. If the name doesn't match one, Flex asks which you meant instead of building its own. Flex also follows your team's house style: tell it "we always start with a warm-up, remember that" or "learn how we program from our programs".
Import a program from a file
Upload a program you already have and Flex builds it in FYTT. Choose From file in the Training Library's Add Program menu, pick Import a program in Flex, or attach the file to a message with Attach a file or by dropping it on the panel. You can also paste the text.
Accepted formats: Excel (.xlsx), CSV, PDF, and images (.png, .jpg).
Flex builds the whole program in one pass, matching exercises to your library and skipping anything that isn't training content. A spreadsheet whose tabs hold more than one program, such as phases or a version per group, becomes a draft per program: Flex asks once how the tabs fit together, builds each program in turn, then offers to put phases in a plan or to enroll each group in its version. A PDF or image that holds more than one program is built one program at a time: Flex says which one it built and offers to import the next. When the percentages come from a max your institution doesn't track yet (a 1RM, FTP, max heart rate), Flex asks which metrics to create, prescribes from them, and offers to record your athletes' values.
Adjust scheduled workouts
Flex scales training that's already on the calendar, for one athlete or a whole group, without touching the program it came from. It can also swap an exercise for one athlete on a scheduled workout.
"Reduce @Maya Chen's workouts next week by 10%"
"We play Thursday. Drop lower-body volume 30% on Wednesday and Thursday for @Varsity"
"Have @Priya Nair do goblet squats instead of back squats today"
With a scheduled block open, ask for a change “for everyone” to edit the shared session: swap an exercise, add sets or exercises, or rename the block. Flex previews who receives it and asks you to confirm. Athletes with their own copy of that block keep their copy; Flex names them so you can decide whether to adjust them separately. Logged work and past sessions are protected. A later change to the program day can rebuild the shared session.
Flex also changes the calendar itself. It moves sessions to another day or time, takes them off the calendar, and puts a library workout, or a copy of a session that's already scheduled, on the days you name for a group or one athlete.
"Move Thursday's lift to Friday"
"Push this week back a day for @Varsity"
"Put Upper Body A on Tuesday and Thursday at 3pm for @Bigs"
A session moves or comes off for everyone who has it, and Flex asks before it removes anything. Undo puts moved and removed sessions back and takes away the ones Flex added, unless an athlete has logged one or its day has passed. A session an athlete has already logged stays where it is. A session that came from a program goes back to the program's date if that program day is changed later.
Flex keeps adjustments conservative and avoids changes larger than 20% unless you ask for more.
Build workout blocks
Flex creates standalone blocks with exercises, sets and reps, such as a warm-up or an accessory circuit: "Build a dynamic warm-up block for lower-body days".
Ask for a whole session and Flex builds a library workout instead, one block per part, in session order: "A 60-minute leg day with a warm-up, squats, accessories and a cool-down". Afterwards it changes that workout in place: "add a cool-down", "change the squat to 5×5", "rename the warm-up to Activation", "remove the accessories". A workout on the calendar is still adjusted there (see Adjust scheduled workouts).
With a library block open, Edit with Flex also changes its settings: its name, description, block type, tags (ones your library already has) and which groups get it: "Mark this a warm-up, tag it Speed and only give it to the Bigs". A block in a program or on the calendar is changed from there, by the program's or the session's own Change with Flex.
Create training plans
Plans are long-term macrocycles that sequence several programs across phases. Give Flex the dates, phases and constraints, and it builds the plan and can fill in its programs.
"Create a 16-week in-season plan for @Varsity starting August 18th: 4 days a week for 3 weeks of preseason, then 2 days a week under 30 minutes, and a taper for playoffs in week 16. No training during Thanksgiving week."
Create automations
Flex builds automations: workflows that start from a trigger (a measurement coming in, a daily, weekly or monthly schedule, or an athlete joining the team), then take actions such as Start a program, Add to a group or Send a survey. They can branch on rules or on a Flex decision, and hand an instruction to Flex as a Flex action.
"Send the readiness survey every morning at 6 AM"
"When an athlete's readiness drops below 5, assign the recovery program"
Schedule programs
"Schedule this program for @Maya Chen starting next Monday" enrolls the athlete and puts the sessions on their calendar.
Groups, notes and test results
"Create a group called Rehab and add @Grace Lindqvist and @Isla Martin"
"Add a note on @Hannah Keller's profile: cleared for full contact as of today"
"@Ava Brooks jumped 21 inches today"
Share a sheet of test results, or type a result in the chat, and Flex records it. A value already recorded for that athlete on that date is replaced.
Build reports and charts
Flex builds and changes saved group reports and athlete reports: "Build a group report tracking squat, vertical and the 40 for @Varsity", "Add a bar graph of 1RM squat to this report". For a one-off picture, ask for a chart and it draws a line, bar, scatter, radar, pie or area chart you can download.
Set up what you measure
Flex defines the metrics, assessments and surveys your team measures. Definitions belong to your institution, so every team in it uses the same ones.
"Create a daily wellness survey with a 1-5 scale for sleep, soreness and readiness"
"Build our combine battery: vertical jump, broad jump, 10 yard and 40 yard"
"Rename this test and say it's measured from a standing start"
Flex reuses a metric your institution already has rather than splitting its history in two. It won't change a metric's unit or what it measures; it creates a new one, and the old one keeps its history. Removing a survey question keeps the answers already given. Sending a survey is an automation's job.
Flex deletes a survey when you ask ("Delete the old nutrition survey"), after you confirm under Flex has a question. The questions and every answer athletes gave go with it, and it can't be undone. A survey an automation sends stays until you take the Send survey action off that automation.
Review survey answers
"How has readiness been trending for @Varsity over the last four weeks?"
"Who should we pull back today?"
"Anyone who has entered the same wellness score every day for four weeks?"
For a group, Flex returns a row per athlete with their latest answer and average per question, names the athletes who answered nothing, and flags anyone whose answers never changed.
Build and clean up your exercise library
Flex reads your exercise library directly, so there's no need to export it. Start from Add Exercise → With Flex in the Training Library, or just ask:
"Build out my exercise library. We're D1 volleyball with a full rack, dumbbells and bands"
"Add the exercises from my programs to the library"
"Here's our exercise list" (with a spreadsheet attached)
"Write descriptions for every exercise that doesn't have one"
"Add these YouTube links to these exercises"
"Do any of our exercises repeat in the library?"
"Tag everything that's a squat variation as lower body"
"Merge the duplicates"
"Which programs use the trap bar deadlift?"
Flex adds exercises with a name, a description for athletes, and tags that follow the ones you already use. For more than a handful it shows you the list and asks before adding. It only stores a video link you gave it, and it fills in descriptions and links only where an exercise has none unless you ask it to rewrite. Exercises in the programs Flex builds are added to your library as well, so you can describe them and attach videos later. Ask where an exercise is used and Flex lists the programs that prescribe it, with the days and set counts, in a table under the reply.
It reports duplicates, untagged exercises, exercises with no description and the tags in use. It only groups names that differ by capitals, spacing or punctuation, so "DB Bench" and "Dumbbell Bench Press" are left for you to decide. When you ask, Flex folds duplicates into one entry, keeping their tags, description and video, or deletes the exercises you name. Both remove library entries for good, so Flex asks you to confirm first and they can't be undone. Programs and logged workouts keep their exercises either way. Flex doesn't rename exercises; do that in the exercise's editor.
Organize your tags
Flex reads the tags on your programs, blocks, workouts, progressions and exercises, including tags you've created and not applied yet.
"Build out my tags: we sort by phase and by quality"
"Tag all my in-season programs In-Season"
"Clean up my block tags"
"Delete the tags nobody uses"
It proposes tags with a description for each and asks before it creates more than a few, tags many items, folds two tags into one or deletes any. Flex only applies tags that exist: if you name a tag that isn't there, it offers the closest one or asks to create it. It tags the way your library already does, and doesn't move tags between your personal library and the institution; use Move… on the Tags tab for that. Each change can be undone from the reply.
Drafts and your library
Programs, plans, blocks, workouts, progressions and automations Flex creates start as drafts. A draft carries a Draft badge, in the Training Library and on its own page, with a note that it was created by Flex in this conversation. It can't be assigned or enrolled until you save it, but you can edit it freely.
Save to library puts it in your library, ready to assign and to enroll in plans. You can also ask: "Save this program to my library".
Discard draft deletes it after you confirm. The conversation keeps its history.
Flex also saves a copy of something that's already yours: open a scheduled workout, a program day or a block and ask "Save this to my library". The copy goes to your library as a workout or block; the original stays where it is.
While Flex works
Flex shows each step under your message as it runs, a card with Open for anything it built, and buttons such as View program: … under its reply. If it needs a decision, it asks under Flex has a question; pick an answer, or Neither — stop here.
Flex works on one task at a time per conversation. While it edits a program, plan or block, that page shows Flex is editing this program with its progress, and your edits there are held until it finishes.
To stop it, click Stop Flex on the page, or Stop beside the running step, then confirm with Stop Flex. Everything finished so far stays; only the current step is abandoned.
To take back what a reply changed, click the undo link under it, such as Undo creating “Phase 2”, and confirm. The confirmation names each record and warns you if it was edited since.
Conversation history and names
Click Conversation history to see every conversation, grouped by the day it started, with the records it worked on and its message count. The open one is tagged CURRENT. Click a row to open it, or Start new conversation.
Flex names each conversation for you. To rename one, click its name at the top of the panel, or the pencil on its row in the history, type the new name, and press Enter (Esc cancels). Save it blank to go back to Flex's name.
You can't delete or archive a Flex conversation. Every conversation stays in your history; start a new one when you want a clean slate.
Tips for effective prompts
Be specific: days per week, number of weeks, equipment, session length, the lifts to focus on.
@mention athletes and groups so Flex pulls the right data.
Iterate: Flex remembers the conversation, so start with a clear goal and refine.
Privacy & data access
Flex works within your institution: its data is never mixed with another institution's, and FYTT doesn't use your data to train or improve AI models. Click Privacy at the foot of a new conversation for the full statement.

