Skip to content
FermionaPlay
All apps
OBS plugin

Shoutout Desk OBS

v0.4.0FreeReleased:
Shoutout Desk OBS is a free Twitch auto-shoutout plugin for OBS Studio on Windows. It queues automatic shoutouts after chat messages from listed streamers, respecting cooldowns. Manage people, the queue and history in a dock beside your scenes.

Requirements: Windows 10/11, x64. OBS Studio 32+ with Qt 6.8+ within Qt 6.

Direct downloads from GitHub Releases. Windows x64.

Coming from an old version? Import your database

Screenshots

People
Screenshots use demo accounts. Downloads contain no personal databases. The local badge editor is currently in Russian; badge text can use your own language.

What it does

  • OBS shoutout badges with an avatar, nickname and personal description. Three designs with independent colors: Air, Pass and Sticker.
  • Customizable stamp, gradients, sizes and ten entrance/exit effects each. Test each badge without sending a Twitch shoutout.
  • Send a private diagnostic report for the last hour, day or week, without tokens or chat text.
  • Shouts out a person on your list after a new chat message, once their personal cooldown has expired.
  • Keeps people, history and cooldowns across restarts. Each channel has separate data.
  • Connects directly to Twitch or through an automatic Streamer.bot setup.
  • Uses received shoutout events from other bots to cancel duplicates in the queue.
  • Imports and exports people and history, with optional manual cooldown resets.
  • Available in English, Ukrainian and Russian. Checks for new releases automatically or with a button.
  • Optionally shouts out incoming raiders after 20 seconds, including people outside the list. An observed shoutout from another bot cancels the duplicate.

Installation

  1. Download the EXE and fully close OBS.
  2. Run the installer and approve administrator access. Select your OBS folder if needed.
  3. Open OBS with your usual shortcut, then select “Docks → Shoutout Desk”. Set up a connection below.

First connection

Directly to Twitch

Choose “Direct Twitch / Standalone”, select “Sign in with Twitch” and confirm the code on the official Twitch page using your broadcaster account. You do not need to register a separate Twitch application. Sign-in renews automatically: temporary network or Twitch failures do not require another login.

Through Streamer.bot

Connect your broadcaster account to Twitch in Streamer.bot 1.0.7. Select this connection mode in settings and click “Set up Streamer.bot”. A running bot is detected automatically, or you can select its EXE. If asked to close the bot, exit it from the tray and repeat setup; it will start again afterwards. OBS can stay open. The bot’s settings are backed up before changes.

Add Twitch usernames or profile links, choose a cooldown and leave auto-shoutouts enabled. During a live stream, a new message from a listed person can queue a shoutout once their cooldown expires. The tool never starts your stream.

Settings and controls

