Template

Workout log template

A spreadsheet for people who live in Excel or Google Sheets. Its columns are exactly what my importer reads, and the exercise names come from my catalog — fill it in and upload your history without a single question.

The xlsx has three sheets: an empty Log, an Example with two workouts and Exercises — the whole catalog by muscle group. You can upload the example csv to the bot right away to see how the import lands (and undo it right after).

Upload your filled-in template — I'll sort out the history.

  1. Save the Log sheet as CSV — how to do it in Excel and Google Sheets is below.
  2. In the bot open Settings → Import CSV and send the file as a document. In the iPhone app — Settings → Import CSV.
  3. I'll show what I read: workouts, sets, exercises. Tap Upload all and I log it. Until then nothing shows up in your diary.

Columns

DateThe workout day. YYYY-MM-DD works best, like 2026-10-14.
Workout NameThe workout name, like Upper or Day A. Two workouts on one day with different names stay two.
ExerciseThe exercise name. Take it from the Exercises sheet so I match it to the catalog exactly. Your own name works too.
SetThe set number: 1, 2, 3. A W (warm-up) gets skipped.
Weight (kg)Weight in kilograms. For pull-ups or push-ups without extra weight, leave it empty.
RepsHow many reps you did.
RPEHow hard it was, 6 to 10. Optional.
NotesA note for the exercise — I carry it over into the diary.

Four are required: date, exercise, weight and reps. The rest can stay empty. Don't rename the headers — that's how I recognise the columns. More on what I do with the file is on the CSV import page.

What a filled-in one looks like

DateWorkout NameExerciseSetWeight (kg)RepsRPENotes
2026-10-12Legs and benchBarbell Squat1608Last set was hard, depth was fine
2026-10-12Legs and benchBarbell Squat2805
2026-10-12Legs and benchBarbell Squat3805
2026-10-12Legs and benchBarbell Squat48058
2026-10-12Legs and benchBarbell Bench Press1608

Excel: save as CSV

  1. Open the Log sheet and fill it in — one row per set.
  2. File → Save As → file type CSV UTF-8 (Comma delimited). Excel saves only the open sheet — which is what you want.
  3. If Excel warns that some features will be lost, say yes: a CSV keeps only the values.

The date column is already formatted as YYYY-MM-DD, so dates go into the CSV unambiguously, however your computer is set up.

Google Sheets: import and download

I can't hand you a ready Google Sheet — the site has no Drive of its own. But the xlsx opens in Sheets as is:

  1. Create a blank spreadsheet, choose File → Import → Upload and drop in the workout-log.xlsx you downloaded.
  2. In the import dialog pick Replace spreadsheet — all three sheets and the exercise drop-down come along.
  3. Fill in Log. To upload, open that sheet and choose File → Download → Comma-separated values (.csv). Sheets downloads only the current sheet.

Even quicker: open the xlsx in Google Drive and choose Open with Google Sheets.

Why these columns

This isn't just another spreadsheet. The headers are the exact words my importer uses to recognise columns, so there's no "which column is the weight?". Weight (kg) tells me the unit: if you train in pounds, rename it to Weight (lb) and I'll convert to your diary's units.

The names on the third sheet are my catalog in English. A catalog name gets matched exactly: the exercise gets its images and technique notes and lands in the right muscle group. The set number and workout name keep two workouts on one day from merging into one.

You can keep logging in the spreadsheet — but in Telegram it's one line, 100 8, and I work out tonnage, records and your estimated max myself. How to keep a log that actually helps you grow is in the workout log guide.

Questions

FAQ

Why upload a CSV and not the xlsx itself?

The bot and the app read CSV — every spreadsheet and every tracker exports it, from Hevy to Strong. Saving a sheet as CSV takes two seconds; the steps are above. The xlsx is there for convenience: the exercise drop-down, the date format and an example on the next sheet.

I train in pounds. What do I do?

Rename the Weight (kg) header to Weight (lb). I read the unit from the header and convert the weights to your diary's units. Without a unit in the header I assume the weights are in the units from your settings.

What if my exercise isn't on the list?

Type your own name — the list suggests, it doesn't forbid. If you already have a similar exercise, I'll ask where to put it. If not, I'll create a new one under your name.

What happens to workouts that are already in my diary?

I won't double them: a workout with the same start time or the same exercises on the same day gets skipped. Exercise names I'm not sure about I ask you instead of guessing.

Can I undo an import?

Yes, for 30 days. Undo import removes exactly what that file added — the rest of your diary stays as it is.

Rather log as you train? In the bot a set is one line, no spreadsheet.