Bag o' Lists – Track, Share, and Sync Custom Lists in Foundry VTT
Bag o' Lists is a versatile module for Foundry VTT that lets GMs and players create, share, and manage multiple customizable lists—perfect for tracking factions, resources, crafting materials, ammunition, and more. With real-time updates powered by socketlib, every change is instantly synced across all users.
Recently patched with new Window Scroll and Drag & Drop functionality. Patch notes can be viewed here.
https://github.com/Luna-the-Turtle/Bag-o-Lists/releases/tag/1.0.1
Recently patched with new Backgrounds, Announcements, Image Editor, and New Custom Entry functionality. Patch notes can be viewed here.
https://github.com/Luna-the-Turtle/Bag-o-Lists/releases/tag/1.1.0
Recently patched with New UI, Archiving, Accessibility and much more. Patch notes can be viewed here.https://github.com/Luna-the-Turtle/Bag-o-Lists/releases/tag/1.2.0
Features
- Create and manage multiple “bags” (tabs) for any purpose—factions, resources, NPCs, and more.
- Add custom images to items with a built-in portrait editor for zoom and repositioning.
- Backgrounds and Repositioning for custom images that have been added.
- GM and player views: GMs see and control all data, players see only their relevant lists.
- Items can disappear at zero or persist, based on GM settings.
- Player-controlled items: let players adjust values directly.
- Dedicated edit dialogs for items and characters with UUID linking to access the items from the UI.
- Announcements System with chat integration, custom thresholds, and player targeting.
- Custom Entries can be made alongside the players to share NPC/Group bags.
- Archive System for storing, exporting, and importing entries. This allows what NPCs or Factions are used to be modular and storable.
- 12 configurable settings for accessibility, display, and workflow preferences.
- Real-time updates for all users using socketlib.
How It Works
- Install and enable Bag o' Lists in your Foundry VTT world.
- Open the tracker from the scene controls toolbar (see below).
- GMs create bags, add items, and set custom images.
- Players interact with their own lists and items, adjusting values if allowed.
Module Showcase
A full module showcase can be seen here.
This is out of date and for the last release. It is a great way to show the difference after the updates, but will need to be updated as it is no longer accurate.
Opening The Tracker
Click the bag icon in the left Scene Controls toolbar to open or close the Bag o' Lists tracker.

GMs can see and manage all lists, add items, and set custom images. Players see only their relevant lists and items. I used it here to represent different factions, but you can easily use it for whatever you can imagine.
![]()
GM & Player Views
GMs can see and manage all lists, add items, and customize images. Players see only their relevant lists and items.
GM View: The GM can see all data, controls, and items across every bag.
![]()
Player View: Players see only the bags and items relevant to them.
![]()
Resizable windows: Change the window size so that it is viewed the way you want.
![]()
Creating & Managing Lists
Create new bags and items, rename or delete tabs, and customize each list for your table’s needs.
Create a New Bag & Add Items: Create new pages ("bags") for different lists or trackers, and add new items to any bag. Items can represent factions, resources, or anything you want to track.

Delete Tabs: Remove a bag or a player's tab as needed. The delete action shown removes it for all players and the GM. The delete under the player name in the column will delete it for that player only.

Character Icons & Column Alignment
The GM view displays character portraits above the table, perfectly aligned with their corresponding data columns. Click any portrait to edit the character, or use the "+" button to add new characters or custom entries.
Character Portraits Above Columns: Portraits align with their data columns and are interactive.
![]()
Edit Item Dialog
Click the ✏️ button on any item to open the Edit Item Dialog. From here you can configure:
- Name & Description — add a description that shows as a tooltip and preview in the table.
- Linked Item (UUID) — link to any Foundry document; drag items from the sidebar or paste a UUID. Linked names become clickable to open the document.
- Custom Icon — pick an image and adjust framing with the built-in portrait editor.
- Background Color — toggle a background and choose from gradient or solid color presets.
- Persist @ 0 — keep the item visible to players even at zero value.
- Player Controlled — allow players to adjust the value themselves.
- Custom Value Range — set a custom min/max range (e.g., 0–100 for resources, -50 to +50 for reputation).
- Delete — permanently remove the item from the bag.

Edit Character Dialog
Click any character portrait or the ✏️ icon to open the Edit Character Dialog.
Note: These are already ported from the player character sheets, so it is mainly for custom entries that are added by the GM.
Configure:
-
Name — set or change the display name.
-
Icon — choose a custom image and adjust framing.
-
Show Icon — toggle whether the character icon displays in the header row.
-
Background Color — enable and select a background color for the portrait.
-
Delete — remove custom characters (player characters can be removed via the table header).

Customizing Items
Choose your own images for item portraits using the built-in portrait editor. Zoom, reposition, and crop images for a perfect fit. Select from gradient and solid background colors for visual flair.
Choose an Image, Background, and Reposition: Select an image, pick a background color, and reposition to get the look you want.

