# SpeedDeck actions and multi-step macros

> Every action a SpeedDeck button can run, from opening apps and pages to keystrokes, typing, media and volume, plus multi-step macros and the conflict check.

Source: https://plexiidesk.com/help/speeddeck-macros
Section: Widgets > Web and apps
Plans: All plans
Updated: 2026-10-10

Every SpeedDeck button runs one action when you click it. The action can be a single thing, such as opening an app or sending a keyboard shortcut, or a **Multi-step macro** that runs several actions one after another. You choose the action on the button's **Action** tab.

This page describes every action, how to chain them into a macro, and the check that warns you when a keyboard shortcut might cause trouble. To add a SpeedDeck to a desk and find your way around it, see [SpeedDeck widget](https://plexiidesk.com/help/speeddeck-intro).

## Before you start

- **Plans.** SpeedDeck and every action on this page are part of every plan.
- **Mac and Windows.** **Keyboard shortcut**, **Type text**, **Media control** and **Set volume** work on a Mac only. The other actions also run on Windows.
- **Accessibility permission on a Mac.** **Keyboard shortcut**, **Type text** and **Media control** need macOS Accessibility permission, including when they are a step in a multi-step macro. The first time one of these buttons needs it, PlexiDesk opens a window that shows you how to allow it. See [Allow keyboard control on a Mac](https://plexiidesk.com/help/accessibility-permission).
- **Which deck you are changing.** A SpeedDeck shows either its **Task** deck, which stays with this SpeedDeck on this desk, or the **Universal** deck, which every SpeedDeck set to Universal shares. Your changes go to the deck you are looking at.

## Set what a button does

1. Click **Edit** at the top right of the SpeedDeck. It changes to **Done** while you are editing.
2. Click the slot you want to set up. You can also right-click a slot and choose **Add button…** (an empty slot) or **Configure…** (a slot that already has a button).
3. In the window that opens, which is titled with the slot number (for example **Slot 4**), click the **Action** tab.
4. Open the **What does this button do?** list and choose an action. Each option has a short description beside it.
5. Fill in the fields for that action. Each action's fields are described below.
6. Click **Save**. When you have finished, click **Done**.

To try the button, click it while you are not editing. It glows briefly as it runs.



> **Note:**
> Choosing a different action in **What does this button do?** clears the fields you filled in for the old one. The button's label, colour and icon, on the **Button** tab, stay as they are. To leave without saving, click **Cancel** or press `Esc`.

## The actions

### Open app

Launches an app installed on your computer.

- **App path or name.** On a Mac, type the app's name as it appears in your Applications folder, or paste the full path to the app. On Windows, enter the full path to the program or file, and Windows opens it as it would if you double-clicked it.

### Open URL

Opens a web address in your computer's default web browser.

- **URL.** A full address that starts with `https://` or `http://`. Other kinds of address do not open.

### Keyboard shortcut

Sends a key combination, such as `⌘` `⇧` `T`, to the app you were using just before you clicked the button. Mac only.

1. Under **Modifiers**, click each key you want held down: **⌘ cmd**, **⇧ shift**, **⌥ option**, **⌃ control** or **fn**. The ones you choose are highlighted. Click one again to turn it off.
2. In **Key**, type a single character, such as `t`, or the name of a special key: `enter`, `tab`, `space`, `escape`, `delete`, `arrow-left`, `arrow-right`, `arrow-up`, `arrow-down`, or `f1` to `f12`. The names `home`, `end`, `page-up` and `page-down` also work.
3. Click **Save**.

For example, to reopen the tab you last closed in your web browser, choose **⌘ cmd** and **⇧ shift**, and type `t` in **Key**.

> **Tip:**
> **Key** takes one character. If you type more than one and it is not a special key name, only the first character is sent.

### Type text

Types a piece of text at the cursor, in the app you were using just before you clicked the button. Mac only.

- **Text to type at the cursor.** The text to type. Each new line is sent as a press of `Return`.

Use it for an email sign-off, a standard reply, an address you type often or a block of boilerplate.

### Media control

Controls music and sound on your Mac. Mac only. Choose one:

- **Play / pause**, **Next track** or **Previous track**: controls a supported music app on your Mac while it is open.
- **Volume up** or **Volume down**: raises or lowers your Mac's volume by 5 steps on a scale of 0 to 100.
- **Mute / unmute**: turns the sound off, or back on.

### Set volume

Sets your Mac's volume to an exact level. Mac only.

- **Volume level (0–100).** Drag the slider. The level shows as a percentage beside it.

Two buttons, one at 30 and one at 70, give you a quiet and a loud setting a click apart.

### Shell command

For advanced use. Runs a command you have written in your computer's command shell.

- **Shell command.** The command to run.
- **Timeout (ms).** How long the command may run before it is stopped, from 500 (half a second) to 60,000 (one minute). It starts at 10,000 (ten seconds).

Each time you click the button, PlexiDesk shows you the command and asks **Run a shell command?** Choose **Run command** to go ahead, or **Cancel**. The command's output is not shown.

The Action tab reminds you that the command runs with the same access to your computer that you have, so only save commands you wrote yourself and understand.

### Delay

Waits before the next step. Use it inside a multi-step macro.

- **Delay (ms).** How long to wait, from 0 to 60,000 milliseconds. 1,000 is one second. A new Delay starts at 200.

### Multi-step macro

Runs several of the actions above in order, from one click. See the next section.

## Build a multi-step macro

1. On the **Action** tab, choose **Multi-step macro** in **What does this button do?**. The list of steps is empty to begin with.
2. Click **+ Add step**. The new step appears at the bottom, numbered (**#1**, **#2** and so on), and starts as a **Keyboard shortcut** set to ⌘ T.
3. Use the list beside the step's number to choose its action. Any action except **Multi-step macro** can be a step.
4. Fill in the step's fields.
5. Repeat for each step you need. Add a **Delay** between steps to give an app time to open or a page time to load.
6. Click **Save**.

Each step has four controls at the right of its row:

- **Collapse** or **Expand** hides or shows the step's fields, which keeps a long macro tidy.
- **Move up** and **Move down** change the step's place in the order.
- **Remove** deletes the step.

When you click the button, the steps run from the top, each one waiting for the one before it to finish. If a step cannot run, the macro stops at that step.

For example, a "Start the day" button could have three steps: **Open URL** with your team's dashboard address, a **Delay** of 1,000, then **Open app** with your notes app.

## Shortcut conflict check

When a button sends a keyboard shortcut, on its own or as a step, the **Action** tab checks the keys as you choose them and shows a note above the fields:

- **Reserved system shortcut** (red): the keys are a macOS shortcut that people rely on, such as `⌘` `Q` to quit an app, `⌘` `W` to close a window, `⌘` `H` to hide an app or `⌘` `Tab` to switch apps. Every click of the button would do that, so these usually belong on the keyboard.
- **Already on this deck** (amber): another button on the same deck, on any page or inside any folder, already sends these keys. The note names that button, so you can decide whether you meant to have two.
- **Standard shortcut** (green): a common shortcut, such as `⌘` `C` to copy, `⌘` `V` to paste, `⌘` `Z` to undo or `⌘` `⇧` `4` to capture part of the screen. These are exactly the kind of thing worth putting on a button.

The notes help you choose. They never stop you saving. The order you pick the modifiers in does not matter: ⌘ ⇧ T and ⇧ ⌘ T count as the same shortcut. Proposals from SpeedDeck AI carry the same checks, as small chips.

## AI

You do not have to build every button by hand. Click **AI** at the top of the SpeedDeck, describe what you want, and SpeedDeck AI proposes a button or a whole folder of buttons for you to add. It can also suggest buttons from the apps you use most. See [Build SpeedDeck buttons with AI](https://plexiidesk.com/help/speeddeck-ai).

## If a button does not run

- **A window about keyboard control opens instead.** On a Mac, the button needs Accessibility permission. Follow the steps in the window, then click the button again. To open the window yourself, click **More options** (the three dots at the top of the SpeedDeck) and choose **Accessibility permission…**. See [Allow keyboard control on a Mac](https://plexiidesk.com/help/accessibility-permission).
- **The button's outline flashes.** The action could not run. Point at the button to see the reason, which shows for a few seconds. Check that every field is filled in, that an **Open URL** address starts with `https://` or `http://`, and, on Windows, that the button does not use a Mac-only action.
- **The keys went to the wrong window.** **Keyboard shortcut** and **Type text** go to the app you were using just before you clicked the SpeedDeck. Click into the window you want first, then click the button.
- **Play / pause does nothing.** Open your music app first. **Play / pause**, **Next track** and **Previous track** control a supported music app only while it is open.

## Common questions

### Can I put the same macro on more than one button?

Yes. In edit mode, right-click the button and choose **Duplicate**, or **Copy** it and then right-click another slot and choose **Paste**. Copy and paste work between decks too, so you can copy a button from a Task deck to the Universal deck. See [Organise, share and back up a SpeedDeck](https://plexiidesk.com/help/speeddeck-organise).

### Why does SpeedDeck AI never suggest a Shell command?

SpeedDeck AI builds every other kind of action, but Shell command buttons are always ones you write yourself on the **Action** tab.

### What happens if I open a Mac-only button on Windows?

The button stays on the deck, but clicking it does not run the action. Its outline flashes and pointing at it tells you why.

## Related tasks

- [SpeedDeck widget](https://plexiidesk.com/help/speeddeck-intro)
- [Build SpeedDeck buttons with AI](https://plexiidesk.com/help/speeddeck-ai)
- [Organise, share and back up a SpeedDeck](https://plexiidesk.com/help/speeddeck-organise)
- [Allow keyboard control on a Mac](https://plexiidesk.com/help/accessibility-permission)
- More about this widget
