Log every Academy LMS course completion in a Google Sheets spreadsheet
Each time a student completes a course in Academy LMS, this workflow adds a row to a Google Sheets spreadsheet, giving you one running log of completions to sort, share or report from.
Academy LMS
Google Sheets2 steps Setup ~5 min Used on 1.2k sites Free to import

What this workflow does
Academy LMS tracks progress inside WordPress, but pulling a list of who finished which course, and when, usually means clicking through student records. A spreadsheet that fills itself is easier to hand to a manager, a client or an accreditation body. This workflow builds that log one completion at a time.
The Academy LMS trigger fires when a course is completed on your site. FlowMattic receives the completion details Academy LMS sends, such as the student and the course. The Google Sheets step then adds a new row to the spreadsheet you pick, with each column mapped to a piece of that data.
Nothing is filtered, so every completion of every course gets its own row. Older completions from before you turn the workflow on are not copied. Task History keeps a record of each run, which helps when a row looks wrong or is missing.
Compliance training records
An employer runs mandatory safety courses in Academy LMS and keeps the sheet as proof of who completed each one and on what date.
Certificate requests in one list
A course seller who issues certificates by hand works down the sheet, sending one to each student who has a completion row.
Monthly reporting for a client
An agency running a training site for a client shares the spreadsheet, so the client counts completions per course without a WordPress login.
How this workflow runs
What happens at each step once the workflow is on, and what you need before you import it.
Academy LMS Course CompletedStarts a run whenever a student completes a course in Academy LMS. The completion data the plugin sends becomes available to map in the Google Sheets step.
Google Sheets Add New RowAdds one row to the Google Sheets spreadsheet you choose for each completion. Connect your Google account, pick the sheet, and map the student and course details to its columns.
What you need
- FlowMatticCore
- Academy LMS AccountAccount
- Google Sheets AccountAccount
After importing, map your own data. To keep the template universal, not every step is pre-filled. Open each step in the builder and connect your accounts and fields (channels, lists, sheets, recipients) before you switch the workflow on.
Make it yours
Changes worth making after you import it.
- Complete a test course with a dummy student before mapping, so FlowMattic captures the real fields Academy LMS sends and you can see which ones belong in your columns.
- Only want one course logged? Add a Filter after the trigger that checks the course name or ID, if the trigger carries it, so other completions stop before the sheet.
- Add a date column and map the completion time from the trigger, if it is included, or the run time otherwise, so the sheet can be sorted by when each course was finished.
Questions about this workflow
Will Academy LMS completions from before import show up in the sheet?
No. The trigger only reacts to completions that happen after the workflow is turned on. Export older records from Academy LMS separately if you need them.
Does a student who finishes two courses get two rows?
Yes. Each course completion is its own trigger event, so the Google Sheets step adds a separate row for every course a student finishes.
Which Academy LMS details can I put in the Google Sheet?
Any field the Course Completed trigger sends. Run one test completion and look at the captured data in FlowMattic; those are the values you can map to columns.
Does the Google Sheet need headers before I map the Academy LMS data?
It helps. Add a header row first so FlowMattic shows named columns when you map the student and course values in the Add New Row step.
More Spreadsheets & Data workflows
Other ready-to-import templates from the same category.
Import this workflow into your WordPress site
Download the JSON, import it from the Workflows screen and connect your accounts. Every run stays on your server, with no per-task fees.
30-day money-back guarantee Unlimited workflows and runs Self-hosted