SettingWhat it does
Badges → OBS sourceOpen Badges, copy the complete source URL and add an OBS Browser Source sized 560 × 560 with a transparent background. Keep the app/plugin running: desktop port 18771, plugin port 18772. The URL stays stable across restarts in the same profile. Do not use the editor URL as the source.
Description, theme and stampEnable display globally or per person. Add a description up to 140 characters, select a common or personal theme, edit independent colors for all three designs, fonts, padding, border and gradient. Customize stamp text, color, angle, corner and sizes. Long names shrink to one line; descriptions wrap. Click Save after editing.
Badge test and updatesA test displays only a badge and never changes history/cooldowns, even with automatic display disabled. Choose entrance and exit independently from ten effects each. The editor currently uses Russian labels. Streamer.bot users should rerun bridge setup for avatars. Preserve the complete profile when moving: the people-list JSON export does not include badge settings.
Send logsSettings → Diagnostics: choose the last hour, 24 hours or 7 days, confirm sending and give the report reference to the maintainer. Channel name, version, state and pseudonymous queue events are visible only to the fermionaplay.win owner for 30 days. Detailed logs start after the update; earlier history may be incomplete. Nothing is sent automatically.
Automatic raid shoutoutsOff by default. Incoming raids during a live stream wait at least 20 seconds. Raiders are not added to your list; cooldowns and limits still apply. Only actual Twitch shoutouts count, not text-only !so messages.
Notify about new versionsOn by default. Checks about 15 seconds after launch, then at most daily after success. Offline checks retry later. Shows a release banner without automatic downloads or installation.
EnabledPauses or resumes auto-shoutouts. Enabled again at every startup, without clearing saved cooldowns.
Cooldown, 1–168 hoursThe interval for each person. Default: 24 hours. A new chat message is required after it expires; there is no automatic bulk sending.
Reset after a long closureOff by default. Resets personal cooldowns on startup if the program was closed for strictly more than 60 minutes. Keeps history. A crash includes a 30-second heartbeat allowance.
Reset all cooldownsRequires confirmation. Resets the current channel’s cooldowns and clears the queue, keeping people and history. Twitch limits still apply.
Connection mode / Sign in / Sign outDirect Twitch or Streamer.bot. Signing out removes saved sign-in, not people or history. Other channels have separate databases.
Set up Streamer.botCreates a local bridge and a backup of actions/settings. Preserves the existing port, password and other actions. Desktop and OBS bridge settings are independent.
ReconnectRestores the selected connection. Does not replay old messages or reset cooldowns.
Add / removeAccepts a Twitch username or profile link. Removing a person keeps their history and cooldown. Duplicates are merged.
Search / sort / dateOnly filter the displayed list, not who is eligible for auto-shoutouts.
History / AddShows outcomes and errors. Add someone back from history without sending a shoutout.
ImportMerges a JSON export or legacy shoutouts.sqlite for the same channel. Connect first. Creates a backup and pauses auto-shoutouts. Close the source program before copying SQLite.
Export / Data folderExports people, history and cooldowns as JSON, without tokens or passwords. Data folder opens the local profile and backups; do not publish its contents.
LanguageEnglish, Ukrainian and Russian. Some diagnostic messages may remain in Russian.
Check for updatesManually checks GitHub releases and offers a download link. No silent installation; Twitch tokens are never sent to GitHub.
Queue and recoveryThe dock shows the next person and minimum waiting time. Brief disconnects preserve the queue in the same broadcast; temporary failures before sending can retry. An already sent request with an unknown outcome is not duplicated. The minimum 125-second channel gap still applies; history shows reasons for skipped entries. A new broadcast, pause or manual reconnect clears the queue.
Twitch confirmations in historyHistory also shows previously stored Twitch events marked "Confirmed by Twitch". Another tool may have sent these shoutouts, rather than this plugin. Matching confirmations of successful local attempts are not duplicated.
Local worker unavailableThe dock automatically tries to recover its worker up to three times, retaining the session pause. If recovery fails, close OBS and reinstall the full EXE or ZIP without deleting the data folder. Do not disable antivirus protection. The data folder contains worker-process.log and, when available, worker-diagnostic.log with no tokens or passwords. Share only these logs for troubleshooting, not the database or sign-in files.
Sign-in notificationWhen Twitch confirms invalid authorization, a separate non-blocking warning appears even with the dock hidden. “Open settings” reveals the sign-in controls; “Later” dismisses the warning until the next launch or a new authorization failure. OBS keeps working. Normal token renewal and network outages do not show this dialog.
Dock / undockToggles between floating and docked. Drag the panel to an OBS edge to dock it; OBS manages its visibility and position.

“Sent” means Twitch confirmed the shoutout; “Queued / Sending” means pending; “Skipped” means cancelled; “Error” means rejected. “No confirmation” blocks a retry for the personal cooldown. A 10-second grace period lets other bots’ events arrive; channel-wide shoutouts are spaced 125 seconds apart.

Update without losing your data

