Skip to main content

Set Up Steam Integration in ADT

Last updated on July 1, 2026

Applies to: ADT Web + ADT Hub on Windows

Overview

Connect your studio's Steam publishing account to ADT, configure per-game Steam settings, and set the SteamCMD path in ADT Hub so that your team can promote builds to Steam without managing credentials manually or running external tooling.

This guide covers three setup tasks:

  1. Connect Steam credentials in ADT Web — Namespace Settings (studio admin, done once per namespace)
  2. Configure Steam settings per game in ADT Web — Game Settings (studio admin, done once per game)
  3. Set the SteamCMD path in ADT Hub (each developer, done once per machine)

All three must be complete before any team member can trigger a promotion.


Prerequisites

For the studio admin (steps 1 and 2):

  • ADT Web access with the Studio Admin role
  • A dedicated Steam publishing bot account (not a personal account) with the following Steamworks permissions granted for the relevant App ID:
    • "Edit App Metadata"
    • "Publish App Changes To Steam"
  • The password for the bot account
  • Access to the bot account's Steam Guard codes at promotion time — either the Steam Mobile App or, preferably, email-based Steam Guard (faster to retrieve at upload time)
  • The Steam App ID, Depot IDs, and target branch names for the game you are configuring

For each developer (step 3):

  • ADT Hub installed and running on Windows — triggering promotions is only supported from Windows Hub in the current release
  • SteamCMD (steamcmd.exe) installed on your Windows machine — download from the Valve SteamCMD wiki
  • Note the full path to the SteamCMD installation directory — you will need it in step 3

Part 1: Connect Steam Credentials (Namespace Settings)

A studio admin completes this section once. This connects your studio's Steam publishing bot account to your ADT namespace and makes credentials available to all games in the namespace.

Step 1: Open Namespace Settings

In ADT Web, click your namespace name in the top navigation, then select Namespace Settings.

Step 2: Navigate to the Steam Integration section

In the left sidebar, locate Steam Integration under the Integrations group. Click it to open the Steam Integration settings page.

If your namespace does not yet have a Steam account connected, you will see a "Not Connected" card with a grey status indicator and a "Set Up Steam Integration" button.

Step 3: Enter your Steam bot account credentials

Click Set Up Steam Integration (or Edit if you are updating existing credentials). Fill in the following fields:

FieldWhat to enterRequired?
Bot account usernameThe username of your dedicated Steam publishing bot accountYes
Bot account passwordThe password for your dedicated Steam publishing bot accountYes
About Steam Guard

ADT does not store a TOTP shared secret. Instead, whoever triggers a promotion is prompted to enter the current 6-digit Steam Guard code for the bot account immediately before the upload starts. The code is used once and never stored. For best results, configure the bot account to use email-based Steam Guard rather than the Steam Mobile Authenticator — checking an inbox is faster and more reliable at promotion time than reaching for a phone.

Use a dedicated bot account

Steam requires a dedicated publishing account — not a personal Steam account — for automated uploads. Using a personal account violates Valve's terms of service and risks account suspension. The bot account must have "Edit App Metadata" and "Publish App Changes To Steam" permissions in Steamworks for each App ID you intend to publish.

Step 4: Save and verify the connection

Click Save. ADT validates the credentials immediately. When the connection is successful, the Steam Integration section shows a green Connected status indicator with the connected account username.

If validation fails, ADT shows a specific error message. Common issues:

  • Invalid username or password — verify the username is spelled exactly as it appears in Steamworks and that the password was entered correctly without any leading or trailing spaces.
  • Account permissions error — the bot account does not have the required Steamworks permissions for any App ID. Verify in the Steamworks partner portal that the bot account has "Edit App Metadata" and "Publish App Changes To Steam" scoped to the correct App ID.
  • 3-day security lockout — if the bot account had any security settings changed (email, phone number, password) recently, Valve applies a 3-day lockout period before allowing automated uploads. ADT displays the expected date when the restriction lifts.
  • Region or location error (mobile Steam Guard) — ADT's servers are hosted in AWS Oregon (us-west-2). If the bot account uses the Steam Mobile Authenticator, Steam may reject the validation login as a suspicious sign-in from a different region. See the troubleshooting section below for how to resolve this. The recommended long-term fix is to configure the bot account with email-based Steam Guard instead — it has no location restriction and is also faster for OTP entry at promotion time.

Your namespace credentials are now set. Proceed to Part 2 to configure settings for a specific game.


Part 2: Configure Steam Settings Per Game (Game Settings)

A studio admin completes this section once per game. This defines the Steam App ID, depot mappings, and track-to-branch mappings that Hub uses when generating upload config files.

Prerequisite

Game Settings → Steam is locked until namespace credentials are connected. If you see a locked state with a note directing you to Namespace Settings, complete Part 1 first.

Step 1: Open Game Settings

In ADT Web, navigate to the game you want to configure. Click the menu next to the game name or navigate to Game Settings from the game dashboard.

Step 2: Navigate to the Steam section

In Game Settings, click Steam in the left sidebar (under the Integrations group).

Step 3: Enter the Steam App ID

Enter your game's Steam App ID in the App ID field. This is the numeric identifier for your game in Steamworks (visible in the URL of your Steamworks app page, for example https://partner.steamgames.com/apps/landing/1234560).

Click Verify if prompted — ADT checks that the App ID matches an app accessible by the connected bot account.

Step 4: Add depot mappings

Each ADT platform track corresponds to one Steam depot. You need to map each depot ID to the build folder it should receive.

Click Add Depot Mapping and fill in:

FieldWhat to enter
Depot IDThe numeric Steam Depot ID from your Steamworks app configuration (for example, 1234561)
PlatformThe platform this depot covers (Windows, macOS, Linux)

