diff --git a/OutlookCaseHelper/README.md b/OutlookCaseHelper/README.md new file mode 100644 index 0000000..cac99ca --- /dev/null +++ b/OutlookCaseHelper/README.md @@ -0,0 +1,190 @@ +# Outlook Case Helper + +A Windows system tray application that automatically organizes Outlook emails by TrackingID into folders. + +--- + +## Requirements + +- Windows 10/11 +- Microsoft Outlook (classic) installed and configured +- .NET 8.0 Runtime + +--- + +## Installation + +1. Run `OutlookCaseHelperSetup.msi` +2. Follow the installation wizard +3. Launch the app from the Start Menu — **Outlook Case Helper** +4. The app runs in the system tray (bottom-right corner of the taskbar) + +--- + +## How It Works + +The app monitors your Outlook Inbox and Sent folders in real time. When an email arrives or is sent with a subject containing `TrackingID#`, it is automatically moved to the corresponding folder under: + +``` +Inbox > Cases > Active > +``` + +When a case is closed, the folder is moved to: + +``` +Inbox > Cases > Closed > +``` + +--- + +## Features + +### Create Rule (Selected Email) +Right-click the tray icon → **Create Rule (Selected Email)** + +- Select an email in Outlook first +- The app reads the `TrackingID#` from the subject automatically +- Optionally add a name to the folder (e.g. `123456 | Client Name`) +- All existing emails with that TrackingID are moved immediately +- Future emails are moved automatically in real time + +> If the case already exists in **Closed**, it is moved back to **Active** automatically — no new folder is created. + +--- + +### Create Rule (Manual ID) +Right-click the tray icon → **Create Rule (Manual ID)** + +- Manually type a TrackingID number +- Optionally add a name to the folder +- Searches and moves all matching emails from Inbox and Sent + +--- + +### Remove Rule (Selected Email) +Right-click the tray icon → **Remove Rule (Selected Email)** + +- Select an email in Outlook first +- The app reads the TrackingID and removes the active rule +- The folder is moved from **Active** to **Closed** +- Monitoring stops for that TrackingID + +--- + +### Remove Rule (Manual ID) +Right-click the tray icon → **Remove Rule (Manual ID)** + +- Manually type a TrackingID number to remove +- Same behavior as above + +--- + +### Run All Rules Now +Right-click the tray icon → **Run All Rules Now** + +- Scans all folders in the mailbox +- Moves any emails matching active rules to the correct folders +- Useful after the app was closed for a period + +--- + +### Settings +Right-click the tray icon → **Settings** + +Configure keyboard shortcuts: + +| Action | Default Shortcut | +|---|---| +| Create Rule | Alt + 1 | +| Remove Rule | Alt + 2 | + +Modifiers available: **Alt**, **Ctrl**, **Shift** +Keys available: F1–F12, 0–9, A–Z + +Also available in Settings: +- **View Rules File** — opens `active_rules.json` in Notepad +- **Reload Rules** — reloads rules from file without restarting the app + +--- + +### Start with Windows +Right-click the tray icon → **Start with Windows** + +- Toggle whether the app starts automatically when Windows starts +- Checkmark indicates current state + +--- + +## Folder Structure + +``` +Inbox +└── Cases + ├── Active + │ ├── 123456 | Client Name + │ └── 789012 + └── Closed + └── 654321 | Old Case +``` + +--- + +## Rules File + +Rules are stored at: +``` +C:\Users\\AppData\Roaming\OutlookCaseHelper\active_rules.json +``` + +You can edit this file manually in Notepad (via Settings → View Rules File) and reload without restarting. + +--- + +## Email Subject Format + +The app looks for emails with subjects containing: +``` +TrackingID# +``` + +Examples: +- `Case update - TrackingID#1234567890` +- `Re: Support ticket TrackingID#9876543210123456` + +The number can be any length. Everything before `TrackingID#` is ignored. + +--- + +## Limitations + +- **Classic Outlook only** — does not work with New Outlook (web-based). New Outlook support via Microsoft Graph API is planned. +- **Single mailbox** — monitors only the primary Outlook account. Shared mailboxes are not supported. +- **Outlook must be open** — the app connects to a running Outlook instance. If Outlook is closed, rules are saved but monitoring pauses until Outlook is opened again. +- **Subject matching only** — rules are matched by subject line. Emails without `TrackingID#` in the subject are ignored. +- **No undo** — moving folders to Closed or Active cannot be undone through the app. Use Outlook directly to move folders manually if needed. +- **Manual file editing** — if you edit `active_rules.json` manually, use **Reload Rules** in Settings or restart the app for changes to take effect. +- **Case sensitivity** — `TrackingID#` is case-sensitive. `trackingid#` or `TRACKINGID#` will not be matched. + +--- + +## Keyboard Shortcuts + +Shortcuts work globally — even when Outlook is in focus. + +| Shortcut | Action | +|---|---| +| Alt + 1 (default) | Create Rule from selected email | +| Alt + 2 (default) | Remove Rule from selected email | + +Shortcuts can be changed in **Settings**. + +--- + +## Uninstall + +Go to **Control Panel → Programs → Uninstall a program** → select **Outlook Case Helper** → Uninstall. + +Rules and settings stored in `AppData` are not removed automatically. Delete the folder manually if needed: +``` +C:\Users\\AppData\Roaming\OutlookCaseHelper\ +``` diff --git a/OutlookCaseManager.sln b/OutlookCaseManager.sln index 35f484e..fc8141b 100644 --- a/OutlookCaseManager.sln +++ b/OutlookCaseManager.sln @@ -9,7 +9,7 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution ProjectSection(SolutionItems) = preProject App.config = App.config OutlookCaseHelper\bin\Debug\net8.0-windows\casenew.ico = OutlookCaseHelper\bin\Debug\net8.0-windows\casenew.ico - ..\..\..\Downloads\README.md = ..\..\..\Downloads\README.md + README.md = README.md EndProjectSection EndProject Project("{54435603-DBB4-11D2-8724-00A0C9A8B90C}") = "OutlookCaseHelperSetup", "OutlookCaseHelperSetup\OutlookCaseHelperSetup.vdproj", "{45984EC3-3682-760C-C1F0-4987692FB84A}" diff --git a/README.md b/README.md new file mode 100644 index 0000000..cac99ca --- /dev/null +++ b/README.md @@ -0,0 +1,190 @@ +# Outlook Case Helper + +A Windows system tray application that automatically organizes Outlook emails by TrackingID into folders. + +--- + +## Requirements + +- Windows 10/11 +- Microsoft Outlook (classic) installed and configured +- .NET 8.0 Runtime + +--- + +## Installation + +1. Run `OutlookCaseHelperSetup.msi` +2. Follow the installation wizard +3. Launch the app from the Start Menu — **Outlook Case Helper** +4. The app runs in the system tray (bottom-right corner of the taskbar) + +--- + +## How It Works + +The app monitors your Outlook Inbox and Sent folders in real time. When an email arrives or is sent with a subject containing `TrackingID#`, it is automatically moved to the corresponding folder under: + +``` +Inbox > Cases > Active > +``` + +When a case is closed, the folder is moved to: + +``` +Inbox > Cases > Closed > +``` + +--- + +## Features + +### Create Rule (Selected Email) +Right-click the tray icon → **Create Rule (Selected Email)** + +- Select an email in Outlook first +- The app reads the `TrackingID#` from the subject automatically +- Optionally add a name to the folder (e.g. `123456 | Client Name`) +- All existing emails with that TrackingID are moved immediately +- Future emails are moved automatically in real time + +> If the case already exists in **Closed**, it is moved back to **Active** automatically — no new folder is created. + +--- + +### Create Rule (Manual ID) +Right-click the tray icon → **Create Rule (Manual ID)** + +- Manually type a TrackingID number +- Optionally add a name to the folder +- Searches and moves all matching emails from Inbox and Sent + +--- + +### Remove Rule (Selected Email) +Right-click the tray icon → **Remove Rule (Selected Email)** + +- Select an email in Outlook first +- The app reads the TrackingID and removes the active rule +- The folder is moved from **Active** to **Closed** +- Monitoring stops for that TrackingID + +--- + +### Remove Rule (Manual ID) +Right-click the tray icon → **Remove Rule (Manual ID)** + +- Manually type a TrackingID number to remove +- Same behavior as above + +--- + +### Run All Rules Now +Right-click the tray icon → **Run All Rules Now** + +- Scans all folders in the mailbox +- Moves any emails matching active rules to the correct folders +- Useful after the app was closed for a period + +--- + +### Settings +Right-click the tray icon → **Settings** + +Configure keyboard shortcuts: + +| Action | Default Shortcut | +|---|---| +| Create Rule | Alt + 1 | +| Remove Rule | Alt + 2 | + +Modifiers available: **Alt**, **Ctrl**, **Shift** +Keys available: F1–F12, 0–9, A–Z + +Also available in Settings: +- **View Rules File** — opens `active_rules.json` in Notepad +- **Reload Rules** — reloads rules from file without restarting the app + +--- + +### Start with Windows +Right-click the tray icon → **Start with Windows** + +- Toggle whether the app starts automatically when Windows starts +- Checkmark indicates current state + +--- + +## Folder Structure + +``` +Inbox +└── Cases + ├── Active + │ ├── 123456 | Client Name + │ └── 789012 + └── Closed + └── 654321 | Old Case +``` + +--- + +## Rules File + +Rules are stored at: +``` +C:\Users\\AppData\Roaming\OutlookCaseHelper\active_rules.json +``` + +You can edit this file manually in Notepad (via Settings → View Rules File) and reload without restarting. + +--- + +## Email Subject Format + +The app looks for emails with subjects containing: +``` +TrackingID# +``` + +Examples: +- `Case update - TrackingID#1234567890` +- `Re: Support ticket TrackingID#9876543210123456` + +The number can be any length. Everything before `TrackingID#` is ignored. + +--- + +## Limitations + +- **Classic Outlook only** — does not work with New Outlook (web-based). New Outlook support via Microsoft Graph API is planned. +- **Single mailbox** — monitors only the primary Outlook account. Shared mailboxes are not supported. +- **Outlook must be open** — the app connects to a running Outlook instance. If Outlook is closed, rules are saved but monitoring pauses until Outlook is opened again. +- **Subject matching only** — rules are matched by subject line. Emails without `TrackingID#` in the subject are ignored. +- **No undo** — moving folders to Closed or Active cannot be undone through the app. Use Outlook directly to move folders manually if needed. +- **Manual file editing** — if you edit `active_rules.json` manually, use **Reload Rules** in Settings or restart the app for changes to take effect. +- **Case sensitivity** — `TrackingID#` is case-sensitive. `trackingid#` or `TRACKINGID#` will not be matched. + +--- + +## Keyboard Shortcuts + +Shortcuts work globally — even when Outlook is in focus. + +| Shortcut | Action | +|---|---| +| Alt + 1 (default) | Create Rule from selected email | +| Alt + 2 (default) | Remove Rule from selected email | + +Shortcuts can be changed in **Settings**. + +--- + +## Uninstall + +Go to **Control Panel → Programs → Uninstall a program** → select **Outlook Case Helper** → Uninstall. + +Rules and settings stored in `AppData` are not removed automatically. Delete the folder manually if needed: +``` +C:\Users\\AppData\Roaming\OutlookCaseHelper\ +```