Older versions do not have notifications yet: update once manually. Future versions will then be announced automatically when the option is enabled.

Click “Check for updates”, close OBS and run the new installer. The regular profile, including people, history and protected sign-in, is preserved. Uninstalling the plugin does not delete it.

%LOCALAPPDATA%\Shoutout Desk OBS

ZIP and portable data

Manual installation and support for portable OBS.

  1. Extract the entire ZIP. With regular OBS closed, run Install.cmd as administrator.
  2. For portable OBS, first create an empty portable_mode.txt in its root folder. Run Install-Portable.cmd and select that copy’s bin\64bit\obs64.exe.
  3. Its profile lives in config\shoutout-desk-obs inside portable OBS. Repeat installation to update and keep the config folder. Do not install global and manual plugin copies for the same OBS.

Coming from an old version? Import your database

Installing over the old version in the same profile needs no import. To change profiles, computers or move from the app to the plugin:

  1. The first standalone version stores the people list in %APPDATA%\Shoutout Desk\shoutouts.sqlite. Press Win + R, enter %APPDATA%\Shoutout Desk and open the folder.
  2. When launched through Portable.cmd, look for ShoutoutDesk-data\shoutouts.sqlite beside the EXE. Settings → Data folder also opens the exact location; save a JSON export if Export is available.
  3. Close the old app using Exit in the system tray (close OBS for the plugin), then back up the entire data folder. Do not copy an open database without its WAL.
  4. Connect the same Twitch broadcaster account in the new version. In Settings → Import, select the JSON or shoutouts.sqlite, including databases from the earliest releases.
  5. People, history and cooldowns merge; unfinished requests are not replayed. Check the result and enable automation: importing pauses it.

Do not import connection.json, authorization files or an EXE. Tokens are not transferred; repeated imports do not duplicate the same history. Keep your backup: downgrading from database schema 3 requires a pre-upgrade copy.

Data and security

Auto-shoutouts run locally; no account on this website is needed. Sign-in happens on Twitch’s official page. OAuth tokens and bridge secrets are protected using Windows encryption. JSON exports contain usernames and activity times, so share them thoughtfully. Only after confirming Send logs does the site receive your channel name, version, state and pseudonymous events, without tokens, chat or the people database. Reports are private to the site owner and deleted after 30 days. Technical server logs may contain your IP address. Sign in to Twitch again when moving to another computer.

Builds are not code-signed, so Windows may show a reputation warning. Verify the source and SHA256 checksums; do not disable system protection.

SHA256 checksums

Compare your downloaded file’s hash with the published value. The links beside each hash open the release checksum files.

EXE · SHA256
68d387883f4c56d3a3fd7520f52c65c843d02d4c6b6a3540936e8c582fbdc107
ZIP · SHA256
3ad8c21dfd67bcae6fe005f3ddc905371602a2ff54681df377192b68993730ef

A note on your data

Visitors do not need accounts. There are no advertising trackers. The owner dashboard uses an essential sign-in cookie. Creations uploaded by the owner, creator nicknames, titles and entry dates are public. Auctions store bids and participant names; only lots in the owner-selected auction are public. Shoutout Desk diagnostic reports are sent only after confirmation: channel name, version, state and pseudonymous events without tokens or chat text. Only the site owner can view them; retention is 30 days. The server keeps technical logs, including IP addresses, to operate and protect the website.

Only with your consent, Google Analytics receives public page views and app download clicks, along with technical browser and device information. Analytics cookies are used. Advertising features are disabled. Admin pages, auctions and OBS sources are not tracked; our events do not include nicknames, form contents, URL parameters or tokens. Your choice is stored in your browser for 180 days; withdraw consent using Analytics settings in the footer. Ad blockers and declined consent mean these statistics are incomplete.

An external Twitch player loads during live streams. Twitch and linked websites process data under their own policies. On narrow screens, a channel link replaces the player.

How Google uses data
Twitch privacy notice