Repeat for each depot. Most games have one depot per platform. Example:

PlatformDepot ID
Windows1234561
macOS1234562
Linux1234563

Step 5: Map ADT tracks to Steam branches

Each ADT track (a channel + platform combination) maps to one Steam branch. This determines which Steam branch a build is promoted to when triggered from that track.

Click Add Branch Mapping and fill in:

FieldWhat to enter
ChannelThe ADT channel (for example, "Latest Stable" or "QA")
PlatformThe platform track within that channel (for example, Windows)
Steam branchThe name of the Steam pre-release branch to target (for example, prerelease, beta, qa)
Default branch promotion is not yet supported

If you enter default as the Steam branch name, ADT displays an amber warning explaining that promoting to the default branch requires manual Steam Mobile App approval and that this capability is not yet available. Use a named pre-release branch (for example, prerelease or beta) for now.

Repeat for each track you want to enable for promotion.

Step 6: Set default file exclusions (optional)

File exclusions define which files in the build folder are excluded from the Steam upload. Common exclusions prevent debug symbols, log files, and OS-specific metadata files from being sent to Steam.

In the File Exclusions field, enter comma-separated glob patterns, for example:

*.pdb, *.log, .DS_Store

These patterns are pre-filled on every promotion confirmation form for this game. Developers can edit them per-promotion without changing the saved defaults.

Step 7: Save

Click Save. ADT confirms the configuration is saved. The "Promote to Steam" action is now available in Hub for builds whose tracks have a branch mapping.


Part 3: Set the SteamCMD Path in ADT Hub

Each developer who promotes builds completes this section once on their Windows machine. This tells Hub where to find SteamCMD so it can invoke the upload.

note

Triggering promotions from ADT Hub is only supported on Windows in the current release. If you are on macOS, you can view promotion history in the Promotions menu but you cannot trigger or retry promotions.

Step 1: Open Hub Settings

In ADT Hub, click the Settings icon (gear icon) in the bottom-left navigation.

Step 2: Navigate to Integrations → SteamCMD

In the Settings sidebar, click Integrations, then click SteamCMD.

Step 3: Enter the SteamCMD path

In the SteamCMD path field, enter the full path to the directory where SteamCMD is installed on your machine. You can type the path directly or click Browse to navigate to the folder.

The path should point to the directory containing steamcmd.exe — not to the executable itself.

Example paths:

Installation locationSteamCMD directory path
Default Valve installerC:\steamcmd
Custom locationC:\Program Files\steamcmd or wherever you extracted it

Step 4: Save and verify

Click Save. Hub validates that the SteamCMD executable exists at the specified path.

  • If the path is valid, Hub shows a green Ready indicator next to the SteamCMD field. The SteamCMD prerequisite is satisfied.
  • If the path is invalid or the executable is not found, Hub shows a red error. Check that SteamCMD is installed and that the path points to the correct directory.

Validation

To verify that all three setup steps are complete and promotion is ready:

  1. In ADT Web, navigate to Namespace Settings → Steam Integration and confirm the status shows Connected (green indicator).

  2. In ADT Web, navigate to Game Settings → Steam for the relevant game and confirm at least one depot mapping and one branch mapping are saved.

  3. In ADT Hub, navigate to Settings → Integrations → SteamCMD and confirm the Ready (green) indicator is shown.

  4. In ADT Hub, navigate to a channel, open the Tracks tab, and click the menu on a track that has a branch mapping. Open the Build submenu and confirm that Promote to Steam appears as an active item. If it opens a "not configured" modal, the modal will list which settings are still missing.


Troubleshooting

Steam Integration section is locked or shows "Configure credentials first" Game Settings → Steam is locked until namespace credentials are connected. Complete Part 1 first, then return to Part 2.

Credential validation fails with "Invalid credentials" Verify that the bot account username is exactly as it appears in Steamworks and that the password was entered correctly. Re-enter the password and save again — do not copy from a source that may have added trailing spaces.

Credential validation fails with "Account does not have permissions" The bot account does not have "Edit App Metadata" or "Publish App Changes To Steam" permissions for the App ID you are trying to configure. Log in to the Steamworks partner portal with an account that has admin rights, navigate to the App's Manage Groups & Permissions section, and grant the required permissions to the bot account.

Credential validation fails with a "3-day lockout" message Valve applies a temporary lockout when a Steam account has had security changes (password, email, phone number) within the last 3 days. Wait until the stated date, then retry.

Credential validation fails with a region or location error (mobile Steam Guard) ADT's servers are hosted in AWS Oregon (us-west-2). If the bot account uses the Steam Mobile Authenticator, Steam may see the validation login as coming from a different region than the phone and block it. To resolve for the initial connection:

  1. On the bot account's Steam Mobile App, temporarily disable Steam Guard (Settings → Steam Guard → turn off).
  2. Save the credentials again in ADT Web → Namespace Settings → Steam Integration.
  3. Once validation succeeds and the status shows Connected, re-enable Steam Guard on the bot account.

Recommended long-term fix: Switch the bot account to email-based Steam Guard — it has no location restriction and is also faster for retrieving the OTP code at promotion time. To switch, go to Steam → Settings → Security → Steam Guard, and change the method from "Steam Mobile Authenticator" to "Email".

Hub shows "SteamCMD not found" after entering the path The path is pointing to the wrong directory, or SteamCMD has not been installed yet. Confirm that steamcmd.exe exists in the directory you specified. If SteamCMD is not installed, download it from Valve and run it at least once before configuring the path in Hub.

"Promote to Steam" opens a "not configured" modal on a track The track's depot or branch mapping is not set in Game Settings. The modal lists exactly which settings are missing and links directly to Game Settings → Steam to fix them.


Next Steps