Keyboard Maestro has a variety of triggers. A trigger defines what event causes a macro to be executed, provided that the conditions set by the Macro Group it is in are met. Note that a macro may have multiple triggers.