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
Features
- Create and manage multiple “bags” (tabs) for any purpose—factions, resources, NPCs, and more.
- Add custom images to items for visual flair.
- 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.
- Announcements can occur and re-occur for items that you set numeric thresholds for.
- New Custom Entries can be made alongside the players to share NPC/Group bags.
- 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.
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.

Creating & Managing Lists
Create new bags and items, rename or delete tabs, and customize each list for your table’s needs.
Make New Bags: Create new pages ("bags") for different lists or trackers. The following shows the process of making new bags.

Add items to the bag: Add new items to any bag. Items can represent factions, resources, or anything you want to track.

Renaming Bags: Rename any bag directly from the UI for better organization.

Delete Tabs fully or from player view:  Remove a bag or a player's tab as needed.
This first delete shown will remove it everywhere for all players as well as the GM. The second delete shown will remove it for that player only.

Customizing Items & Player Controls
Choose your own images for item portraits. Items can persist at zero or disappear, and players can adjust values if allowed. This is good for maintaining items that the player can track themselves such as frequently bought consumables or crafted ammunition. Newly added is color backgrounds and and image editor for positioning images.
Choosing an image for the item

Choose a background and reposition the image the way you want it shown

Players can adjust them as well

Set values for your players: GM can set values for each player or custom entry.

New custom player: Add custom recipients (NPCs, groups, etc.) to track alongside players.

Share Custom Entries: GMs can share these custom entries with players, making them visible as dedicated tabs.

Players can then view those custom entries: Players can select the shared custom entry to see it's tracked values with existing bags.

This functionality allows the GM to create a cross-matrix of custom entries with existing bags so that the player can as in my example see the relationship that an NPC has with in world factions.
Announcements & Alerts
Set up announcements to alert players or the GM when item values cross a threshold. Announcements are dismissible and will reappear if the condition is met again. 
Just set an announcement for an item with a specific threshold for the conditional

Then see those announcements occur for all selected recipients

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
Items can persist on 0 for the player to keep in their tab and players can track it themselves so that you don't have to
Players can adjust item values using their arrows. This works with the persist on 0 state, allowing a player to manually track and resupply the item if it is recovered through crafting or rest. In this gif you can see it shows the item remaining after reaching 0, then the final item disappearing as it reaches 0. This allows an item to remain if fully consumed like the bombs in this example, so a player that crafts the item regularly can still see the item or category. However a unique or finite resource like the poison in my example will disappear when the consumable runs out.
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
