You need to be able to get to the serial console (not over wifi).
You can us Luban and the USB cable for this if thats easier (its what i use despite having ocotoprint)
I have two Macros i use in Luban to make this easy on me, but you can also manually type them in the serial console.
My start macro looks like this:
G28 ;Home
G1029 P11 ;Set auto-level mesh to 11x11
G1029 S ;Save auto-level mesh configuration
G1029 A ;Start auto-leveling
you run these commands, wait for it to finish (it will measure 144 points on the bed; this will take some time, go make a cup of tea)
once it has measured all the points you manually use the Z+ / Z- buttons in luban to get the head to pinch the calibration card as you normally do - same tension you normally do (personally i moved the head in 0.02 increments for the last part).
once you have the head where you like you run the following macro or manual commands:
G1029 S ;Save settings
G1029 D0 ;Confirm auto-leveling is on.
M420 V ;Verify auto-level results
G28 ;Home
and you are done, what you can’t do is have the bed heated during this, the G1029 command disables that, i put a PR in to change this longterm and it seems to have been accepted, for some heat makes no diff, for others it seems to.