Training Tracker only One-time migration Real personnel data — go slowly

Legacy Training Data Migration

Bringing Jackie's existing "MANDATORY Training – ALL STAFF (Cadets)" SharePoint list (CdtsTrainingMatrix) into Training Tracker — 81 people, 13 courses, ~896 training records, plus certificate attachments — without hand-typing any of it. This is a multi-package build: each package is a small, independently-testable Power Automate flow you import as a .zip, not one giant flow.

Why packages instead of one big flow: this touches real people's real training records. Each package below does one job, can be tested on its own, and nothing writes real data until you explicitly run the write-capable package with dry run off. If a package fails to import or misbehaves, the blast radius is just that one package.
Both packages now run on Jackie's side, not yours. Her list lives on her own personal SharePoint subsite, which she can share item-by-item but not at the site level — so your account can never get API access to it, no matter how the flow is built. The fix: Jackie imports and runs these flows herself, using her own SharePoint connection, which already has full native access to her own list. You just need to grant her Contribute access to TT Personnel, TT TrainingRecords, and TT Certificates_LTD on your own site (your call, no IT ticket needed) so her flow can write into them. She does exactly what you've already done five times: import the zip, click Test, done — no configuration on her end.

Where This Stands

PackageWhat it doesRuns onStatus
1 — Discover Source FieldsRead-only. Asks SharePoint for the real internal column names on CdtsTrainingMatrix, since the migration flow needs to query those columns directly and a CSV export only shows the display names. Writes the result as a plain text file into Jackie's own Documents library — no flow-run digging required.Jackie's Power AutomateReady to run — download below.
2 — Migrate Legacy TrainingThe real migration: backfills StaffType on 77 people, creates the 6 missing TT Personnel rows, creates/updates ~896 TT TrainingRecords rows, and routes attachments into TT Certificates_LTD. Has a dry-run mode — reports counts without writing anything until re-run with it off.Jackie's Power AutomateWaiting on Package 1's output, and on Jackie having Contribute access to the TT lists.

Already Decided (so nothing here is guessed)

Package 1 — Discover Source Fields

Read-only. Runs one SharePoint query (/_api/web/lists/getbytitle('CdtsTrainingMatrix')/fields) and drops the answer straight into Jackie's own Documents library as a plain text file — nothing to dig through in flow run history, and it doesn't touch the Training Tracker lists at all.

Download

TT_Discover_Source_Fields.zip — import package, ~3KB.

Steps (for Jackie)

  1. Send Jackie the zip above (email, Teams, however's easiest).
  2. She goes to Power Automate → My flows → Import → Import Package (Legacy) → uploads the zip.
  3. It lists one dependency: a SharePoint connection. It should already show her account — if it says "Select during import," she picks her own SharePoint login. Click Import.
  4. Once imported, open TT - Discover Source List Fields from My flows.
  5. Click Test (top right) → Manually → Test again to confirm. It takes no inputs, so it runs immediately.
  6. Go to her site's Documents library (the same landing page the training list lives on) and look for a new file called TT_Field_Names_Output.txt.
  7. She sends you that one file — that's it, no flow UI, no copying JSON.
  8. You drop it in the homepage upload box and let me know.
What happens next: once I have the real internal column names, Package 2 gets built against them specifically (not guessed), and this page gets updated with its download link and steps the same way.
← Back to the main Training Tracker guide