I've tried variations of this using %1 instead of calling out the full variable, as I saw it being mentioned as a dynamic token to read the parameter, but that gives same result.
Subroutine parameters are specific to subroutines called with the "Execute a Subroutine" action (they use "hidden" parameter IDs so you can pass data as paramID=data key/value pairs).
KM Link's "Parameter" is actually a trigger value and can be accessed with the %TriggerValue% token.
If you are actually using this as a "proper" subroutine, called from other macros, and also want to use it "directly" from your SD then try checking for a parameter and if there is none use the trigger value instead:
But -- and this is a very big "but" -- Mum_facetime_ID is a global variable. Once you set it, it persists across macros. So unless you are deliberately %Delete%ing it somewhere it will always have a value when you check it. Look at "Scope" in the manual, and consider using a local variable instead.
Indeed, using a subroutine in this way is rather confusing (unless you are only showing us a cut-down version of what you are doing). You'd normally use a "local" parameter so the subroutine acts on the data specifically provided for that execution. It looks like what you actually want is a "Make a Facetime Call" macro that uses a number provided by %TriggerValue%.
If all you are doing is starting a FaceTime call and you've only got one number per button, you (probably) don't even need a macro. Try this on your SD button:
A macro will come into its own if you want to hide your other apps, set the volume, etc when you start the call. A subroutine is for when you want to make the same functionality available to different macros and have those macros benefit automatically from changes you make to the sub.
Right yes, my initial intention with the subroutine was just because I want to put the least amount of 'code' at streamdeck's end, like just an email or phone number (the contact's facetime ID), and have KM control the rest.
It's actually for my mum who has dementia, I'm making a whole system that plays films, music, excercise routines on her TV, and now places calls - entirely controlled via the stream deck.
Actually just now I expanded it so that it can either call facetime:// or tel: depending on the contact. I love KM!