The Scenario
Three months ago, your organization launched five mandatory compliance training lessons in SafetyCulture. Every employee needs to have passed each one — 80% or above. Your training manager needs to know who hasn't hit that mark before the quarterly compliance review. She asked for the data in Excel, and she needs it by Friday.
You know that pulling per-user, per-lesson scores from SafetyCulture into a workbook without the right approach means five separate CSV exports, deduplication logic, and a multi-sheet join that takes most of a day.
The bad version:
- Open SafetyCulture's training module, navigate to lesson 1, and export all attempt records.
- Open the CSV in Excel and try to deduplicate it to keep only the most recent attempt per employee.
- Repeat for the other four lessons, then attempt to merge five deduplicated sheets into one flat matrix using XLOOKUP.
- Discover the score column formats differ between lesson exports and now you need to normalize those too.
The training manager asked for the data by Friday. Today is Wednesday. You have three other things on fire.
The Easy Way: One Prompt in SheetXAI
SheetXAI is an AI agent inside your Excel workbook. It fetches SafetyCulture lesson attempt records, keeps only the latest per user-lesson pair, and writes the scored matrix directly to your workbook.
Open the SheetXAI sidebar and paste this:
Fetch all SafetyCulture lesson attempts and write user_name, lesson_title, score, pass_status, and attempt_date to my Excel sheet.
What You Get
- Every lesson attempt record from SafetyCulture written to your workbook.
- Columns for user_name, lesson_title, score, pass_status (passed/failed), and attempt_date.
- A flat list ready to filter to employees who scored below 80% — no cross-sheet joins required.
What If the Data Is Not Quite Ready
You only want the latest attempt per user-lesson pair
Fetch all SafetyCulture lesson attempts, keep only the latest attempt per user-lesson pair, and write user_name, lesson_title, latest_score, and pass_status to my Excel workbook — one row per user-lesson combination.
You only want employees who failed at least one lesson
Fetch SafetyCulture lesson attempts, deduplicate to the latest attempt per user-lesson, and write only the rows where pass_status is 'failed' — with user_name, lesson_title, and score — to my sheet.
You want a summary worksheet showing how many lessons each employee failed
Fetch latest SafetyCulture lesson attempt per user-lesson, write user_name, lesson_title, score, and pass_status to my sheet, then add a summary worksheet with one row per employee showing their name and the count of lessons they failed.
Full re-test candidate workbook in one shot
Fetch all SafetyCulture lesson attempts, keep only the latest attempt per user-lesson pair, filter to the five mandatory compliance lessons [lesson_id_1 through lesson_id_5], write user_name, lesson_title, latest_score, and pass_status to my workbook, highlight in red rows where pass_status is 'failed', and add a summary worksheet listing every employee who failed at least one lesson with a count of how many.
The training manager gets a re-test candidate workbook instead of five raw exports.
Try It
Get the 7-day free trial of SheetXAI and open a blank Excel workbook — then ask it to pull your SafetyCulture lesson attempt scores and flag who needs a re-test. When you're done, see how the same workflow handles exporting training course completions or check the SafetyCulture integration overview.
