Browse the docs

Keyboard Maestro actions

Every Keyboard Maestro action and what it becomes.

Every Keyboard Maestro action the importer knows, with the Switchboard step it becomes. Search for the Keyboard Maestro name and the answer comes up here and on the step's own page. Notes are what the importer tells you when a conversion is close but not exact.

Applications #

Keyboard Maestro actionSwitchboardNotes
Activate a Specific ApplicationActivate app
Activate Last ApplicationApp commands
Activate Next ApplicationApp commands
Activate Application SwitcherApp or window switcherThe Application Switcher's look (icon grid, cover flow, colours) isn't carried over: Switchboard shows a list to pick an app from
Activate Application LauncherApp or window switcherThe Application Launcher's look isn't carried over: Switchboard shows a list of installed apps to launch
Apply Modifiers to a Specific ApplicationPress or hold modifiersKeyboard Maestro applied these modifiers to events sent to the application; Switchboard holds them down until a "release modifiers" step (or a minute passes)
Quit a Specific ApplicationQuit app
Force Quit a Specific ApplicationQuit app
Quit All ApplicationsQuit appQuit All Applications quits every regular app except Finder and Switchboard; Keyboard Maestro's exceptions aren't carried over
Quit Other ApplicationsApp commands
Hide Front ApplicationApp commands
Hide Other ApplicationsApp commands
Hide All ApplicationsApp commands
Hide a Specific ApplicationHide app
Show All ApplicationsApp commands
Show a Specific ApplicationApp commands
Show Applications PaletteApp or window switcherThe Applications Palette is Switchboard's app switcher list
Hide Applications PaletteNothing to run (see the note) or built from the action's settingsHide Applications Palette dropped: Switchboard's app list closes itself after a choice
Toggle Applications PaletteApp or window switcherThe Applications Palette is Switchboard's app switcher list

Clipboard & named clipboards #

