Gmail Signature Rotator
Free to download on every platform. Comes pre-installed on BotFone, BotPad and BotFlip — with extra free apps included.
About this app
WHAT IT DOES
This script lets you manage and rotate multiple email signatures in Gmail. Instead of using a single static signature, you can maintain a list of signatures and have a different one inserted each time you compose a new email. The script supports three rotation strategies: random (pick any signature), sequential (cycle through them in order), and weighted (biased toward recently used signatures). A "Rotate Signature" button in the compose toolbar lets you manually cycle through signatures without reopening the compose window. You can add, edit, and delete signatures in the settings panel. The script also supports a default signature for specific recipients or domains—for example, use your professional signature when emailing work domains, and a casual signature for friends.
WHERE IT RUNS
The script runs on Gmail (mail.google.com). It works on the compose window in both the main Gmail interface and the popup compose view. It supports both desktop and mobile views.
HOW TO USE
After installation, the settings panel appears on the left side of the screen with the gear emoji (⚙️). Open the panel to configure the script:
- The "Enable signature rotator" toggle enables or disables the script.
- The "Signatures" list shows all your saved signatures. Use the ✎ button to edit a signature, or the ✕ button to delete it.
- Enter a new signature in the text area and click "+ Add Signature" to add it.
- Choose a rotation strategy from the dropdown: "Random," "Sequential," or "Weighted."
- Enter a default signature or recipient domain in the "Default signature" field.
When you compose a new email, a signature is automatically inserted. Click the "Rotate Signature" button in the compose toolbar to cycle to another signature.
TECHNICAL SECTION — REAL MECHANISM
The script detects Gmail compose windows by looking for elements like .AD, .aoD, .aZm, and [role="dialog"]. It finds the signature section by scanning the compose body text for the "-- " separator that Gmail uses to mark signatures, or by identifying the last few lines of the message body. The signatures are stored as an array of strings via GM_setValue. When a compose window opens, the script selects a signature based on the rotation strategy: random picks a random index, sequential cycles through indices, and weighted uses a probability distribution biased toward recently used indices. The recipient is extracted from the "To" field to check for domain-based default signatures. The signature is inserted by replacing the existing signature section in the compose body. The script uses the native value setter and dispatches "input" and "change" events to ensure React's event system detects the change. The "Rotate Signature" button is injected into the compose toolbar next to the send button.
THE PANEL
The settings panel is built with BotGentz's BGPanel component. It is draggable via its header, allowing you to reposition it anywhere on the screen. The panel snaps to the left edge by default but can be moved freely. Click the gear emoji to collapse the panel into a small bubble, and click the bubble to expand it again. The panel remembers its position per page session. Press the Escape key to quickly close or minimize the panel. The panel includes a status flash bar that provides visual feedback when settings are changed or actions are performed. All settings and signatures save automatically via GM_setValue.
PLEASE NOTE
This script requires the free BotGentz browser extension to run. It does not function as a standalone Chrome extension and does not use chrome.* APIs. Gmail frequently updates its interface, which may affect the selectors used to find compose windows, signatures, and the toolbar. If the script stops working, please check for updates. The script manages plain text signatures by default. HTML signatures are supported via the compose body, but the script does not parse or render HTML—it inserts the raw HTML content as text, and Gmail renders it appropriately. The script stores your signatures and preferences via GM_setValue. No data is sent externally—all data is stored locally in your browser. The script never reads or writes password fields, hidden inputs, or file inputs. All DOM operations use safe methods (style properties, textContent, appendChild) and never use innerHTML.