Create New Macro in Named Macro Group (Subroutine)

A subroutine (with an example of its use) to create a new macro in a named macro group:

Create New Macro in Named Macro Group Macros.kmmacros (6.1 KB)


Expand disclosure triangle to view JS source of subroutine
const
    kme = Application("Keyboard Maestro"),
    macroGroup = kme.macroGroups.byName(
        kmvar.local_Parent_Group_Name
    );

return macroGroup.exists()
    ? (() => {
        const newMacro = kme.Macro().make({
            macroGroup
        });

        return (
            newMacro.name = kmvar.local_New_Macro_Name,
            kme.select(newMacro),
            kme.activate(),
            JSON.stringify(
                {
                    groupName: macroGroup.name(),
                    macroName: newMacro.name(),
                    macroUUID: newMacro.id()
                }, null, 2
            )
        );
    })()
    : `Parent group not found: '${kmvar.local_Parent_Group_Name}'`;
2 Likes