Keyboard Maestro actionSwitchboardNotes
Paste by NameClipboardPaste by Name becomes a list of the recent clipboards (history), and the pick is pasted
Set Clipboard to TextClipboard
Set Named Clipboard to TextClipboard
Set Clipboard to Past ClipboardClipboard
Set Clipboard to Named ClipboardClipboard
Save Clipboard to Named ClipboardClipboard
Delete Past ClipboardClipboard
Copy Clipboard to ClipboardClipboard
CutPress keys, Wait
CopyPress keys, WaitCopy presses Command-C and waits a moment instead of watching the clipboard change
PastePress keys
Copy named clipboardClipboard
Cut named clipboardClipboard
Paste named clipboardClipboard
Activate Clipboard History SwitcherClipboardThe history switcher is a list of recent clipboards; the pick is pasted
Activate Clipboard Copy SwitcherClipboard
Activate Clipboard Cut SwitcherClipboard
Activate Clipboard Paste SwitcherClipboard
Activate Named Clipboard SwitcherClipboardThe clipboard switcher becomes a list of named clipboards; the pick is put on the clipboard (Keyboard Maestro switches which clipboard later copies use, which Switchboard doesn't)
Set Clipboard to ImageClipboard
Set Clipboard to File ReferenceClipboard
Set Find PasteboardClipboard
Remove Clipboard FlavorsClipboard
Display Clipboard / Named ClipboardClipboard, Show messageDisplay Clipboard shows the clipboard's text as a message on screen (a picture or styled text shows as its plain text)

Control flow #

Keyboard Maestro actionSwitchboardNotes
If Then ElseIf
Switch / CaseNothing to run (see the note) or built from the action's settingsSwitch/Case became nested if steps
Try / CatchGroupTry/Catch became a group whose failure runs the catch steps
ThrowThrow error
GroupGroup
RepeatRepeat
WhileRepeat
UntilRepeat
For EachRepeatNo collection was chosen in Keyboard Maestro for the For Each loop. Pick what to go through; until then it runs for nothing
For Each over LinesInRepeatNo collection was chosen in Keyboard Maestro for the For Each loop. Pick what to go through; until then it runs for nothing
For Each over SubstringsInRepeatNo collection was chosen in Keyboard Maestro for the For Each loop. Pick what to go through; until then it runs for nothing
For Each over FilesRepeatNo collection was chosen in Keyboard Maestro for the For Each loop. Pick what to go through; until then it runs for nothing
For Each over ApplicationsRepeatNo collection was chosen in Keyboard Maestro for the For Each loop. Pick what to go through; until then it runs for nothing
For Each over VariablesRepeatNo collection was chosen in Keyboard Maestro for the For Each loop. Pick what to go through; until then it runs for nothing
For Each over DictionariesRepeatNo collection was chosen in Keyboard Maestro for the For Each loop. Pick what to go through; until then it runs for nothing
For Each over DictionaryKeysRepeatNo collection was chosen in Keyboard Maestro for the For Each loop. Pick what to go through; until then it runs for nothing
For Each over FinderSelectionRepeatNo collection was chosen in Keyboard Maestro for the For Each loop. Pick what to go through; until then it runs for nothing
For Each over FoundImagesRepeatNo collection was chosen in Keyboard Maestro for the For Each loop. Pick what to go through; until then it runs for nothing
For Each over JSONRepeatNo collection was chosen in Keyboard Maestro for the For Each loop. Pick what to go through; until then it runs for nothing
For Each over VolumesRepeatNo collection was chosen in Keyboard Maestro for the For Each loop. Pick what to go through; until then it runs for nothing
For Each over PastClipboardsRepeatNo collection was chosen in Keyboard Maestro for the For Each loop. Pick what to go through; until then it runs for nothing
For Each over RangeRepeatNo collection was chosen in Keyboard Maestro for the For Each loop. Pick what to go through; until then it runs for nothing
Cancel This MacroStop macroCancel stops this macro; a macro that called it carries on
Cancel Just This MacroStop macroCancel stops this macro; a macro that called it carries on
Cancel All MacrosStop macroCancel All Macros only stops this macro in Switchboard
Cancel All Other MacrosCancel other macros
Cancel a Specific MacroCancel other macrosThe macro to cancel (00000000-0000-0000-0000-000000000000) isn't in this import; the step fails until a macro with that id exists
Break From LoopBreak out of repeat
Continue LoopNext repeat
Retry This LoopRetry this loop pass
Return Result / from SubroutineReturn a value
Pause for secondsWait
Pause for hundredthsWait
Pause for minutesWait
Pause for hoursWait
Pause UntilRepeat, WaitPause Until became a loop that checks every quarter second
Pause Until ChangeWait for a changePause Until Change waits up to an hour
AssertIf, Stop macroAssert became: if the conditions don't hold, cancel the macro
CommentNothing to run (see the note) or built from the action's settingsComment dropped
LogLog message
Set Action DelayNothing to run (see the note) or built from the action's settingsAction delay setting dropped: Switchboard waits for each target instead (rule 5)
Semaphore LockLock or unlock
Semaphore UnlockLock or unlock
Semaphore ResetLock or unlock

Debugging #

Keyboard Maestro actionSwitchboardNotes
Debugger: StartDebugger actionDebugger action Start pauses a debugged run before the next step; in a normal run it is a note
Debugger: ToggleDebugger actionDebugger action Toggle pauses a debugged run before the next step; in a normal run it is a note
Debugger: FinishDebugger actionDebugger action Finish has no Switchboard counterpart; it leaves a note in the trace
Debugger: BreakpointThisDebugger actionDebugger action BreakpointThis pauses a debugged run before the next step; in a normal run it is a note
Debugger: BreakpointEveryDebugger actionDebugger action BreakpointEvery has no Switchboard counterpart; it leaves a note in the trace
Debugger: BreakpointOthersDebugger actionDebugger action BreakpointOthers has no Switchboard counterpart; it leaves a note in the trace
Debugger: ContinueThisDebugger actionDebugger action ContinueThis has no Switchboard counterpart; it leaves a note in the trace
Debugger: ContinueEveryDebugger actionDebugger action ContinueEvery has no Switchboard counterpart; it leaves a note in the trace
Debugger: NewMacrosPausedDebugger actionDebugger action NewMacrosPaused has no Switchboard counterpart; it leaves a note in the trace
Debugger: NewMacrosRunDebugger actionDebugger action NewMacrosRun has no Switchboard counterpart; it leaves a note in the trace
Debugger: StepIntoOthersDebugger actionDebugger action StepIntoOthers pauses a debugged run before the next step; in a normal run it is a note
Debugger: StepOutOthersDebugger actionDebugger action StepOutOthers pauses a debugged run before the next step; in a normal run it is a note
Debugger: StepOverOthersDebugger actionDebugger action StepOverOthers pauses a debugged run before the next step; in a normal run it is a note

Files #

Keyboard Maestro actionSwitchboardNotes
Reveal a FileFile operation
Create Unique FileFile operation
Move a FileRun shell script
Rename a FileFile operation
Move or Rename a FileFile operation
Copy a FileRun shell script
Duplicate a FileFile operation
Trash a FileFile operation
Delete a FileRun shell scriptDelete moves the item to the Trash through Finder
Recursively Delete a FileFile operation
New FolderRun shell scriptNew Folder runs mkdir -p
Read a File into VariableRun shell script
Read a File into Named ClipboardWork with a picture
Read a File into System ClipboardWork with a picture
Write to a FileRun shell script
Append Text to a FileRun shell script
Get File Attribute: FileTypeGet or set a file attributeFile Type reads File, Folder, Symbolic Link or Alias
Get File Attribute: SizeGet or set a file attribute
Get File Attribute: CreationDateGet or set a file attributeDates are read as yyyy-MM-dd HH:mm:ss text
Get File Attribute: ModificationDateGet or set a file attributeDates are read as yyyy-MM-dd HH:mm:ss text
Get File Attribute: AddedDateGet or set a file attributeDates are read as yyyy-MM-dd HH:mm:ss text
Get File Attribute: LastUsedDateGet or set a file attributeDates are read as yyyy-MM-dd HH:mm:ss text
Get File Attribute: DownloadedDateGet or set a file attributeDates are read as yyyy-MM-dd HH:mm:ss text
Get File Attribute: WhereFromGet or set a file attributeWhereFrom is one item per line
Get File Attribute: OwnerNameGet or set a file attribute
Get File Attribute: OwnerIDGet or set a file attribute
Get File Attribute: GroupNameGet or set a file attribute
Get File Attribute: GroupIDGet or set a file attribute
Get File Attribute: POSIXPermissionsGet or set a file attribute
Get File Attribute: ExtensionHiddenGet or set a file attribute
Get File Attribute: InvisibleGet or set a file attribute
Get File Attribute: HFSCreatorCodeGet or set a file attribute
Get File Attribute: HFSTypeCodeGet or set a file attribute
Get File Attribute: ContentTypeGet or set a file attribute
Get File Attribute: ContentKindGet or set a file attribute
Get File Attribute: TagsGet or set a file attributeTags is one item per line
Get File Attribute: CommentGet or set a file attribute
Get File Attribute: ParentPathGet or set a file attribute
Get File Attribute: NameGet or set a file attribute
Get File Attribute: BaseNameGet or set a file attribute
Get File Attribute: ExtensionGet or set a file attribute
Get File Attribute: DisplayNameGet or set a file attribute
Set File Attribute: CreationDateGet or set a file attribute
Set File Attribute: ModificationDateGet or set a file attribute
Set File Attribute: GroupNameGet or set a file attribute
Set File Attribute: GroupIDGet or set a file attribute
Set File Attribute: POSIXPermissionsGet or set a file attribute
Set File Attribute: ExtensionHiddenGet or set a file attribute
Set File Attribute: InvisibleGet or set a file attribute
Set File Attribute: HFSCreatorCodeGet or set a file attribute
Set File Attribute: HFSTypeCodeGet or set a file attribute
Set File Attribute: TagsGet or set a file attribute
Set File Attribute: TagsAddGet or set a file attribute
Set File Attribute: TagsToggleGet or set a file attribute
Set File Attribute: TagsRemoveGet or set a file attribute
Set File Attribute: CommentGet or set a file attribute
Split PathSplit pathSplit Path sets shared.x to the path, and shared.xDirectory, shared.xName, shared.xBaseName and shared.xExtension
Set File IconSet file icon
Open a File, Folder or ApplicationOpen file or folder
Open the Finder SelectionOpen Finder selection
Open File (legacy)Open file or folder

Images #

Keyboard Maestro actionSwitchboardNotes
Screen CaptureWork with a picture
Find Image on ScreenWork with a pictureThe picture to look for isn't in the macro. Capture it again The picture's fuzz of 1 became a match threshold of 98% The result is in the foundImage variable (left, top, width, height, score)
OCR Image / ScreenWork with a picture, Clipboard
Flip Image HorizontallyWork with a picture
Flip Image VerticallyWork with a picture
Rotate Image 180Work with a picture
Rotate Image ClockwiseWork with a picture
Rotate Image Counter-clockwiseWork with a picture
Rotate Image by AngleWork with a picture
Resize ImageWork with a picture
Resize Image to FitWork with a picture
Resize CanvasWork with a picture
Add or Remove MarginsWork with a pictureAdd Margins: Left and Top are the left and top margins, Width and Height the right and bottom ones
Crop ImageWork with a picture
Set Image DPIWork with a picture
Composite onto ImageWork with a picture
Draw Line onto ImageWork with a picture
Draw Oval onto ImageWork with a picture
Draw Rectangle onto ImageWork with a picture
Draw RoundedRectangle onto ImageWork with a picture
Draw Text onto ImageWork with a pictureText is drawn in the fill colour
Trim ImageWork with a picture
Create New ImageWork with a picture
Get Image SizeWork with a picture
Display ImageWork with a pictureDisplay Image opens the picture in your default image viewer (Preview) instead of Keyboard Maestro's floating window

Interface control #

Keyboard Maestro actionSwitchboardNotes
Select a Menu ItemChoose menu itemNo menu item was chosen in Keyboard Maestro. Fill in the menu path to select
Show a Menu ItemChoose menu itemNo menu item was chosen in Keyboard Maestro. Fill in the menu path to select
Select Menu by NameChoose menu item by name
Press a ButtonPress button by name
Press button action AXShowMenuPress button by name
Press button action AXDecrementPress button by name
Press button action AXIncrementPress button by name
Press button action AXCancelPress button by name
Get Touch Bar SelectionSet variableNo Mac has a Touch Bar any more, so there is never a Touch Bar selection: the variable is set to empty

Keyboard & Mouse #

Keyboard Maestro actionSwitchboardNotes
Type a KeystrokePress keys
Type ModifiersPress or hold modifiers
Simulate Hardware KeyPress keysMacs without an optical drive have no Eject key to press; this only matters for external drives and keyboards
Simulate Scroll WheelScrollScroll amounts are read as pixels
Move MouseClickRecorded by position (1, 1 from the screen); re-record as an element
Click MouseClickRecorded by position (1, 1 from the screen); re-record as an element
Move and Click MouseClickRecorded by position (1, 1 from the screen); re-record as an element
Mouse position relative to absoluteClickRecorded by position (1, 1 from the screen); re-record as an element
Mouse position relative to screenClickRecorded by position (1, 1 from the screen); re-record as an element
Mouse position relative to windowClickRecorded by position (1, 1 from the window); re-record as an element
Mouse position relative to mouseClickRecorded by position (1, 1 from the mouse); re-record as an element
Mouse position relative to imageClickThe picture to look for isn't in the macro. Capture it again
Mouse drag: NoneClickNo horizontal position was set in Keyboard Maestro. Fill it in No vertical position was set in Keyboard Maestro. Fill it in The click has no position. Set where to click
Mouse drag: HoldClick, Hold or release mouse buttonNo horizontal position was set in Keyboard Maestro. Fill it in No vertical position was set in Keyboard Maestro. Fill it in The click has no position. Set where to click The mouse button stays down after this action until a "mouseButton up" step (Switchboard lets go after a minute at the latest)
Mouse drag: RelativeClick, Drag mouseNo horizontal position was set in Keyboard Maestro. Fill it in No vertical position was set in Keyboard Maestro. Fill it in The click has no position. Set where to click

Macros & groups #

Keyboard Maestro actionSwitchboardNotes
Execute a MacroRun macroRuns a macro that isn't in this import (00000000-0000-0000-0000-000000000000); it fails until a macro with that id exists
Execute a SubroutineRun macroCalls a macro that isn't in this import (00000000-0000-0000-0000-000000000000); it fails until a macro with that id exists
Trigger Macro by NameChoose a macro to runTrigger Macro by Name became a list of macros to choose from; the chosen one runs
Trigger Macros by Hot KeyPress keysPresses the hot key so Switchboard's own hotkey triggers fire
Mark MacroSet variableMacro marks aren't shown in Switchboard: the mark is kept in the shared variable shared.marked.00000000-0000-0000-0000-000000000000
Set Macro or Group: EnableTurn on macroTurns on or off a macro that isn't in this import (00000000-0000-0000-0000-000000000000); it fails until a macro with that id exists
Set Macro or Group: DisableTurn off macroTurns on or off a macro that isn't in this import (00000000-0000-0000-0000-000000000000); it fails until a macro with that id exists
Set Macro or Group: ToggleTurn on macroTurns on or off a macro that isn't in this import (00000000-0000-0000-0000-000000000000); it fails until a macro with that id exists
Activate Macro Group for One ActionTurn on macro"Activate for one action" turns the group on and leaves it on: add a Deactivate after the action that needs it
Activate Macro GroupTurn on macro
Deactivate Macro GroupTurn off macro
Activate or Deactivate Macro GroupTurn on macro
Show Macro Group for One ActionTurn on macro"Activate for one action" turns the group on and leaves it on: add a Deactivate after the action that needs it
Show Macro GroupNothing to run (see the note) or built from the action's settingsSwitchboard shows a group's macros in its own palette (opened by hotkey), so there is no palette to show: the step does nothing
Hide Macro GroupNothing to run (see the note) or built from the action's settingsSwitchboard shows a group's macros in its own palette (opened by hotkey), so there is no palette to hide: the step does nothing
Show or Hide Macro GroupNothing to run (see the note) or built from the action's settingsSwitchboard shows a group's macros in its own palette (opened by hotkey), so there is no palette to show: the step does nothing
Show Palette of MacrosChoose a macro to runA palette of macros became a list to choose from; the chosen macro runs
Record Quick MacroShow notificationSwitchboard can't record a quick macro: the step shows a notification when it runs
Conceal Macro PalettesNothing to run (see the note) or built from the action's settingsSwitchboard has one macro palette (opened from its hotkey) and nothing to conceal or reveal: the step does nothing
Reveal Macro PalettesNothing to run (see the note) or built from the action's settingsSwitchboard has one macro palette (opened from its hotkey) and nothing to conceal or reveal: the step does nothing
Remote TriggerRun shell scriptKeyboard Maestro's Remote Trigger goes through Stairways' cloud; this calls the webhook trigger named "x" on this Mac instead

Mail & messaging #

Keyboard Maestro actionSwitchboardNotes
Send Mail MessageSend mailMail opens a draft window for you to finish; nothing is sent
Set Mail StatusSet mail status
Send SMSSend messageText messages go out through Messages, which needs Text Message Forwarding turned on from your iPhone
Send iMessageSend message
Send Pushover NotificationSend HTTP request
Growl Notification (deprecated)Show notificationGrowl was discontinued; the notification shows through macOS notifications
Create Calendar EventAdd calendar eventDates are read as yyyy-MM-dd HH:mm (or any date macOS can parse); Switchboard Engine needs Calendar automation permission

Music, audio & media #

Keyboard Maestro actionSwitchboardNotes
Send MIDI NoteOnSend MIDI
Send MIDI NoteOffSend MIDI
Send MIDI ControlChangeSend MIDI
Send MIDI PacketSend MIDI
Play or Pause Current TrackMusic and player controliTunes is the Music app now: the command went to Music
Pause Current TrackMusic and player controliTunes is the Music app now: the command went to Music
Stop Current TrackMusic and player controliTunes is the Music app now: the command went to Music
Next TrackMusic and player controliTunes is the Music app now: the command went to Music
Previous TrackMusic and player controliTunes is the Music app now: the command went to Music
Rewind Current TrackMusic and player controliTunes is the Music app now: the command went to Music Rewind skips back 10 seconds (Music has no hold-to-rewind from a script)
Fast-Forward Current TrackMusic and player controliTunes is the Music app now: the command went to Music Fast Forward skips ahead 10 seconds (Music has no hold-to-fast-forward from a script)
Play a Random TrackMusic and player controliTunes is the Music app now: the command went to Music
Play a Random Track from PlaylistMusic and player controliTunes is the Music app now: the command went to Music
Play a Specific TrackMusic and player controliTunes is the Music app now: the command went to Music
Play a Specific PlaylistMusic and player controliTunes is the Music app now: the command went to Music
Increase iTunes VolumeMusic and player controliTunes is the Music app now: the command went to Music
Decrease iTunes VolumeMusic and player controliTunes is the Music app now: the command went to Music
Set iTunes VolumeMusic and player controliTunes is the Music app now: the command went to Music
Increase Rating by Half a StarMusic and player controliTunes is the Music app now: the command went to Music
Decrease Rating by Half a StarMusic and player controliTunes is the Music app now: the command went to Music
Set RatingMusic and player controliTunes is the Music app now: the command went to Music
Play Current MovieMusic and player control
Pause Current MovieMusic and player control
Play or Pause Current MovieMusic and player control
Step Forward Current MovieMusic and player control
Step Backward Current MovieMusic and player control
Increase Current Movie VolumeMusic and player control
Decrease Current Movie VolumeMusic and player control
Set Current Movie VolumeMusic and player control
Set System Output VolumeRun AppleScript
Toggle System Sound MuteSystem volume
Increase System Sound VolumeSystem volume
Decrease System Sound VolumeSystem volume
Small Increase System Sound VolumeSystem volume
Small Decrease System Sound VolumeSystem volume
Set Audio Input DeviceSwitch audio device
Set Audio Output DeviceSwitch audio device
Set Audio SoundEffects DeviceSwitch audio device
Mute Audio DeviceSwitch audio device
Unmute Audio DeviceSwitch audio device
Toggle Audio DeviceSwitch audio device

Other #

Keyboard Maestro actionSwitchboardNotes
Send Message to Editor (internal)Nothing to run (see the note) or built from the action's settingsA message to Keyboard Maestro's editor dropped
Don't Rotate Status Menu (internal)Nothing to run (see the note) or built from the action's settingsKeyboard Maestro's status menu rotation setting dropped
Typed String Duplicate Palette (internal)Nothing to run (see the note) or built from the action's settingsKeyboard Maestro's typed-string palette setting dropped

Prompts & UI #

Keyboard Maestro actionSwitchboardNotes
Display Text in WindowShow notificationDisplay text in a window became a notification
Display Text BrieflyShow message
Display Text LargeShow message
Custom HTML PromptShow an HTML promptThis macro uses web content: the Custom HTML Prompt runs as a web page with no network, and only Keyboard Maestro's GetVariable, SetVariable and Submit calls
Prompt for User InputAsk for input
Prompt With ListAsk for input
Prompt for FileChoose a file or folder
Prompt for FilesChoose a file or folderSeveral chosen paths are stored one per line
Prompt for FolderChoose a file or folder
Prompt for FoldersChoose a file or folderSeveral chosen paths are stored one per line
Prompt for NewFileChoose a file or folder
Prompt for NewFolderChoose a file or folder
Prompt for NewFolderCreateChoose a file or folder
Prompt for screen RectPick a screen point or rectanglePicking a rectangle on screen became a question; enter left,top,right,bottom in screen points
Prompt for screen RectPreserveNegativesPick a screen point or rectanglePicking a rectangle on screen became a question; enter left,top,right,bottom in screen points
Prompt for screen PointPick a screen point or rectanglePicking a point on screen became a question with the pointer's position filled in (x,y)
Prompt for SnippetAsk for input, Clipboard, Press keys, WaitThe snippet is shown in a text prompt for editing, then pasted
AlertAsk for input, Set variableAlert became a prompt with an OK button
NotificationShow notification
Display ProgressShow messageA progress window became a brief HUD
Speak TextSay aloud
Play SoundRun shell scriptPlay Sound runs afplay in the background
Stream Deck Show OKShow messageStream Deck needs Elgato's software; a brief message on screen replaces the key's check mark
Stream Deck Show AlertShow messageStream Deck needs Elgato's software; a brief message on screen replaces the key's alert
Stream Deck Set TitleNothing to run (see the note) or built from the action's settingsStream Deck keys are not driven from Switchboard: the key title is not set
Stream Deck Set ImageNothing to run (see the note) or built from the action's settingsStream Deck keys are not driven from Switchboard: the key image is not set

Scripts #

Keyboard Maestro actionSwitchboardNotes
Execute a Shell ScriptRun shell scriptRuns the script file through a shell step
Execute an AppleScriptRun shell scriptRuns the script file through a shell step
Execute a JavaScript for AutomationRun shell scriptRuns the script file through a shell step
Execute a Swift ScriptRun shell scriptRuns the script file through a shell step
Execute an Automator WorkflowRun shell scriptRuns the workflow with the automator command
Execute a JavaScript in Custom PromptNothing to run (see the note) or built from the action's settingsA script that changes a custom HTML prompt window has nothing to run in: the prompt has ended by the time it runs, so the script is not run
Execute ShortcutRun Shortcut
Edit ShortcutOpen URL
Script result: NoneRun shell script
Script result: WindowRun shell script, Set variable, Show notificationScript output shown in a window became a notification
Script result: BrieflyRun shell script, Set variable, Show message
Script result: LargeRun shell script, Set variable, Show messageLarge text became a message that stays up for five seconds
Script result: TypingRun shell script, Set variable, Type text
Script result: PastingRun shell script, Set variable, Clipboard, Press keys, Wait
Script result: VariableRun shell script, Set variable
Script result: AppendVarRun shell script, Set variable
Script result: ClipboardRun shell script, Set variable, Clipboard
Script result: FileRun shell script, Set variable
Script result: AsynchronouslyRun shell scriptKeyboard Maestro runs the script without waiting; Switchboard waits for it
Plug In ActionRun shell scriptRuns the plug-in "x" from Keyboard Maestro's Actions folder, so it must still be installed there
Execute Script (generic editor view)Run shell script

System #

Keyboard Maestro actionSwitchboardNotes
Open a System Preference PaneOpen URLSystem Settings has been reorganized; panes that no longer exist open System Settings at its last page
Open 1Password BookmarkOpen URLOpens 1Password's search for the bookmark's name (1Password 8 has no bookmarks)
System BeepSystem beep
Get LocationGet current locationGet Location sets shared.x to "latitude,longitude", and shared.xLatitude, shared.xLongitude and shared.xAccuracy; Switchboard Engine needs Location Services permission
Restart ComputerSleep, restart or log outRestart the Mac runs right away, with no confirmation
Shut Down ComputerSleep, restart or log outShut the Mac down runs right away, with no confirmation
Log OutSleep, restart or log outLog out runs right away, with no confirmation
Login WindowSleep, restart or log outmacOS no longer has a way to go straight to the login window; this locks the screen instead
Put Computer to SleepSleep, restart or log outPut the Mac to sleep runs right away, with no confirmation
Open or Close the CD TraySleep, restart or log outMacs have no built-in disc drive; this ejects the tray of an external drive (drutil), and fails when there is none
Start Screen SaverSleep, restart or log out
Stop Screen SaverSleep, restart or log out
Sleep ScreenSleep, restart or log out
Wake ScreenSleep, restart or log out
Increase Screen BrightnessChange screen brightness
Decrease Screen BrightnessChange screen brightness
Small Increase Screen BrightnessChange screen brightness
Small Decrease Screen BrightnessChange screen brightness
Show Global Macro PaletteNothing to run (see the note) or built from the action's settings"Show Global Macro Palette" is part of Keyboard Maestro itself and does nothing in Switchboard; run macros from the Switchboard menu bar menu or its palette hot key
Hide Global Macro PaletteNothing to run (see the note) or built from the action's settings"Hide Global Macro Palette" is part of Keyboard Maestro itself and does nothing in Switchboard; run macros from the Switchboard menu bar menu or its palette hot key
Toggle Global Macro PaletteNothing to run (see the note) or built from the action's settings"Toggle Global Macro Palette" is part of Keyboard Maestro itself and does nothing in Switchboard; run macros from the Switchboard menu bar menu or its palette hot key
Show Status MenuNothing to run (see the note) or built from the action's settings"Show Status Menu" is part of Keyboard Maestro itself and does nothing in Switchboard; run macros from the Switchboard menu bar menu or its palette hot key
Clear Typed String BufferNothing to run (see the note) or built from the action's settings"Clear Typed String Buffer" is part of Keyboard Maestro itself and does nothing in Switchboard; run macros from the Switchboard menu bar menu or its palette hot key
Fast User SwitchSleep, restart or log outmacOS removed the command that switches users directly; this locks the screen, where the other user can be picked
Set Keyboard LayoutSwitch keyboard layout
Set Network LocationSwitch network location
Set Screen ResolutionSet screen resolution
Set Desktop ImageSet desktop picture
Set System to Dark ModeLight or dark mode
Set Keyboard Maestro to Dark ModeNothing to run (see the note) or built from the action's settings"Set Keyboard Maestro to Dark Mode" changes Keyboard Maestro's own windows, so it was dropped

Text #

Keyboard Maestro actionSwitchboardNotes
Insert Text by TypingType text
Insert Text by PastingClipboard, Press keys, WaitInsert by pasting: the clipboard is saved first and put back afterwards
Insert Styled Text by PastingClipboard, Press keys, WaitInsert by pasting with styles pastes the plain text: Switchboard doesn't keep the styling of the text
Substring of Variable or ClipboardTransform text, Set variable
Filter: RemoveStylesTransform text, Set variableStyled text: Switchboard converts between plain text and RTF text; the clipboard keeps only plain text afterwards
Filter: MacLineEndingsTransform text, Set variable
Filter: UnixLineEndingsTransform text, Set variable
Filter: WindowsLineEndingsTransform text, Set variable
Filter: TrimWhitespaceTransform text, Set variable
Filter: WrapTransform text, Set variable
Filter: UnwrapTransform text, Set variable
Filter: LowercaseTransform text, Set variable
Filter: LowercaseFirstTransform text, Set variable
Filter: UppercaseTransform text, Set variable
Filter: UppercaseFirstTransform text, Set variable
Filter: CapitalizeTransform text, Set variableCapitalize follows Switchboard's own capitalisation rules, which can differ from Keyboard Maestro's in edge cases
Filter: SentenceTransform text, Set variableSentence follows Switchboard's own capitalisation rules, which can differ from Keyboard Maestro's in edge cases
Filter: TitleCaseTransform text, Set variableTitleCase follows Switchboard's own capitalisation rules, which can differ from Keyboard Maestro's in edge cases
Filter: SmartQuotesTransform text, Set variable
Filter: DumbQuotesTransform text, Set variable
Filter: FrenchQuotesTransform text, Set variable
Filter: EncodeHTMLEntitiesTransform text, Set variable
Filter: EncodeNonASCIIHTMLEntitiesTransform text, Set variable
Filter: EncodeWithNumericEntitiesTransform text, Set variable
Filter: DecodeHTMLEntitiesTransform text, Set variable
Filter: MakeHTMLListTransform text, Set variable
Filter: PercentEncodeForURLTransform text, Set variable
Filter: PercentDecodeURLTransform text, Set variable
Filter: EncodeForRegularExpressionTransform text, Set variable
Filter: EncodeBase64Transform text, Set variable
Filter: DecodeBase64Transform text, Set variable
Filter: CalculateMD5Transform text, Set variable
Filter: AttributedTextToRTFTransform text, Set variableStyled text: Switchboard converts between plain text and RTF text; the clipboard keeps only plain text afterwards
Filter: RTFToAttributedTextTransform text, Set variableStyled text: Switchboard converts between plain text and RTF text; the clipboard keeps only plain text afterwards
Filter: QuoteForAppleScriptTransform text, Set variable
Filter: QuoteForJavaScriptTransform text, Set variable
Filter: QuoteForShellScriptTransform text, Set variable
Filter: QuoteForSwiftTransform text, Set variable
Filter: QuoteForJSONTransform text, Set variable
Filter: QuoteForProcessTokensTransform text, Set variable
Filter: LastPathComponentTransform text, Set variable
Filter: DeleteLastPathComponentTransform text, Set variable
Filter: PathExtensionTransform text, Set variable
Filter: DeletePathExtensionTransform text, Set variable
Filter: BaseNameTransform text, Set variable
Filter: DisplayNameTransform text, Set variable
Filter: ExpandTildeInPathTransform text, Set variable
Filter: AbbreviateWithTildeInPathTransform text, Set variable
Filter: ResolveSymlinksTransform text, Set variable
Filter: StandardizePathTransform text, Set variable
Filter: URLSchemeTransform text, Set variable
Filter: URLHostTransform text, Set variable
Filter: URLPortTransform text, Set variable
Filter: URLUserTransform text, Set variable
Filter: URLPasswordTransform text, Set variable
Filter: URLPathTransform text, Set variable
Filter: URLFragmentTransform text, Set variable
Filter: URLQueryTransform text, Set variable
Filter: ReverseTransform text, Set variable
Filter: ShuffleTransform text, Set variableShuffle reorders the lines of the text
Filter: ZapControlCharactersTransform text, Set variable
Filter: BulletControlCharactersTransform text, Set variable
Filter: CalculateTransform text, Set variable
Filter: ProcessTokensTransform text, Set variable
Filter: ValueOfNamedVariableTransform text, Set variable
Filter: ValueOfNamedClipboardTransform text, Set variable
Filter: CharacterCountTransform text, Set variable
Filter: WordCountTransform text, Set variable
Filter: LineCountTransform text, Set variable
Filter: JSONCompactTransform text, Set variable
Filter: JSONPrettyTransform text, Set variable
FilterVariable (legacy form of Filter)Transform text, Set variableFilter "" is unknown to Switchboard: the text is passed through unchanged
FilterClipboard (legacy form of Filter)Transform text, ClipboardFilter "" is unknown to Switchboard: the text is passed through unchanged
Search and Replace: text, case sensitiveSet variable
Search and Replace: text, ignore caseSet variable
Search and Replace: regex, case sensitiveSet variable
Search and Replace: regex, ignore caseSet variable
Search using CaseSensitiveStringNothing to run (see the note) or built from the action's settingsThis search captures nothing, so it has no effect in Switchboard; use a Found-count condition on the text instead
Search using IgnoreCaseStringNothing to run (see the note) or built from the action's settingsThis search captures nothing, so it has no effect in Switchboard; use a Found-count condition on the text instead
Search using CaseSensitiveRegExNothing to run (see the note) or built from the action's settingsThis search captures nothing, so it has no effect in Switchboard; use a Found-count condition on the text instead
Search using IgnoreCaseRegExNothing to run (see the note) or built from the action's settingsThis search captures nothing, so it has no effect in Switchboard; use a Found-count condition on the text instead
SearchReplaceVariable (legacy form)Set variable
SearchReplaceClipboard (legacy form)Clipboard
SearchVariable (legacy form)Nothing to run (see the note) or built from the action's settingsThis search captures nothing, so it has no effect in Switchboard; use a Found-count condition on the text instead
SearchClipboard (legacy form)Nothing to run (see the note) or built from the action's settingsThis search captures nothing, so it has no effect in Switchboard; use a Found-count condition on the text instead
Apply a BBEdit Text FactoryOpen file or folderBBEdit text factories run only inside BBEdit: this opens the factory file in BBEdit instead of applying it to the text
Apply Style to ClipboardNothing to run (see the note) or built from the action's settingsApply Style (styling the clipboard) has no effect in Switchboard: the clipboard keeps its content unstyled Apply Style changes the styling of the clipboard's rich text; Switchboard keeps plain text, so this step was left out

Variables & dictionaries #

Keyboard Maestro actionSwitchboardNotes
Use VariableActivate app
Set Variable to TextSet variable
Append Text to VariableSet variable
Prepend Text to VariableSet variable
Set Variable to CalculationSet variable
Set Variables to JSONVariables from JSON
Set JSON ValueSet variableThe JSON target "x" names no path inside the variable, so the whole variable is set
Set Dictionary to JSONSet variableDictionary "x" became a variable holding the parsed JSON; read it with {{ shared.x.key }}
Set Dictionary ValueSet variable
Set Variable to Keychain PasswordKeychain password
Set Keychain Password to TextKeychain password

Web, HTML & browser #

Keyboard Maestro actionSwitchboardNotes
Search the WebAsk for input, Open URL
Open a URLOpen URL
Get a URLSend HTTP request, Set variable, Run shell scriptThe request has no cookies or saved logins, and times out with the step (10 seconds unless you raise it)
Browser: New TabControl browser
Browser: New WindowControl browser
Browser: Next TabControl browser
Browser: Previous TabControl browser
Browser: Select TabControl browser
Browser: Wait for Page LoadControl browserRuns in the browser's front tab; Safari and Chrome need "Allow JavaScript from Apple Events" turned on
Browser: Set URLControl browser
Browser: Set TitleControl browserRuns in the browser's front tab; Safari and Chrome need "Allow JavaScript from Apple Events" turned on
Browser: Click LinkControl browserRuns in the browser's front tab; Safari and Chrome need "Allow JavaScript from Apple Events" turned on
Browser: Submit FormControl browserRuns in the browser's front tab; Safari and Chrome need "Allow JavaScript from Apple Events" turned on
Browser: Reset FormControl browserRuns in the browser's front tab; Safari and Chrome need "Allow JavaScript from Apple Events" turned on
Browser: Focus FieldControl browserRuns in the browser's front tab; Safari and Chrome need "Allow JavaScript from Apple Events" turned on
Browser: Select FieldControl browserRuns in the browser's front tab; Safari and Chrome need "Allow JavaScript from Apple Events" turned on
Browser: Set Field to TextControl browserRuns in the browser's front tab; Safari and Chrome need "Allow JavaScript from Apple Events" turned on
Browser: Set Variable to FieldControl browserRuns in the browser's front tab; Safari and Chrome need "Allow JavaScript from Apple Events" turned on
Browser: Set CheckboxControl browserRuns in the browser's front tab; Safari and Chrome need "Allow JavaScript from Apple Events" turned on
Browser: Set Radio ButtonControl browserRuns in the browser's front tab; Safari and Chrome need "Allow JavaScript from Apple Events" turned on
Execute a JavaScript in BrowserRun shell script, Run JavaScript in browserThe script is read from its file each time the macro runs Runs in the browser's front tab; Safari and Chrome need "Allow JavaScript from Apple Events" turned on Variables in the script are pasted in as text, as in Keyboard Maestro

Windows #

Keyboard Maestro actionSwitchboardNotes
Move Window to PositionMove or resize window
Move Window by PixelsMove or resize window
Resize Window to PixelsMove or resize window
Resize Window by PixelsMove or resize window
Scale Window by PercentMove or resize window
Move and Resize WindowMove or resize window
Center WindowMove or resize window
Center Window at PositionMove or resize window
Close WindowClose window
Zoom WindowMove or resize window
Minimize WindowMove or resize window
Minimize Window (really)Move or resize window"Minimize Window (really)" minimizes to the Dock, the same as Minimize here
Unminimize WindowMove or resize window
Bring Window to FrontMove or resize window
Window target: FrontWindowMove or resize windowWindow action "" is not one Switchboard knows; the window is brought to the front instead
Window target: NamedWindowMove or resize windowWindow action "" is not one Switchboard knows; the window is brought to the front instead
Window target: WindowNameContainingMove or resize windowWindow action "" is not one Switchboard knows; the window is brought to the front instead
Window target: WindowNameMatchingMove or resize windowWindow action "" is not one Switchboard knows; the window is brought to the front instead
Window target: WindowIndexMove or resize windowWindow action "" is not one Switchboard knows; the window is brought to the front instead
Window target: KMWindowIDMove or resize windowA Keyboard Maestro window id means nothing to Switchboard: the window is found by the id Switchboard's own window step reports Window action "" is not one Switchboard knows; the window is brought to the front instead
Window target: KMLastWindowMove or resize window"Last window" is the window the previous window step in this macro or an earlier run acted on Window action "" is not one Switchboard knows; the window is brought to the front instead
Set Next Engine Window PositionNothing to run (see the note) or built from the action's settingsSet Next Engine Window places Keyboard Maestro's own prompt and HUD windows; Switchboard places its own, so the action is dropped
Set Next Engine Window SizeNothing to run (see the note) or built from the action's settingsSet Next Engine Window places Keyboard Maestro's own prompt and HUD windows; Switchboard places its own, so the action is dropped
Set Next Engine Window Position and SizeNothing to run (see the note) or built from the action's settingsSet Next Engine Window places Keyboard Maestro's own prompt and HUD windows; Switchboard places its own, so the action is dropped
Center Next Engine WindowNothing to run (see the note) or built from the action's settingsSet Next Engine Window places Keyboard Maestro's own prompt and HUD windows; Switchboard places its own, so the action is dropped
Center Next Engine Window at PositionNothing to run (see the note) or built from the action's settingsSet Next Engine Window places Keyboard Maestro's own prompt and HUD windows; Switchboard places its own, so the action is dropped
Bring Application Windows to FrontApp commands
Activate Window SwitcherApp or window switcherThe Window Switcher's colours and mouse-rollover options aren't carried over: Switchboard shows a list to pick a window from
Highlight LocationHighlight area