Save an Existing Program into Your Library (Verbatim)
For trainers who already have programs they want to import.
If you've already written a program somewhere else (Google Doc, Word, Trainerize export, Notion, Apple Notes, a scribbled spreadsheet) and want it stored in BuildStability exactly as you wrote it, Repley can do that without rewriting anything.
The difference vs. AI plan generation:
• AI plan generation (the wizard, or "build me a plan" in chat). Repley designs a new plan from your brief. Best for starting from scratch. • Verbatim save (this flow). Repley stores the program you paste with no interpretation. Exercise names, sets, reps, rest, and your notes go through unchanged. Best for digitising programs you already have.
How to use it
Step 1. Open Repley.
Click the Repley button in the bottom-left of the sidebar, or open the chat from any page.
Step 2. Paste your program.
Two options, both work:
• Single message. Copy your whole program into one chat message. Best when the program is short (under ~3 sessions) or the structure is already clear. • One session per message. Paste Session 1, send. Repley acknowledges. Paste Session 2, send. Acknowledges. Paste Session 3, send. This is what most trainers do for multi-week programs. Repley keeps each section in context until you trigger the save.
Formatting perfection isn't required. Repley parses free-form text. Headers like "Session A", "Day 1", or "Week 1: Push Day" help it recognise the structure.
Step 3. Tell Repley to save it verbatim.
⚠️ This step is the difference between "saved exactly as written" and "Repley re-generated a fresh plan." The trigger phrase is what flips the switch. Use one of the four wordings below.
Use one of these wordings (pick any one):
• "Save these to my library verbatim. Use the exact exercises." • "Save this exactly as I wrote it." • "Store this program verbatim, don't interpret." • "Use the exact movements I gave you."
Without those words, Repley defaults to generating a plan based on what you pasted (rewriting it). With them, Repley uses the verbatim-save tool instead.
Name your program in the trigger phrase (recommended). The save tool needs a template name. You have two options:
• Tell Repley what to call it. Add the name straight into the trigger phrase: *"Save this to my library verbatim and call it 'Beginner Foundations 4-week'. Use the exact exercises."* This is the cleanest. The name you give is the name on the library card. • Let Repley infer one. If you don't pass a name, Repley picks something descriptive from the structure of your paste (e.g. *"3-Day Lower / Upper / Conditioning Block"*). The confirmation card shows you the chosen name, and you can rename the template in the library afterwards if it isn't right.
Where to put the trigger phrase. Both placements work:
• Before the paste, in the same message. Repley sees the instruction and the program together, runs the verbatim save in one shot. Best for short programs that fit in one message. • After the paste, as a follow-up message. Paste your sessions across one or more messages, then send the trigger phrase as the final message. Best for multi-session programs you want to ship one session at a time.
See the two example patterns below.
Step 4. Repley confirms with a "Saved verbatim" message.
You'll see a confirmation card with the saved template's name, week count, day count, and exercise count. There's a link to open it in your library.
What formats actually work
Repley reads pasted text, so anything that produces clean text when you copy works. In practice:
Works well
• Plain text from any source. Google Docs, Word, Apple Notes, Notion, ChatGPT exports, your own typed notes. • Markdown. Headings, bullets, bold, tables all parse fine. • Tab-separated rows pasted from Excel or Google Sheets. When you select cells and copy, they come through as tab-separated text. Repley reads this if exercise, sets, and reps are clearly in their own columns. • Comma-separated rows. `Goblet Squat, 3, 8, 60 sec rest` works. • Block-style layouts. "Block 1: Warmup" then exercises, "Block 2: Main", and so on. See the example below. • Free-form sessions with dashes and parentheses. Repley preserves them. "Banded clamshells (band above knees), slow tempo" survives intact.
Doesn't work
• PDFs that are scanned images. If a PDF is an image of text (not real text), copy-paste gives you nothing. OCR it first (Mac Preview lets you highlight and copy text out of an image PDF, or use an OCR tool) and paste the result. • Screenshots and images. Repley doesn't read images in chat. If you have a photo of a whiteboard, type it out or run it through an OCR app first. • File uploads. We don't accept files in chat right now. Files carry copyright risks (PDFs and Word docs often have metadata or unrelated content beyond the program itself), every upload would need virus scanning, and reliable parsing across PDF, Word, Excel, and whiteboard photos is its own engineering project. Workaround: upload your file to your own AI tool (ChatGPT, Claude, Gemini) and ask it to convert the program into pasteable text matching the formats in "What formats actually work" above. Paste the result into Repley and run the verbatim save. • Excel formulas. Pasting straight from Excel can give you the formula text instead of the computed values. Copy as values first, or paste into a text editor and back to clean it up.
Edge cases that might need a tweak
• Very long programs (8+ weeks). Works, but better to paste in chunks (e.g. 4 weeks per message). The save tool handles up to 12 weeks per template. If your program is longer, split into two templates and assign sequentially. • Programs with rich tables that have merged cells. The merge often disappears in copy-paste. If a row has fewer columns than expected, double-check it after the save. • Heavy use of emoji or icons. They survive but can look odd in the saved template. Strip them first if you prefer.
Example pastes that work well
The simpler your structure, the better the parse. Headers and consistent layouts help. Two patterns trainers use most:
Pattern A. Trigger phrase first, full program in one message
Paste exactly this shape (or your own program in the same shape) into one chat message:
Save this to my library verbatim and call it "Beginner Basics". Use the exact exercises.
Session 1: Basics Day
Block 1: Warmup (5 mins) Cat Cow x 8, slow tempo, breathe deeply Bird Dog 2 x 8 each side, hips stay square
Block 2: Main work (15 mins) Bodyweight Squat 3 x 10, pause at bottom Push-up 3 x 8, control the descent Glute Bridge 3 x 12, 2 sec hold at top Walking Lunge 2 x 8 each leg, knee tracks over middle toe
Block 3: Core finisher (5 mins) Plank 3 x 30 sec, hips level Dead Bug 2 x 6 each side, lower back flat to floor
Pattern B. Sessions across multiple messages, trigger phrase as the follow-up
Best for programs that span 3+ sessions. Paste one session per message, let Repley acknowledge each one, then send the save trigger as a final message. Trainers usually send each session in its own chat message, but pasting the whole sequence into one message also works.
Message 1:
Session 1: Lower Body Back Squat 4 x 5, RPE 8 Romanian Deadlift 3 x 8 Bulgarian Split Squat 3 x 10 each Standing Calf Raise 3 x 15 Hanging Knee Raise 3 x 12
Message 2:
Session 2: Upper Body Bench Press 4 x 5, RPE 8 Bent-Over Row 4 x 8 Overhead Press 3 x 6 Pull-up 3 x 6 Face Pull 3 x 15
Message 3:
Session 3: Conditioning Assault Bike 20 sec on, 40 sec off, 8 rounds Farmer Carry 4 x 40m, heavy Sled Push 5 x 20m Plank 3 x 45 sec
Message 4 (the trigger):
Save these three sessions to my library verbatim and call it "Strength + Conditioning Week 1". Use the exact exercises.
Another shape: table-style with columns
Same idea, just laid out as a table. Send the trigger phrase as a follow-up message after the paste.
Day 1: Lower Body
Exercise Sets Reps Rest Notes Back Squat 4 5 3 min Build to top set RPE 8 Romanian Deadlift 3 8 2 min Slow eccentric, 3 sec Bulgarian Split Squat 3 10 each 90 sec Pause at bottom Standing Calf Raise 3 15 60 sec Hanging Knee Raise 3 12 60 sec
What gets preserved
✓ Exercise names exactly as written. No canonical substitution. "Back Squat" stays "Back Squat", "Banded Clamshells" stays "Banded Clamshells". ✓ Sets and reps in any format. 8, 8-12, AMRAP, 30s, "to failure". ✓ Rest periods if you specified them. Omitted if not (no fabricated defaults). ✓ Your coaching notes verbatim. Tempo cues, RPE targets, form notes, "increase by 2.5kg each session". ✓ Day names. "Session A", "Day 1", "Lower Body", whatever you wrote.
What you can do afterwards
After the save you'll see a "Saved verbatim" confirmation with a link to your library. From there you can:
• Assign it to a client. • Duplicate it for a similar client. • Edit individual rows in the Template Builder. • Add more days via Repley using "Suggest 4-5 exercises for Day 4".
One thing it doesn't do
Verbatim save creates a fresh template each time. It does not append to an existing template. If you want to add a new day to a previously-saved program, save the new day as its own template, or edit the existing template in the Template Builder.
When to use this vs. the AI plan generator
The flows are complementary. Use whichever matches what you need:
• You already have a program written and want it stored exactly. Verbatim save (this flow). • You want Repley to design a plan from scratch given a brief. AI plan generation. *"Build me a 4-day push/pull for Sarah."* • You want Repley to suggest exercises for a specific empty day in your existing template. Open Repley from the Template Builder. *"Suggest 4-5 more exercises for Day 3."* • You want to take an existing program and have AI progress it forward. AI plan generation, paste the previous program as context.
Troubleshooting
"Repley generated a new plan instead of saving mine verbatim."
The most common issue. You likely didn't use one of the trigger phrases. Repley defaults to generating when the intent isn't explicit. Send a follow-up message: *"Save the program I just pasted to my library verbatim. Use the exact exercises."* The word "verbatim" is the strongest signal.
"I pasted but nothing happened. Repley just kept asking for more sessions."
Repley accumulates pastes across multiple messages and waits for you to say "save them" before it acts. After your last paste, send a follow-up message with the trigger phrase. Until that arrives, Repley is just acknowledging receipt.
"The save worked but some exercises are missing or mangled."
Likely a parse failure on a section that didn't have clear exercise structure. Split your paste into smaller chunks (one block or session per message). Repley parses each message individually before stitching them together, so smaller messages produce cleaner parses.
"My sets and reps came through wrong (e.g. '3' became '8')."
The paste's column alignment was probably ambiguous. Use a consistent format like `Exercise 3 x 8` or `Exercise: 3 sets of 8` rather than table layouts where columns can drift. Or after the save, edit the affected rows in the Template Builder. Your notes column will tell you what the original sets and reps were if you included them.
"I pasted a PDF and nothing happened."
The PDF was probably an image-based PDF (scanned). Copy-paste from those gives empty text. OCR it first (Mac Preview can highlight text in image-based PDFs and copy it as text), or retype the program manually.
"Repley said 'Saved verbatim' but my library shows nothing new."
Refresh the library page. If it's still missing, check the trainer name dropdown at the top, you may be viewing a different business than the one Repley saved to. Also check the search and filter, a recent save shows at the top of the unfiltered list.
"The saved exercise names are slightly different from what I pasted."
Shouldn't happen. Verbatim save preserves names character-for-character. If you see "Back Squat" become "Barbell Squat", that's the AI generator running, not verbatim save. Double-check that the trigger phrase was used.
"Repley asked me what to call the program before saving."
The save tool needs a template name. Reply with a name and Repley will save under that name. Usually Repley infers a name from your paste structure, but if the paste is unusually loose or has no session headers it may ask you to choose one. To skip the question next time, include the name in the trigger phrase: *"Save this verbatim and call it 'Sunday Sled Session'."*
"I want help, or I want to talk to someone."
Email support@buildstability.com with the trainer name and the text you pasted. We can help diagnose and, if needed, build the template manually from your paste and load it for you.
Related help
• Writing a Good Prompt for AI Plan Generation. For when you DO want Repley to design a plan. • Generate Workout Plans Directly in Chat. The AI-generated path. • Setting up Stripe Connect. For trainers migrating from another platform (set up billing alongside your library).