Square Bulk Category Assigner
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
Square Bulk Category Assigner is a retail and inventory management productivity tool that streamlines the process of assigning categories to multiple Square items. Instead of manually opening each item, clicking the category dropdown, selecting a category, and saving—a process that can be tedious when managing many items—this script automates the entire workflow. It scans the current Square item library or category management page, identifies items with their names and current categories, and presents them as a scrollable checklist. You can select individual items, use Select All/Deselect All toggles, enter a target category name, and assign your selections to that category in configurable batches. The tool handles the complete interaction sequence: selecting the item, opening the category interface (dropdown or bulk edit modal), setting the target category, and saving the change. Real-time progress updates show how many items have been assigned, and the list automatically refreshes after completion. This is ideal for retailers, inventory managers, and anyone who needs to organize their Square item library by category.
WHERE IT RUNS
This script operates exclusively on Square (*.squareup.com/*) as a userscript injected through the BotGentz extension. It runs within the context of your current browser tab and cannot access other tabs, bookmarks, history, or downloads. The script reads the page DOM to identify items using Square's selectors (.item-row, .catalog-item, .list-item), extracts item names and current categories, and interacts with Square's native UI controls—category dropdowns, bulk edit modals, and save/confirm buttons—to perform category assignments. All operations occur locally in your browser; no data is sent to external servers.
HOW TO USE
1. Navigate to your Square item library or category management page.
2. Click the BotGentz extension icon and select "Square Bulk Category Assigner" from the script list.
3. The panel opens on the right side of the page. It automatically scans the current page for items.
4. Review the displayed items, showing names and current categories.
5. Enter the target category name in the input field (e.g., "Apparel," "Electronics," "Food").
6. Click "Refresh Categories" to copy a list of existing categories to your clipboard.
7. Adjust the "Batch size" number (default 3) to control how many items are processed per batch.
8. Toggle "Confirm before each batch" if you want a confirmation popup before each batch executes.
9. Check the boxes next to items you wish to assign. Use "Select All" or "Deselect All" for quick selection.
10. Click "Assign Category" to begin. The script processes items in batches, shows progress, and handles errors.
11. After completion, the item list automatically refreshes showing your updated categories.
WHY IT WORKS WHERE OTHERS FAIL
Many Square automation tools fail because they attempt to call Square's internal API endpoints or rely on brittle DOM selectors that change with every Square UI update. This script takes a resilient approach: it locates the actual interactive DOM elements Square renders—the item checkbox, the category dropdown or bulk edit modal, and the save/confirm button—and triggers native click events and value changes on them, exactly as a human would. When assigning a category, the script uses multiple selector strategies to find the category interface, handles both dropdown and input-based category selection, and sets the target value using both the native value setter and dispatching "input" and "change" events, ensuring Square's JavaScript UI registers the update. Between operations, the script introduces controlled delays (300ms between actions and 500ms between batches) to mimic human interaction speed and avoid triggering Square's rate limiting. By interacting at the UI layer rather than the framework layer, it remains functional across Square's frequent code updates.
THE PANEL
The script uses BotGentz's BGPanel system, which provides a floating, draggable panel on the right side of your screen. Drag the panel by its header to reposition it anywhere on the page—the panel remembers its position per site and snaps to the nearest edge when released. Click the minimize button to collapse the panel to a small floating bubble; click the bubble to expand it back. Resize the panel vertically by dragging its bottom edge. Press the Escape key to close the panel entirely. All panel state (position, collapsed/expanded) is persisted locally using GM_setValue, so your preferences survive page reloads.
PLEASE NOTE
This userscript requires the free BotGentz browser extension—it is not a standalone application. Square periodically updates its website layout and UI components; if the script stops working, an updated version may be released. The script assigns items to the target category; ensure you have entered the correct category name before applying. This script does not store, transmit, or process any of your Square data outside your local browser. It does not access your password, hidden inputs, or file inputs. All category assignments are performed through Square's own authenticated session using the official user interface. Use responsibly and verify the target category before assigning.