Keyboard Maestro Version 7.1 introduced a streamlined way to Get and Set Keyboard Maestro Variables from AppleScript.
### Requires Keyboard Maestro 7.1+ ### --- Set AppleScript Variables to KM Variable Name and Value --- set kmVarName to "My KM Var Name" set kmVarValue to "TBD" -- default value of KM variable, will be updated tell application "Keyboard Maestro Engine" ### GET ### -- IF KM Variable does NOT exist, the AS Variable will be set to empty string -- set kmVarValue to getvariable kmVarName ### SET ### -- IF KM Variable does NOT exist, it will be created -- setvariable kmVarName to kmVarValue end tell
For more details, see Scripting article in the Manual Section.
--- Requires KM 7.0.2+ --- --- Set AppleScript Variables to KM Variable Name and Value --- set kmVarName to "My KM Var Name" set kmVarValue to "My data" tell application "Keyboard Maestro Engine" if variable kmVarName exists then --- SET KM Variable --- set value of variable kmVarName to kmVarValue else --- Create & Set KM Variable --- make new variable with properties {name:kmVarName, value:kmVarValue} end if end tell
--- Requires KM 7.0.2+ --- --- Set AppleScript Variables to KM Variable Name and Value --- set kmVarName to "My KM Var Name" set kmVarValue to "TBD" -- default value of KM variable, will be updated tell application "Keyboard Maestro Engine" if variable kmVarName exists then --- GET Existing KM Variable --- set kmVarValue to value of variable kmVarName else --- KM Variable NOT Found --- set kmVarValue to "" -- Optionally, throw an AppleScript error -- error "[ERROR] KM Variable '" & kmVarName & "' was NOT found." end if end tell