LinkedIn Connection Note Templater
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 adds a customizable template toolbar directly above the "Add a note" textarea on LinkedIn connection request dialogs and pending invitation pages. Instead of typing the same introductory messages repeatedly, you can define message templates with your own labels and content, then insert them with a single click. Left-click a template button to replace the current note text. Right-click a template button to append the template text to whatever you have already typed, making it easy to combine personalized greetings with standardized follow-up messages. The script also includes a real-time character counter showing exactly how many characters you have used out of LinkedIn's 300-character limit, with color-coded warnings when you approach the limit. Each template displays its character count in the settings panel so you can manage message length before sending.
WHERE IT RUNS
The script runs on all LinkedIn domains (*.linkedin.com). It detects the note textarea in connection request dialogs, invitation forms, and pending invitation pages. It works on both the desktop web interface and LinkedIn's mobile-responsive view. The script dynamically detects when note fields appear, so it works with LinkedIn's single-page application navigation and modal dialogs that open after clicking "Connect" buttons.
HOW TO USE
After installation, the settings panel appears on the left side of the screen with the gear emoji (⚙️). Open the panel to manage your templates:
- View and edit existing templates in the Template Management section. Each template has a label (the button text) and content (the message text).
- Edit any template by typing directly into the label or content fields. Changes are saved automatically.
- Add new templates using the "+ Add Template" button.
- Delete templates using the "Delete" button next to each template.
- Reset to default templates using the "Reset to default templates" button.
- Toggle the character counter on or off using the "Show character counter" toggle.
When you open a LinkedIn connection dialog, you will see your template buttons appear above the note textarea. Click a button to replace the note text with that template. Right-click a button to append the template text to the existing note content. The character counter updates automatically as you type or insert templates.
TECHNICAL SECTION — REAL MECHANISM
The script locates note textareas using multiple CSS selectors that target LinkedIn's note input fields, including name="message", placeholder containing "note", aria-label containing "note", and data-test-text-input attributes. It validates that the textarea is visible and contained within a connection-relevant context such as a role="dialog" element, a form, a .send-invite container, or an .invitation-form container. When a valid textarea is found, the script attaches a template wrapper DIV above it using insertBefore. The wrapper contains template buttons created from the stored templates array, with each button binding both click and contextmenu events. Left-click triggers setNoteText with replace=true, while right-click triggers setNoteText with append=true. The text setting function uses the native value setter followed by dispatchEvent for both "input" and "change" events, which is essential because LinkedIn's React-based UI does not detect direct value assignments without these synthetic events. A MutationObserver monitors the entire document body for DOM changes and re-scans for note fields whenever new elements appear, ensuring the toolbar attaches to dynamically loaded dialogs. A secondary observer watches for role="dialog" elements specifically, catching modal openings more quickly.
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 templates are added, deleted, or when actions are performed. The template editor is embedded directly in the panel with auto-saving functionality—changes to template labels or content are persisted immediately 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. LinkedIn frequently updates its DOM structure, which may break the script's selectors. If template buttons stop appearing, please check for script updates. The script stores only the templates array (labels and content strings) via GM_setValue. No data is sent externally. The script never reads or writes password fields, hidden inputs, or file inputs. All DOM operations use safe methods (style properties, textContent, insertBefore, appendChild) to prevent XSS and injection vulnerabilities. The script does not automatically send connection requests—it only assists with composing note text, and you remain in full control of the final message and sending action.