Steam
Included with Macro DeckStart and close Steam games, and show what you play, your friends and your library on your deck.
The Steam library, Steam friends, Steam currently playing and Steam game launcher widgets
- Launch installed Steam games with one tap
- Show the game you are playing and your session time
- See which friends are online and in a game
- Owned games and playtime with a Steam Web API key
- Events for games starting and friends coming online
The Steam integration finds the Steam installation on your computer and starts games through it, the same as double-clicking a game in your Steam library. It reads your installed games from Steam's own library files and notices which game is running on this computer. With an optional Steam Web API key it also asks Steam's servers for your online status, your friends, your owned games and your playtime, for as many Steam accounts as you like.
What works without a key
Actions and widgets work as soon as the integration is on: launch an installed game, open Steam, open a game's store or library page, and close the game that runs on this computer. The Steam currently playing widget shows the game with its cover and how long you have been playing, and the Steam game launcher widget starts your recently played or favorite games with one tap.
What a key adds
Add a configuration with your SteamID and a Web API key to see the game an account plays on another device, how many friends are online and in a game, your own online status, and your owned games with total and recent playtime. The Steam friends widget lists the friends who are online and what they play, and the Steam library widget shows your hours and the games you played last. Friends need a public friends list, and owned games and playtime need public game details.
Some example setups:
- A game launcher widget with your three favorite games on a streaming profile.
- A button with Close Steam game and Force quit turned on, for a game that hangs.
- An automation on Game started that switches your deck to a gaming profile.
- An automation on Friend came online that shows a notification.
Each configuration is one Steam account with its own variables, named after the configuration name, for example steam_main_is_playing for a configuration called Main. Without a configuration there are no Steam variables. Macro Deck checks your friends once a minute, your status every 30 seconds and your owned games every 10 minutes, so events and variables that need the key can arrive with that delay. When Steam cannot be reached, those variables read as unavailable instead of showing wrong numbers.
Closing a game works on Windows only. On macOS and Linux the action says it is not supported there.
What you need
- Macro Deck 3 on Windows, macOS or Linux
- Steam installed on the computer that runs Macro Deck
- Optional: your SteamID and a Steam Web API key for status, friends and playtime
- Optional: a public friends list and public game details in your Steam privacy settings
Set it up
Step 1: Turn on the Steam integration
In the sidebar, click Integrations and then Steam. Turn on the switch at the top right. Steam is off until you turn it on, because it only does something on a computer with Steam installed. Actions and widgets work from now on.
Step 2: Get a Steam Web API key (optional)
For status, friends and playtime, sign in on the Steam Web API key page (
https://steamcommunity.com/dev/apikey) and register a key. The page asks for a domain name; any value works. Limited accounts, which never spent money on Steam, cannot get a key.Step 3: Add a configuration
A configuration is also what gives you the Steam variables, so add one even without a key. On the Overview tab of the Steam page, click Add configuration under Configuration. The Set up Steam dialog asks for:
- Configuration name: how the account is called in widget settings and variable names, such as
Main. - Web API key: the key from the previous step. Enter it together with the SteamID, or leave both empty.
- SteamID: your 17-digit SteamID64, your profile link or your custom profile name. Leave it empty to use only the installed games.
Under Advanced configuration, Additional library folders adds game folders that Macro Deck does not find by itself. Click Continue. Macro Deck checks the SteamID and key with Steam before it saves them.
- Configuration name: how the account is called in widget settings and variable names, such as
Step 4: Make your profile details public
To show friends, open Steam, choose Edit Profile, then Privacy Settings, and set Friends List to Public. For owned games and playtime, set Game details to Public as well.
Step 5: Add a Steam action to a button
On the Deck page, make sure the deck is unlocked (the button at the top right reads Lock) and click a button. The editor opens with Short Press selected. Click + Add action, choose Steam on the left of the Add action dialog and pick Launch Steam game. In Game, pick one of your installed games or enter a Steam app ID.
Step 6: Press the button
Click Save and press the button on your deck. Steam starts the game, and may first ask you to sign in or update it.
Actions5
Put these on a button or run them from a flow.
- Launch Steam game
- Starts an installed Steam game, picked from your games or by its Steam app ID.
- Launch Steam
- Opens the Steam client.
- Open Steam store page
- Opens a game's store page in Steam.
- Open Steam library page
- Opens a game's page in your Steam library.
- Close Steam game
- Closes the Steam game running on this computer, and with Force quit ends it after 10 seconds (Windows only).
Triggers6
A button or flow can react to these events.
- Game started
- A Steam game started on this computer or, with a Web API key, on another device.
- Game closed
- A Steam game was closed, with how long it ran in seconds.
- Friend came online
- A Steam friend went from offline to online. Needs a Web API key.
- Friend went offline
- A Steam friend went offline. Needs a Web API key.
- Friend started a game
- A Steam friend started playing a game or switched to another one. Needs a Web API key.
- Online status changed
- The online status of your Steam account changed, for example to Away. Needs a Web API key.
Variables10
Show these values on buttons and widgets, or use them in conditions.
steam_<account>_is_playing- Whether you are playing a game.
steam_<account>_current_game_name- The name of the game you are playing.
steam_<account>_current_game_id- The Steam app ID of the game you are playing.
steam_<account>_current_game_playtime_seconds- How long the current game has been running, in seconds.
steam_<account>_games_installed- The number of games installed on this computer.
steam_<account>_friends_online- How many friends of the account are online. Needs a Web API key.
steam_<account>_friends_ingame- How many friends of the account are playing a game. Needs a Web API key.
steam_<account>_games_owned- How many games the account owns. Needs a Web API key.
steam_<account>_total_playtime_hours- The hours the account has played in total. Needs a Web API key.
steam_<account>_recent_playtime_hours- The hours the account played in the last two weeks. Needs a Web API key.
Widgets4
Add these to your deck from the widget picker.
- Steam currently playing
- Shows the game you are playing with its cover and session time.
- Steam game launcher
- Starts a recently played game, one of your favorites or one fixed game with one tap.
- Steam friends
- Shows how many friends are online and playing, and on larger sizes who they are.
- Steam library
- Shows your playtime, how many games you own and the games you played recently.
Frequently asked questions
Do I need a Steam Web API key?
No. Launching games, the game running on this computer, installed games and the game launcher widget work without one. For the variables, add a configuration without a key. The key is only needed for your online status, your friends, owned games and playtime, and for a game you play on another device.
Can I add more than one Steam account?
Yes. Each configuration is one Steam account with its own variables, and you can add as many as you like. The game running on this computer is the same for every configuration, because Macro Deck cannot tell which account is signed in to Steam here.
Why are my friends or playtime not shown?
Steam only shares them for public profiles. Set Friends List and Game details to Public in your Steam Privacy Settings. Until then, those variables read as unavailable and the integration shows a notice under Integrations.
Why does Close Steam game not work on my Mac?
Closing a game works on Windows only. On macOS and Linux a game cannot be asked to close the way its window would be, so the action says it is not supported there.
Where is my Web API key stored?
The key is stored on the computer that runs Macro Deck and is only used to ask Steam about your profile. With a key, Macro Deck contacts api.steampowered.com; game covers and friends' profile pictures come from Steam's own image servers.
Does it find games on other drives?
Yes. Steam's own library folders on every drive are found automatically, and a drive that is not connected is skipped. For a game folder Steam does not list, add it under Additional library folders in the configuration.
More in Your computer
System
Included with Macro DeckControl your computer from your deck: apps, volume, commands, notifications, sleep and shutdown.
Keyboard
Included with Macro DeckPress shortcuts, type text and run key sequences on your computer from a button.
Mouse
Included with Macro DeckClick, move the pointer, drag and scroll on your computer from a button.
ADB / Android Debug Bridge
Included with Macro DeckControl an Android phone or tablet over USB or Wi-Fi: wake it, start apps, tap, type and take screenshots.