Process the combined Fortress AVF PDF entirely in your browser. Outputs a zip with /AVF, /Limitations, /Cards, and a tracking spreadsheet ready for the Power Automate emailer.
Nothing is uploaded — no cadet information leaves this device.
Fortress → Reports and Forms → Annual Validation Form
Filter By: Everyone
Fortress → Reports and Forms → Cadet Medical Information Summary
Select All • Print Only Cadets Having Limitations: Yes
Fortress → Reports and Forms → Cadet Information Card
Select All → Preview → Export as PDF
Supplies every cadet's CIN and their Cadet365 address, neither of which is on the AVF. Without the CIN an AVF can only be matched to a limitations sheet by name, which fails whenever a cadet's preferred name differs from their official one.
Sets the expected number format. A card valid in another province is not flagged.
Health cards expiring on or before 31 August of that year are flagged.
All three exports are required.
The spreadsheet in your download is ready for Power Automate: it already contains a table named ToValidate, so there is no CSV to convert. Tell us your unit and we will build the flow with your details already in it — it emails each cadet their own forms from your unit's group inbox, then records who has been sent one.
Fills in the unit name, group inbox and the organization names in your signature.
Optional. BCC'd on every email so you keep a record. Your signature shows the unit's group inbox, since that is where replies need to go.
One contact per line. Filled in from your region — check it, since most are named officers who get posted. Only cadets with medical limitations see this.
Where the files live
The folder is the one holding the AVF, Limitations and Cards folders. Edit it if the link pointed somewhere else.
Pick your unit to start.
Keep the download zipped. Power Automate imports the .zip itself, and extracting it first is the most common reason the import fails. Download a blank one if you would rather fill everything in yourself.
1. Put the files on your staff team site
Unzip the download and upload the whole folder to your staff team in Teams or SharePoint — not your own OneDrive. Somewhere that will not be archived partway through the training year. Then select that folder, choose Copy link, and paste it into the form above: that one link tells us both the team site and the folder.
The folder you end up with:
/Shared Documents/General/Annual Validations
Leave the folders inside it exactly as they came.
2. Import the flow
In Power Automate, go to My flows → Import → Import Package (Legacy) and upload the zip. Do not unzip it first.
Then set the three connections it asks for:
Rename each one so you can tell them apart. Then click Import, at the top of the page.
3. Check the settings
Open the flow and choose Edit. The steps at the top are your settings, and the generator has filled them in already — unit name, inbox, signature, SharePoint site and folder. Read them over.
Everything here was set from what you filled in above, including the Regional Medical Liaison Officer for your region.
The wording of the email lives further down, in the step called Build the email. There is one copy, so an edit there applies to every cadet. Your parade night is already in the paragraph about returning uniforms, taken from your unit's record.
4. Point it at your spreadsheet
Two steps use Excel: List rows present in a table and Record that it was sent. Both arrive showing a placeholder instead of a file. In each one, use the dropdowns to pick your team site, the document library, then annual-validations.xlsx and the ToValidate table. Choosing the file clears the placeholder.
Then Save, go back to the flow's details page, and click Turn on at the top. A flow that has never been turned on cannot be run, and the Run button gives no hint that this is why.
5. Test before anything goes out
Run it with Create drafts to review first and your own address in the testing box. Nothing reaches a cadet — you get drafts addressed to yourself. When it looks right, run it again with the box empty.
If the import misbehaves