Players Can Adjust Backgrounds Too: Players can adjust backgrounds on their own cards as well!

GM Value Controls
GMs can set values for each player using the number input, or quickly adjust with the **+** and **−** buttons directly in each table cell. Values respect the item's custom min/max range.
Setting Values for Players

Item Descriptions & UUID Linking
Add descriptions to items that display as a tooltip preview in both GM and player views. Link items to any Foundry document via UUID—item names become clickable links that open the linked document's sheet. Drag and drop items from the Foundry sidebar directly into the UUID field.
Linking Items via UUID: Drag and drop or paste a UUID to link any Foundry document. Linked names become clickable.

Custom Characters & Shared Entries
Add custom recipients (NPCs, groups, etc.) to track alongside players using the **+** button in the character icons row. Share custom entries with players using the **Share** button—shared entries appear as dedicated player tabs with per-page subtabs.
Creating and Sharing a Custom Entry: Add a custom NPC or group, then share it so players can see its values across all bags.
Players can view shared entries across all bags!
In this example shown, it means the Player can see the Faction Reputation that the NPC has with the same in-world Factions that the Player has Reputation with.
Announcements & Alerts
Access the announcement system through the **📢 Announcements** button (with a live alert badge showing active alert count). The dedicated Announcements Dialog lets you:
- Create announcements targeting specific items with ≤/≥ threshold conditions.
- Target recipients — select individual players, "Any Player" (first to trigger), or "All Players."
- Custom messages for each announcement.
- Send to Chat — optionally post triggered announcements to the Foundry chat, with selectable chat recipients (GM Only, Everyone, or specific players) and an "Include Details" toggle.
- Manage saved announcements — edit, duplicate, delete, or duplicate to a different item.
The Announcements Dialog: Set up announcements with item thresholds, target recipients, and custom messages.
Announcements Sent to Chat: Triggered announcements can be posted to Foundry's chat log for all selected recipients to see.

Reoccurring Announcements: Announcements are dismissible and will reappear if the condition is met again.

This allows the GM to set up permanent messages to appear for when a Reputation level threshold is obtained or when a Consumable runs low.
This allows a player that crafts their own consumables to have the announcement stay even when the item is used up and then resupplied.
Item Tracking Features
Players can adjust item values using up/down arrows or type values directly into the input field. This works with persist-on-zero, allowing a player to manually track and resupply items through crafting or rest.
Player Tracking Their own Values

Persist on Zero:
Items with "Persist @ 0" remain visible to players even at zero value—perfect for craftable or resupplied consumables. Items without it disappear when reaching zero, great for unique or finite resources.

Drag-and-Drop Reordering:
Reorder items in the GM view by dragging the ⋮⋮ handle on any row.

Player Notification Management
Players can manage their announcement notifications with three levels of control:
- Dismiss — temporarily hide an alert for the current session.
- "Do Not Show This Again" — permanently dismiss a specific notification while still receiving chat messages.
- Re-enable — bring back previously dismissed notifications from the collapsible "Disabled Notifications" panel.
Note: If a dismissed notification is re-enabled, then the GM or Player will need to increment/decrement the value above/below the conditional to have the notification apply again. I tried multiple times to work around this issue, but it was more tricky than the time warranted.
Managing Player Notifications: Dismiss, permanently disable, or re-enable notifications.
Archive System
Access the archive through the 📦 Archive button. The Archive Dialog lets you:
- Archive entries — move items to storage to keep your active list clean.
- Restore entries — bring archived items back to the active list.
- Export archive — save your archive to a JSON file for backup or sharing.
- Import archive — load archived entries from a JSON file.
- Permanently delete — remove archived entries when no longer needed.
Archive and Restore: Archive items to storage and bring them back as needed.
Export and Restore: Save your current archive state as a JSON export and import it back when needed.

Settings and Accessibility
Bag o' Lists includes 12 configurable settings accessible from Foundry's Module Settings:
Confirmation Settings:
- Confirm before deleting pages/bags
- Confirm before deleting items
- Confirm before importing archives
Default Settings:
- Default minimum and maximum value range for new items
- Default item image (with file picker)
- Show archive reminder when deleting items
Display Settings:
- Compact Mode — reduces spacing and font sizes to fit more content
- Large Fonts — increases font sizes for readability
- Show Player Names — toggle character names above portraits and in table headers
- Show Tooltips — enable/disable helpful hover tooltips on all controls
Accessibility Settings:
- High Contrast Mode — bolder borders and higher contrast colors for improved visibility
Configuring Module Settings: All settings are accessible from Foundry's Module Settings panel.
Real-Time Sync
All changes are synced instantly to all users via socketlib. (Shoutout to the creator Farling as it is so useful!)
Dependency
Bag o' Lists requires the socketlib module for real-time syncing.
Support & Feedback
For questions, feature requests, or bug reports, please open an issue on the GitHub repository.
https://github.com/Luna-the-Turtle/Bag-o-Lists/issues




