A modern, feature-rich link management application for Windows
Features β’ Installation β’ Quick Start β’ Documentation
WorkOps's first open-source release brings together everything built during pre-1.0 development into one stable package, plus open-source readiness (MIT license, contributor docs, and automated CI builds). Highlights below.
Build Power Automate-style workflows with visual drag-and-drop designer:
Visual Designer & Canvas
- 2000x1500 Designer Canvas: Drag-and-drop components to design workflows visually
- Component Positioning: Save and restore exact positions of workflow components
- Connection Lines: Visual data flow with variable mapping between steps
- Right-Click Context: Configure components, delete steps, manage connections
- Component Library Browser: Categorized palette with enable/disable controls
11 Workflow Components
- Logic: VariableSet (store data), Condition (if/then branching), Wait (delays), InvokeApp (nested workflows)
- DataSource: HttpRequest (REST APIs), Database (SQL queries), WebSearch (Bing search)
- Action: DisplayModal (user prompts), Notification (toast messages), TextToSpeech (audio output)
- Input: Form (user data collection with validation)
Advanced Features
- Variable System: Pass data between components using {{variableName}} syntax
- Conditional Branching: 10+ operators (equals, contains, regex, greaterthan, isempty, etc.)
- Nested Execution: Apps can invoke other apps with input/output variable mapping
- Circular Detection: Prevents infinite loops in nested app calls
- JSON Configuration: Each component configured via structured JSON editor
Trigger System
- Cron Scheduling: Time-based triggers with full cron expression support (e.g.,
0 9 * * 1-5= weekdays 9am) - Startup Triggers: Auto-run apps when WorkOps launches
- Hotkey Triggers: Global keyboard shortcuts (e.g., Ctrl+Alt+A)
- Manual Execution: Run apps on-demand from management window
- Trigger Management: Enable/disable triggers without deleting workflows
Execution & History
- Execution Engine: Full step-by-step workflow processing with error handling
- History Tracking: Complete execution logs with timestamps, duration, status
- Variable Inspection: View all variables at any execution point (JSON format)
- Status Filtering: Filter history by Success, Failed, Running, Cancelled
- Clear History: Remove old execution records
- Error Details: Capture and display detailed error messages
UI Integration
- π§© Apps Button: Main navigation integration for quick access
- GoToApp Dropdown: Quick-launch menu showing all active apps
- Management Window: Full CRUD operations (Create, Run, Design, Edit, Delete, Triggers)
- Modern Glassmorphism: Transparent windows with acrylic effects
Complete activity logging and notification management:
- Bell Icon (π): Top navigation with real-time unread count badge
- Notification History: Modern card-based window with glassmorphism effects
- Smart Management: Mark individual/all as read, clear all notifications
- Activity Types: Info, Success, Warning, Error with color coding
- Real-time Updates: Badge updates automatically when notifications arrive
- Persistent Storage: All notifications saved to database
- Self-Contained Executable: Single-file portable .exe (~180MB) with .NET 9 runtime included
- Custom Application Icon: Multi-size ICO (16, 32, 48, 256px) embedded in executable
- No Console Window: Pure GUI application with no terminal flashes
- Save Button: Added to edit dialog for improved workflow
- Smart Add Dialog: Preselects current item as parent when adding new links
- Background Color Picker: Customize app background in Settings β Interface
- Inline Validation: Error messages displayed in dialogs without closing
- ComboBox Fixes: All dropdowns now show white text clearly on dark backgrounds
- Resizable Dialogs: Larger default size (650Γ800) with resize capability
- Browse Buttons: Quick file/folder/application selection (π§ππ)
- β 6 new database tables for Apps Management (ComponentTypes, Apps, AppSteps, StepConnections, AppTriggers, AppExecutionLog)
- β Modal service abstraction (Core layer can show dialogs without WPF dependencies)
- β Enhanced dependency injection with scoped service resolution
- β Custom XAML value converters (StatusβColor, BoolβStatus, NullβVisibility, ZeroβCollapsed)
- β
Application path parsing (supports command-line arguments like
"git-bash.exe --cd-to-home") - β Cron scheduler with System.Threading.Timer implementation
- β Global hotkey registration system
- β Circular dependency detection in nested app execution
- β INotificationService with full CRUD operations
- β PowerShell automation scripts for build, publish, and icon generation
- π¨ Visual Designer - Drag-and-drop canvas (2000Γ1500) to build automated workflows
- π§© 11 Components - Logic, DataSource, Action, Input categories with rich functionality
- β° Multi-Trigger System - Cron scheduling, startup execution, global hotkeys
- π Connection System - Visual data flow lines with variable mapping and conditional branching
- π Nested Execution - Apps can invoke other apps with circular dependency protection
- π Execution History - Complete logs with variable inspection and status tracking
- π JSON Configuration - Structured component settings with validation
- π Quick Launch - GoToApp dropdown in main navigation for instant access
- ποΈ Hierarchical Organization - Folders and subfolders with unlimited nesting
- π Universal Links - Web URLs, files, folders, applications, system locations
- π·οΈ Tag System - Color-coded tags for powerful categorization and filtering
- π Real-time Search - Instant filtering across names, URLs, descriptions, notes, and tags
- π Notes Support - Freeform text notes without requiring URLs
- π― Context Menus - Right-click actions: Open, Edit, Rename (inline), Cut, Copy, Paste, Add, Delete, Refresh
- βοΈ Cut / Copy / Paste - Reorganize items and folders (deep-copies whole subtrees) without drag-and-drop
- βοΈ Inline Rename - Rename items directly in the tree (F2-style editing; Enter to save, Esc to cancel)
- π Per-item Rules - Conditionβaction automation per link (notify, webhook, email, etc.) via "Manage Rules"
- π¨βπ©βπ§βπ¦ Parent Selection - Any item can be a parent (folders, links, notes)
- π Notification System - Activity log with bell icon, unread badges, and full history
- π₯ Import/Export - Browser bookmarks (Chrome, Firefox, Edge), JSON, HTML, CSV formats
- πΌοΈ System Tray - Quick access to Hotnavs and Hotclicks menus
- π Startup Integration - Run silently on Windows startup (configurable)
- π¨ Modern UI - Glassmorphism effects, transparent windows, custom styling, acrylic backgrounds
- π¨ Customization - Background color picker, theme options
- β‘ Performance - Single-file executable, ~180MB with full .NET 9 runtime included
- π§ Browse Buttons - Quick file/folder/application selection with Windows Explorer
- πΎ Auto-Save - Changes persist automatically to SQLite database
- β Inline Validation - Real-time error messages in dialogs without disrupting workflow
Logic Components:
- VariableSet - Store and manage workflow variables
- Condition - If/then branching with 10+ comparison operators
- Wait - Delays and pauses in workflow execution
- InvokeApp - Call other workflows with variable passing
DataSource Components:
- HttpRequest - REST API calls (GET, POST, PUT, DELETE)
- Database - Execute SQL queries on databases
- WebSearch - Bing search integration with result parsing
Action Components:
- DisplayModal - Show user prompts and dialogs
- Notification - Toast notifications with variable replacement
- TextToSpeech - Audio output for accessibility
Input Components:
- Form - Collect user input with field validation
- .NET 9 with Windows-optimized WPF
- Entity Framework Core 9 with SQLite database
- MVVM Architecture with proper separation of concerns
- Dependency Injection using Microsoft.Extensions.DependencyInjection
- Custom Value Converters for advanced XAML data binding
- Scoped Services with proper lifetime management
- Async/Await patterns throughout for responsive UI
- Cron Expression Support for flexible scheduling
- Global Hotkey Registration for keyboard shortcuts
- Modal Service Abstraction for cross-layer UI interactions
- Windows 10/11 (x64)
- .NET 9 Runtime (Download here) - Only if not using self-contained build
- Download the latest release from Releases
- Extract the ZIP file to any location
- Run
WinWork.UI.exe- no installation needed! - The app creates its database automatically on first run
Note: Single-file portable executable with full .NET 9 runtime included (~180MB)
# Clone the repository
git clone https://github.com/codelogn/WinWork.git
cd WinWork
# Restore dependencies
dotnet restore
# Build the application
dotnet build
# Run the application
dotnet run --project apps/desktop/WinWork.UI
# Or publish as self-contained executable
.\scripts\run_and_publish.ps1- Launch WinWork.UI.exe - The application creates a local SQLite database automatically
- Default Structure - Pre-created folders: "π Bookmarks" and "π Development Tools"
- Explore Features - Try the π§© Apps Management, π Notifications, and link management
- Click "π§© Apps" button in the top navigation
- Click "New App" and enter a name (e.g., "Morning Routine")
- Click "Design" to open the visual workflow designer
- Drag Components from the palette onto the canvas:
- Add a Notification component (shows a message)
- Add a Wait component (5 second delay)
- Add another Notification component
- Configure Components - Right-click each component and select "Configure"
- First Notification:
{"Title": "Good Morning!", "Message": "Starting your day..."} - Wait:
{"Seconds": 5} - Second Notification:
{"Title": "Ready!", "Message": "Let's get to work!"}
- First Notification:
- Save the workflow
- Run to test your automation!
- In Apps Management, select your app and click "Triggers"
- Add Trigger and choose type:
- Cron: Enter
0 9 * * 1-5(weekdays at 9am) - Startup: Runs when WorkOps launches
- Hotkey: Set global shortcut like Ctrl+Alt+M
- Cron: Enter
- Enable the trigger to activate
- Click "+" button or right-click in the tree view β "Add New"
- Fill in details:
- Name: Display name (e.g., "GitHub Dashboard")
- Type: Auto-detected from URL (Web, Application, File, Folder)
- URL/Path: The actual link destination
- Parent Item: Choose where to organize it (can be any item type)
- Description: Optional notes
- Tags: Add color-coded tags for organization
- Browse Buttons: Use π§ browse for applications, π for folders, π for files
- Save - Your link is ready!
- Click "Manage Tags" button in toolbar
- Add Tag: Enter name and pick a color
- Assign Tags: In Add/Edit dialog, select from dropdown
- Filter: Click tags in main window to filter by tag
- Double-click any link to open it (web, file, folder, or application)
- Edit: Click once to select, view/edit details in right panel
- Search: Type in search bar to filter across all fields (name, URL, description, notes, tags)
- Context Menu: Right-click for Open/Edit/Add/Delete options
- Organize: Drag items to different folders or use edit dialog
- File β Import β Browser Bookmarks
- Select your browser (Chrome, Firefox, Edge)
- Choose the bookmarks HTML file (usually in browser profile folder)
- All bookmarks import with folder structure preserved
- Click π Bell Icon in top navigation
- View all activity logs and notifications
- Mark as Read - Click individual notification or "Mark All Read"
- Clear History - Remove old notifications
| Document | Description |
|---|---|
| User Manual | Complete guide for end users |
| Development Guide | Setup and development instructions |
| API Documentation | Technical API reference |
| Project Status | Current status and roadmap |
| How to Use Guide | Step-by-step usage tutorials |
| Recent Improvements | Latest updates and fixes |
| Apps Management Guide | Workflow automation documentation |
WinWork/
βββ apps/
β βββ desktop/ # π₯οΈ WPF desktop app (the WinWork.sln projects)
β β βββ WinWork.UI/ # π¨ WPF Application & ViewModels (Views, ViewModels, Controls)
β β βββ WinWork.Core/ # βοΈ Business logic, Services, workflow Components, Interfaces
β β βββ WinWork.Data/ # πΎ EF Core Repositories, Migrations, WinWorkDbContext
β β βββ WinWork.Models/ # π Domain models & entities (Link, App, Tag, β¦)
β βββ web/ # π Flask REST API + React frontend (remote mode)
βββ docs/ # π All documentation (+ docs/archive for history)
βββ scripts/ # π Build/dev PowerShell & shell scripts (+ scripts/sql)
βββ tests/ # π§ͺ Unit tests (WinWork.Core.Tests)
βββ tools/ # π§ C# database/migration utilities
βββ assets/ # πΌοΈ Brand assets (logo)
βββ samples/ # π¦ Sample data (import examples)
βββ WinWork.sln # π οΈ Visual Studio Solution
Tech Stack:
- Frontend: WPF with MVVM pattern, modern glassmorphism UI
- Backend: .NET 9 with Entity Framework Core 9
- Database: SQLite with automatic migrations
- DI Container: Microsoft.Extensions.Hosting with dependency injection
- Architecture: Clean separation (Presentation β Business β Data β Models)
The first open-source release of WorkOps. It consolidates all features built during pre-1.0 development and adds open-source readiness.
- β Universal link management β hierarchical tree, 14+ link types, tags, real-time + global search
- β Apps Management β visual workflow designer, 11 components, cron/startup/hotkey triggers, execution history
- β Terminal workspaces (link type 16) β local shells + SSH sessions in one in-app tabbed terminal (ConPTY); secrets in Windows Credential Manager
- β Web Service link type (type 15) with an HTTP request editor
- β Desktop widgets β desktop search, terminal-workspace launcher, and edge dock; restored on startup
- β Notification system β bell icon with unread badges and full history
- β Tree clipboard & rename β Cut/Copy/Paste items and folders (deep-copy of subtrees) plus inline Rename and Refresh
- β Per-item rules β "Manage Rules" conditionβaction automation per link
- β
Open-source ready β MIT
LICENSE,CONTRIBUTING.md,SECURITY.md, GitHub issue/PR templates, and CI that auto-publishes releases - β 841 unit tests across components, services, evaluators, and repositories
The version numbers below were internal alpha/beta builds leading up to the first public v1.0.0 release; they were never published to GitHub.
- Terminal workspaces, Web Service link type, desktop widgets
- Settings reliability fixes; repository restructure into
apps/desktop+apps/web
- Visual workflow designer (2000Γ1500 canvas), 11 components
- Cron/startup/hotkey triggers, execution history, nested app invocation
- Connection editor with variable mapping; 6 new Apps database tables
- Bell icon with unread badge, notification history window
- Mark read / clear all, activity logging, database persistence
- Self-contained single-file executable (~180MB), custom multi-size icon
- Save button, smart parent selection, background color picker, inline validation
- ComboBox visibility fixes, resizable dialogs, browse buttons
- Application-argument support, toast notifications, real-time tree refresh
We welcome contributions! Please read CONTRIBUTING.md for the full guide (prerequisites, build/test commands, and PR expectations).
# Clone and setup
git clone https://github.com/codelogn/WinWork.git
cd WinWork
# Setup development environment
dotnet restore
dotnet build WinWork.sln
# Run the test suite
dotnet test tests/WinWork.Core.Tests/WinWork.Core.Tests.csproj- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
See CONTRIBUTING.md and the Development Guide for details. To report a vulnerability, see SECURITY.md.
This project is licensed under the MIT License - see the LICENSE file for details.
- π Documentation: Check the docs/ folder
- π Bug Reports: Create an issue
- π‘ Feature Requests: Create an issue
- π¬ Questions: Discussions
- Microsoft for .NET 9 and WPF
- Entity Framework Team for the excellent ORM
- SQLite for the lightweight database
- Community for feedback and contributions
β Star this repository if you find it helpful!
Made with β€οΈ for the Windows community