Plugin: Inbox Processor

I have many ways of getting content into my Obsidian vault, and the most basic is to dump it into my “Inbox”. My Inbox is a temporary holding space where I put content that needs to be evaluated before it moves on to it’s eventual home. Inbox Processor is a tool to help automate some of that evaluation. By providing configurable Rules, you can have some files automatically moved elsewhere based on naming patterns and file types.

For example, photos from my phone automatically get dumped into my Inbox. They wait there until I alter the name of the ones I want to keep by removing the ‘PXL_’ prefix from the name. Inbox Processor matches one of it’s rules to the new name and shuffles them off to my ‘Chrono/Photos/2025/2025-05’ folder (or whatever the appropriate folder is for the date the photo was taken). Another example, I scan invoices and receipts which are saved to my Inbox. I view them in Obsidian and alter the date in the name to match the date of the transaction, and add some descriptive text to the title as well. The name matches an Inbox Processor rule, and the file is moved to the specified folder.

The plugin is currently under review for the marketplace. Until it’s approved, you can install it manually or via BRAT:

Installation

Manual Installation

  1. Download the main.js, manifest.json, and styles.css files from the latest Release on GitHub.
  2. In your Obsidian vault, navigate to plugins directory.
  3. Create a new folder named jots-inbox-processor.
  4. Copy the downloaded main.js, manifest.json, and styles.css into this new folder.
  5. Restart Obsidian.
  6. Go to Settings → Community Plugins, find “Inbox Processor”, and enable it.

Using BRAT (Recommended for pre-release versions)

  1. Install BRAT (Beta Reviewer’s Auto-update Tester) plugin via the Community Plugins browser.
  2. Enable BRAT in Obsidian’s settings.
  3. Go to BRAT’s settings, click “Add Beta plugin”, and enter the URL of the GitHub repository: https://github.com/jpfieber/jots-inbox-processor
  4. Enable the “Inbox Processor” plugin in Settings → Community Plugins.

Settings

Inbox Processor needs a few simple settings:

  • Inbox Folder: Where is your Inbox? You can pick any folder in your vault, I have one called ‘+Inbox’ at the root of my vault.
  • Interval (seconds): How often do you want to process your Inbox? Type in a number, in seconds. I have mine set to 60. If you leave this blank, it will only process when you run the Process Inbox Manually command.
  • Convert Extensions to Lowercase: Some features in Obsidian handle upper and lowercase extensions differently, so I like to force all of mine to lowercase, which you can do by enabling this option.

With the basics set, you can then define the Rules for each type of file you’d like Inbox Processor to automatically organize:

  • Location is the root folder for the files to be moved to. I have a folder called Chrono (short for ‘Chronological’) that I use to hold content that I like to organize by date, so I have rules with locations like Chrono/Documents and Chrono/Photos.
  • Structure is how the Location folder is organized. You can leave this blank if you just want files moved to the Location folder, or you can add a structure using ‘YMD’ notation. The files name is parsed for a date, and then broken down into year, month and day. You can then use the letters Y and M to specify a structure:
    • YY = 25
    • YYYY = 2025
    • M = 3
    • MM = 03
    • MMM = Mar
    • MMMM = March
    • I have all mine set to YYYY/YYYY-MM so a file like 20250331 - Chemical Bank -- Statement.pdf will end up in Chrono/Documents/2025/2025-03. If you don’t need any structure and just want your files moved to the root of the Location folder, you can leave Structure blank.
  • Extensions refers to the file extensions you want to affect. Type one or more lowercase extensions separated by “|” and the rule will only apply to files that end with those extensions. For example, I have a rule with txt|htm|html|pdf that moves applicable files with those extensions to my Documents folder.
  • Pattern is a way of being more specific than just file extension. It uses a ‘Regular Expression’ (Regex) to specify the pattern of the filename, not including the extension, that you want to move. For example, I have a rule with ^\d{8}_\d{6} that I use for files with extensions jpg|png. Translated, that means "Starting from the beginning of the filename, look for a name that has 8 numbers followed by an underscore and then another 6 numbers (I use https://regex101.com/ to figure out the proper expressions). If you just want every file with a particular extension moved, you can leave this blank.
  • Controls: is where you can delete an unneeded rule, or re-order the existing rules. The rules are process from top to bottom, so if a file fits the first rule, it will be processed, and the rest of the rules will not apply to it. This implies that more specific rules likely should be at the top, and more general rules at the bottom.
  • You can use the Add Rule button at the bottom to add an additional rule.

Support

  • If you want to report a bug, it would be best to start an Issue on the GitHub page.
  • If you’d like to discuss how the plugin works, the best place would be the JOTS SubReddit
  • I’ll also be monitoring this post, would love any feedback you’d like to share!

Hi, this will be really useful, thanks! If I may make a feature request already, what I would love it to do is to process notes older than a certain number of days. I have things hanging around I might need, but usually after a month or so they are no longer needed, (only for possible reference later should something happen) but normally they can shuffle off to my archive. I would love if that can happen automatically after X number of days. (Of course, updating any links etc as when you normally move a note)

Interesting idea. Not sure when I’ll get around to it, but I can see value in your suggestion, will add it to the list!

1 Like