Programme Import Template (XLSX)

Programme Import Template (XLSX)

The Coach-Led Import pipeline accepts one file format only: the official Bliply Programme Import Template (.xlsx). This article explains exactly how to fill it in, what each column means, and the validation rules the uploader enforces.

Where to get the template

  1. Open Workouts → New Phase (Coach-led).
  2. Choose the destination programme in Step 1.
  3. In Step 2, click Download .xlsx. The file is named bliply-programme-template.xlsx.

Always download a fresh copy at the start of every new week — it guarantees the column headers exactly match what the parser expects.

Golden rules

Header rows (rows 1–4)

RowCellWhat to fill in
1A1Template title — leave as-is.
2A2Helper text — leave as-is.
3A3Phase Overview / Philosophy. Free text describing the phase intent, periodisation, test weeks, de-loads, etc. This is imported into the programme as the phase philosophy and powers AI enrichment context. Replace the example text with your own.
4B4Week number (1, 2, 3…). The label "Week:" stays in A4.

Day rows (rows 6–12) — column-by-column

Row 5 is the locked header row. Rows 6–12 are the seven training days.

Day & teaching

ColumnHeaderRequired?What to put here
ADayYesMon / Tuesday / Wed etc. The parser accepts full names and 3-letter abbreviations. Rows without a recognised day are ignored.
BTotal Time CheckAutoFormula cell. It sums teaching + working time across the day. Don't overwrite.
CStrength Teaching Time DurationNoWhole number of minutes spent on strength teaching/setup (e.g. 10).
DStrength TeachingNoFree text teaching cues for the strength block. Comma-separated items are auto-split into bullet points.

Strength slots 1, 2 and 3 (columns E–V)

Each slot has the same six columns. Repeat the pattern for slots 2 and 3, leaving any unused slot blank.

SuffixHeaderRequired?What to put here
NameStrength n NameYes (slot 1)The movement name — must match (or fuzzy-match) something in your component library, e.g. Back Squat, Strict Pull Up.
VariantStrength n VariantNoOptional variant qualifier, e.g. Tempo 3-1-1, Pause, Banded.
SetsStrength n SetsNoNumber of sets, e.g. 5.
RepsStrength n RepsNoReps per set. Free text so you can write 5, 3-3-3, or AMRAP.
DurationStrength n DurationNoTotal minutes for this slot (used by the Time Check formula).
NotesStrength n NotesNoLoading %, RPE, scoring guidance, scaling cues — anything coach-facing.

Superset Group (column W)

If two or more strength slots on the same day should be paired, give them a shared label here. Examples: A, Superset, Tri-set, Complex. The Parse & Fix step uses this hint and lets you confirm the grouping type before publishing. Leave blank for stand-alone movements.

Conditioning teaching & metadata (columns X–AE)

ColumnHeaderRequired?What to put here
XConditioning Teaching Time DurationNoMinutes for conditioning teaching/setup.
YConditioning TeachingNoFree text — comma-separated items become bullets.
ZConditioning FormatYes (if conditioning)The format label: AMRAP, EMOM, For Time, RFT, Chipper, Intervals, etc.
AAConditioning DurationYes (if conditioning)Total working minutes (number only). Used by the Time Check formula.
ABConditioning ScoringNoOne of: Time, Reps, Rounds & Reps, Calories, None.
ACConditioning RoundsNoWhole number of rounds where applicable (e.g. RFT or chipper rounds).
ADConditioning BenchmarkNoyes or no. Marking yes tells the system this is a benchmark workout (e.g. Fran, Grace) so it can fetch the canonical version verbatim.
AEConditioning DescriptionYes (if conditioning)The full WOD description, e.g. 21-15-9 Thrusters (42.5/30kg), Pull Ups. Movement names are fuzzy-matched against your component library in the Parse & Fix step.

Validation: what the uploader checks

Before any rows are parsed the uploader confirms the file is a .xlsx and that the header row contains every required column. If anything is missing, you'll see a message like:

"This file doesn't match the Bliply Programme Import Template. Missing required columns: Strength 1 Name, Conditioning Format. Please download the latest template and re-export your week without renaming or removing any columns."

The required headers are: Day, Strength 1 Name, Strength 1 Sets, Strength 1 Reps, Superset Group, Conditioning Format, Conditioning Duration, and Conditioning Description. All other columns are optional but recommended.

Common mistakes & fixes

IssueFix
"Missing required column" errorYou've renamed, deleted, or merged a column. Download a fresh template and copy your data over carefully — keep the row 5 headers exactly as supplied.
"No training days were detected"Column A has values the parser doesn't recognise as days. Use Mon–Sun (full or 3-letter).
Numeric cells showing #VALUE! in Total Time CheckYou've typed text (e.g. "20 min") into a numeric column. Replace with a plain number; put units in the Notes column instead.
Strength 2 / 3 didn't come throughMake sure the Name cell for that slot has a value. Empty Name = slot ignored, even if Sets/Reps are filled.
Movements not auto-grouped as a supersetAdd the same Superset Group label to every paired slot. You'll still confirm the grouping type (Superset / Tri-set / Complex / A-B-C) in the Parse & Fix step.
Benchmark workout looks rewrittenSet the Conditioning Benchmark column to yes so the canonical version is preserved verbatim during enrichment.

After upload

Once parsed, the pipeline takes you to Parse & Fix for movement matching and grouping confirmation, then through Enrich → Review → Publish. See the "AI Workout Generation" article for what each subsequent step does.