Skip to content

YashSharmaa/SWB-RPA

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

1 Commit
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

SnowBoard RPA

SnowBoard RPA Studio

Next-Generation Enterprise Robotic Process Automation
Built for Windows. Powered by .NET 9.0. Designed for Scale.

.NET 9.0 C# 13 Windows 178 Activities Proprietary


================================================================================
Copyright (c) 2025 Yash (Yash_Personal_openSource). All rights reserved.

Built by: Yash Sharma (connect@yashsharma.ai)
Title: Sr AI/ML Engineer, Yash, Yash_Personal_openSource

Proprietary and Confidential Software
================================================================================

Table of Contents


Overview

SnowBoard RPA Studio is an enterprise-grade robotic process automation platform built from the ground up using modern .NET 9.0. It enables organizations to automate repetitive tasks across desktop applications, web browsers, Java applications, legacy terminals, APIs, and Citrix/VDI environments through a visual workflow designerβ€”with zero coding required.

What Makes SnowBoard Different

Capability SnowBoard RPA Traditional RPA
Runtime .NET 9.0 (modern, LTS) .NET Framework 4.8 (legacy)
Workflow Format JSON (version control friendly) XAML/binary (hard to diff)
Web Automation Playwright + CDP (background execution) Selenium (foreground, flaky)
AI Integration Azure OpenAI built-in Separate license required
Computer Vision YOLOv8 + OpenCV Template matching only
Citrix/VDI Native selectors via Remote Runtime Image-based only
Self-Healing Built-in selector auto-repair Manual or paid add-on
Architecture Config-driven (no compilation) Code-behind (requires build)

Key Features

Automation Targets
  • Desktop Applications β€” Win32, WPF, UWP, WinForms via Windows UI Automation API
  • Web Browsers β€” Microsoft Edge, Chrome, Firefox via Playwright + Chrome DevTools Protocol
  • Java Applications β€” Swing, AWT, Oracle Forms via Java Access Bridge
  • SAP GUI β€” Native scripting for SAP transactions
  • Terminal/Mainframe β€” IBM 3270/5250 via EHLLAPI
  • Citrix/VDI β€” Native selectors via Remote Runtime Agent + Computer Vision fallback
  • APIs β€” REST/SOAP with OAuth, JWT, Bearer, Basic authentication
AI-Powered Capabilities
  • Workflow Generation β€” Create workflows from natural language descriptions
  • UiPath Migration β€” Convert UiPath XAML workflows to SnowBoard JSON
  • Intelligent Data Extraction β€” Extract structured data from unstructured text
  • Error Debugging β€” AI-assisted troubleshooting and fix suggestions
  • Selector Generation β€” Generate UI selectors from descriptions
Enterprise Features
  • Self-Healing Selectors β€” Automatic selector repair with fuzzy matching
  • Process Mining β€” Event logging, XES export, workflow optimization
  • RBAC β€” Role-based access control with 40 permissions and 5 built-in roles
  • Secure Vaults β€” Azure Key Vault, CyberArk CCP, HashiCorp Vault integration
  • Package Signing β€” X.509 certificate-based digital signatures
  • Auto-Update β€” Built-in update system with SHA256 verification

Platform Architecture

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚                           SNOWBOARD RPA PLATFORM                                 β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚                                                                                  β”‚
β”‚   β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”                 β”‚
β”‚   β”‚  STUDIO (WPF)   β”‚  β”‚  RUNNER (CLI)   β”‚  β”‚   TRAY (UI)     β”‚                 β”‚
β”‚   β”‚  Visual Designerβ”‚  β”‚  Unattended     β”‚  β”‚  Attended Mode  β”‚                 β”‚
β”‚   β”‚  + AI Assistant β”‚  β”‚  + Win Service  β”‚  β”‚  Quick Launch   β”‚                 β”‚
β”‚   β””β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”˜  β””β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”˜  β””β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”˜                 β”‚
β”‚            β”‚                    β”‚                    β”‚                          β”‚
β”‚            β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜                          β”‚
β”‚                                 β”‚                                                β”‚
β”‚                    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β–Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”                                  β”‚
β”‚                    β”‚    SNOWBOARD ENGINE     β”‚                                  β”‚
β”‚                    β”‚    178 Activities       β”‚                                  β”‚
β”‚                    β”‚    25+ Categories       β”‚                                  β”‚
β”‚                    β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜                                  β”‚
β”‚                                 β”‚                                                β”‚
β”‚   β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”                 β”‚
β”‚   β”‚                             β”‚                             β”‚                 β”‚
β”‚   β–Ό                             β–Ό                             β–Ό                 β”‚
β”‚ β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”            β”‚
β”‚ β”‚   DESKTOP     β”‚    β”‚      WEB          β”‚    β”‚      JAVA         β”‚            β”‚
β”‚ β”‚ UI Automation β”‚    β”‚   Playwright+CDP  β”‚    β”‚  Access Bridge    β”‚            β”‚
β”‚ β”‚ + Self-Heal   β”‚    β”‚   Background Exec β”‚    β”‚  Swing/AWT        β”‚            β”‚
β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜    β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜    β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜            β”‚
β”‚                                                                                  β”‚
β”‚ β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”            β”‚
β”‚ β”‚ COMPUTER      β”‚    β”‚  REMOTE RUNTIME   β”‚    β”‚  PROCESS MINING   β”‚            β”‚
β”‚ β”‚ VISION        β”‚    β”‚  Citrix/VDI Agent β”‚    β”‚  Event Logging    β”‚            β”‚
β”‚ β”‚ YOLOv8+OpenCV β”‚    β”‚  TCP Port 9250    β”‚    β”‚  REST API         β”‚            β”‚
β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜    β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜    β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜            β”‚
β”‚                                                                                  β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚  INTEGRATIONS: Azure OpenAI β”‚ Azure Key Vault β”‚ CyberArk β”‚ MS Graph β”‚ Google   β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

Projects Overview

Project Type Purpose
Snowboard.Engine Library Core RPA engine with 178 activities, automation APIs, workflow execution
Snowboard.Studio WPF App Visual workflow designer with AI assistant, debugger, RBAC
Snowboard.Runner Console CLI runner + Windows Service for unattended automation
Snowboard.Tray WinForms System tray app for attended automation quick-launch
Snowboard.NativeMessaging Console Native messaging bridge for Edge extension (web recorder)
Snowboard.RemoteRuntime Service Remote agent for Citrix/VDI with native UI Automation
Snowboard.ProcessMining.Api Web API REST API for process mining events and queue management
Snowboard.Engine.Tests xUnit Unit tests for engine components
Snowboard.Engine.IntegrationTests xUnit Integration tests for automation scenarios
Snowboard.Engine.PerformanceTests Benchmark BenchmarkDotNet performance profiling suite

Activity Catalog

178 Built-in Activities across 25+ Categories

Desktop UI Automation β€” 17 activities
Activity Description
Click Click on UI element
DoubleClick Double-click on UI element
RightClick Right-click context menu
TypeText Type text into element
GetText Extract text from element
SendHotkey Send keyboard shortcuts
DragDrop Drag and drop operations
Select Select from dropdown
WaitForElement Wait for element to appear
FocusWindow Bring window to foreground
MaximizeWindow Maximize application window
MinimizeWindow Minimize application window
AttachWindow Attach to running application
GetWindows List open windows
HighlightElement Visual element highlighting
OpenApplication Launch application
CloseApplication Close application
Web Automation β€” 18 activities
Activity Description
OpenBrowser Launch browser (Edge/Chrome/Firefox)
CloseBrowser Close browser instance
Navigate Navigate to URL
ClickWeb Click web element
TypeWeb Type into web element
GetWebText Extract text from web element
GetWebAttribute Get element attribute
SelectWebDropdown Select dropdown option
CheckWebElement Check/uncheck checkbox
ExecuteJavaScript Execute custom JavaScript
WaitForWebElement Wait for element
UploadFileWeb Upload file to web
DownloadFile Download file from web
AttachBrowser Attach to existing browser
GetBrowserTabs List browser tabs
SwitchTab Switch to tab
NewTab Open new tab
CloseTab Close tab
Control Flow β€” 22 activities
Activity Description
If Conditional branching
ForEach Iterate over collection
While While loop
DoWhile Do-while loop
TryCatch Exception handling
Sequence Sequential execution
Parallel Parallel execution
ParallelForEach Parallel iteration
Switch Multi-way branching
Retry Retry on failure
Delay Fixed delay
Wait Wait for condition
Break Exit loop
Continue Skip iteration
SetVariable Set variable value
Log Write to log
Comment Documentation comment
ThrowException Throw exception
InvokeWorkflow Call sub-workflow
FlowDecision Flowchart decision
StateMachine State machine execution
CompensableScope Transaction compensation
Excel & Data β€” 24 activities
Activity Description
ReadExcel Read Excel file to DataTable
WriteExcel Write DataTable to Excel
ExcelApplicationScope Excel workbook scope
ReadRange Read cell range
WriteRange Write to cell range
InsertRow Insert row
DeleteRow Delete row
FormatCells Format cells
GetCellValue Get single cell value
SetCellValue Set single cell value
BuildDataTable Create DataTable
AddDataRow Add row to DataTable
FilterDataTable Filter DataTable
JoinDataTables Join DataTables
SortDataTable Sort DataTable
MergeDataTables Merge DataTables
PivotDataTable Pivot DataTable
AggregateDataTable Aggregate operations
RemoveDuplicateRows Remove duplicates
LookupDataTable Lookup value
OutputDataTable Convert to string
AddBusinessDays Add business days
SubtractBusinessDays Subtract business days
GetBusinessDaysCount Count business days
File Operations β€” 9 activities
Activity Description
ReadFile Read text file
WriteFile Write text file
CopyFile Copy file
MoveFile Move file
DeleteFile Delete file
FileExists Check if file exists
GetFilesInFolder List folder contents
CreateFolder Create directory
DeleteFolder Delete directory
Orchestrator & Queues β€” 9 activities
Activity Description
AddQueueItem Add item to queue
BulkAddQueueItems Bulk add items
GetQueueItem Get next queue item
SetTransactionStatus Update item status
DeleteQueueItem Delete queue item
PostponeQueueItem Postpone processing
GetQueueStatistics Get queue metrics
GetAsset Get asset value
GetSecureCredential Get credentials from vault
Computer Vision (Citrix/VDI) β€” 9 activities
Activity Description
CVScreenScope CV screen context
CVClick Click detected element
CVTypeText Type into detected element
CVGetText Extract text via OCR
CVElementExists Check element exists
CVExtractTable Extract table data
CVHighlight Highlight detection
CVHover Hover over element
CVWaitForElement Wait for element
User Dialogs (Attended) β€” 6 activities
Activity Description
InputDialog Text input dialog
MessageBox Message display
SelectFile File picker dialog
SelectFolder Folder picker dialog
SelectFromList List selection dialog
ShowForm Custom form dialog
AI & IDP β€” 6 activities
Activity Description
AskGPT Query Azure OpenAI
AnalyzeText Text analysis
ExtractStructuredData Extract structured data
DigitizeDocument Azure Form Recognizer
ClassifyDocument Document classification
ExtractFormData Form field extraction
Additional Categories
Category Count Examples
Java Automation 3 ClickJava, TypeJava, GetJavaText
Email 3 SendEmail, GetOutlookMail, SendOutlookMail
Database 1 ExecuteSQL (SQL Server, SQLite, Oracle)
API 1 HttpRequest (REST with OAuth/JWT/Bearer/Basic)
String Operations 7 StringReplace, StringSplit, RegexMatch
System 6 RunPowerShell, SetClipboard, KillProcess
Collections 7 AddToDictionary, SplitList, ContainsItem
Python Scripting 6 PythonScope, RunPythonScript, InvokePythonMethod
Microsoft 365 4 Office365Scope, SendMailGraph, UploadToOneDrive
Google Workspace 3 GoogleWorkspaceScope, SendGmail, GetGmail
Terminal/Mainframe 4 TerminalSession, TerminalSendKeys, TerminalGetText
Web Scraping 2 ExtractTable, ScrapeWithPagination
SAP GUI 4 SAPLogin, SAPExecuteTransaction, SAPGetTableData
Image/OCR 4 TakeScreenshot, ClickImage, ExtractTextOCR, ReadPDF
Citrix Legacy 3 ClickImageCitrix, WaitForImage, GetTextOCRCitrix

Technology Stack

Core Technologies

Component Technology Version
Runtime .NET 9.0
Language C# 13.0
UI Framework WPF .NET 9.0
Serialization System.Text.Json 9.0.1

Automation Stack

Target Technology Version
Web Browsers Microsoft Playwright 1.49.0
Desktop Apps Windows UI Automation Built-in
Java Apps Java Access Bridge Native
Input Simulation Win32 SendInput P/Invoke
Computer Vision Emgu.CV (OpenCV) 4.9.0
OCR Tesseract + Windows OCR 5.2.0

Enterprise Integration

Category Technology Version
AI/LLM Azure.AI.OpenAI 2.1.0
Excel ClosedXML 0.104.2
PDF PdfPig 0.1.9
Database Microsoft.Data.SqlClient 5.2.2
Email Outlook Interop 15.0
Testing xUnit + BenchmarkDotNet 2.9.3 / 0.14.0

Quick Start

Prerequisites

  • Windows 10 (1809+) or Windows 11
  • .NET 9.0 SDK β€” Download
  • PowerShell 5.1+ (included with Windows)

Build & Run

# Clone or navigate to project directory
cd SnowBoard-v2

# Build entire solution (Debug + Release)
.\build.ps1

# Install Playwright browsers (one-time)
pwsh -Command "& { .\Snowboard.Engine\bin\Release\net9.0-windows\playwright.ps1 install chromium }"

# Launch Studio
.\Snowboard.Studio\bin\Release\net9.0-windows\Snowboard.Studio.exe

First Workflow

Create a file called hello.json:

{
  "name": "HelloWorld",
  "version": "1.0.0",
  "activities": [
    {
      "type": "OpenApplication",
      "properties": {
        "ApplicationPath": "notepad.exe"
      }
    },
    {
      "type": "Delay",
      "properties": {
        "Milliseconds": 1000
      }
    },
    {
      "type": "TypeText",
      "properties": {
        "Text": "Hello from SnowBoard RPA!"
      }
    }
  ]
}

Run it:

.\Snowboard.Runner\bin\Release\net9.0-windows\Snowboard.Runner.exe hello.json

Project Structure

SnowBoard-v2/
β”œβ”€β”€ Snowboard.sln                              # Solution file
β”œβ”€β”€ README.md                                  # This file
β”œβ”€β”€ BUILD.md                                   # Build instructions
β”œβ”€β”€ VERSION.txt                                # Release notes
β”‚
β”œβ”€β”€ Snowboard.Engine/                          # Core RPA Engine (DLL)
β”‚   β”œβ”€β”€ Activities/                            # 178 activity implementations
β”‚   β”‚   β”œβ”€β”€ Basic/                             # Desktop UI activities
β”‚   β”‚   β”œβ”€β”€ Web/                               # Web automation activities
β”‚   β”‚   β”œβ”€β”€ ControlFlow/                       # Flow control activities
β”‚   β”‚   β”œβ”€β”€ Data/                              # Excel & DataTable activities
β”‚   β”‚   β”œβ”€β”€ ComputerVision/                    # CV activities
β”‚   β”‚   β”œβ”€β”€ AI/                                # AI/GPT activities
β”‚   β”‚   β”œβ”€β”€ IDP/                               # Document processing
β”‚   β”‚   └── [20+ more categories]
β”‚   β”œβ”€β”€ Automation/                            # Automation APIs
β”‚   β”‚   β”œβ”€β”€ DesktopAutomation.cs               # Windows UI Automation
β”‚   β”‚   β”œβ”€β”€ WebAutomation.cs                   # Playwright + CDP
β”‚   β”‚   β”œβ”€β”€ JavaAutomation.cs                  # Java Access Bridge
β”‚   β”‚   β”œβ”€β”€ UIElementFinder.cs                 # Element finding + caching
β”‚   β”‚   β”œβ”€β”€ InputSimulation.cs                 # Win32 SendInput
β”‚   β”‚   └── FuzzyMatcher.cs                    # Levenshtein matching
β”‚   β”œβ”€β”€ AI/                                    # AI Assistant
β”‚   β”‚   └── AIAssistant.cs                     # Azure OpenAI integration
β”‚   β”œβ”€β”€ ComputerVision/                        # CV subsystem
β”‚   β”‚   β”œβ”€β”€ CVDetector.cs                      # YOLOv8 + OpenCV
β”‚   β”‚   β”œβ”€β”€ SurfaceAutomation.cs               # Image-based automation
β”‚   β”‚   └── RemoteRuntime.cs                   # Remote CV client
β”‚   β”œβ”€β”€ SelfHealing/                           # Self-healing selectors
β”‚   β”‚   β”œβ”€β”€ HealingEngine.cs                   # Core healing logic
β”‚   β”‚   β”œβ”€β”€ SelectorAnalyzer.cs                # Selector analysis
β”‚   β”‚   └── HealingModelTrainer.cs             # ML model training
β”‚   β”œβ”€β”€ ProcessMining/                         # Process mining
β”‚   β”‚   β”œβ”€β”€ ProcessLogger.cs                   # Event logging
β”‚   β”‚   └── QueueApiService.cs                 # Queue management
β”‚   β”œβ”€β”€ RBAC/                                  # Access control
β”‚   β”‚   └── RBACService.cs                     # Role-based permissions
β”‚   β”œβ”€β”€ SecureVault/                           # Credential vaults
β”‚   β”‚   β”œβ”€β”€ AzureKeyVaultProvider.cs
β”‚   β”‚   β”œβ”€β”€ CyberArkProvider.cs
β”‚   β”‚   └── HashiCorpVaultProvider.cs
β”‚   β”œβ”€β”€ Orchestrator/                          # Queue & Asset management
β”‚   β”‚   β”œβ”€β”€ QueueManager.cs
β”‚   β”‚   └── AssetManager.cs
β”‚   β”œβ”€β”€ WorkflowEngine.cs                      # Workflow execution
β”‚   β”œβ”€β”€ PackageManager.cs                      # .snowboard packages
β”‚   └── EngineInitializer.cs                   # Activity registration
β”‚
β”œβ”€β”€ Snowboard.Studio/                          # Visual Designer (WPF)
β”‚   β”œβ”€β”€ MainWindow.xaml(.cs)                   # Main IDE window
β”‚   β”œβ”€β”€ Controls/
β”‚   β”‚   β”œβ”€β”€ FlowchartDesigner.xaml(.cs)        # Visual workflow designer
β”‚   β”‚   β”œβ”€β”€ DebugPanel.xaml(.cs)               # Debugger UI
β”‚   β”‚   └── GitTeamPanel.xaml(.cs)             # Git integration
β”‚   β”œβ”€β”€ LoginWindow.xaml(.cs)                  # RBAC login
β”‚   β”œβ”€β”€ SettingsWindow.xaml(.cs)               # Configuration
β”‚   β”œβ”€β”€ UIExplorerWindow.xaml(.cs)             # Element inspector
β”‚   β”œβ”€β”€ ObjectRepositoryWindow.xaml(.cs)       # Selector repository
β”‚   β”œβ”€β”€ ProcessMiningWindow.xaml(.cs)          # Process analytics
β”‚   β”œβ”€β”€ HealingSuggestionsWindow.xaml(.cs)     # Self-healing UI
β”‚   β”œβ”€β”€ CVInspectorWindow.xaml(.cs)            # CV debugging
β”‚   β”œβ”€β”€ RemoteRuntimeWindow.xaml(.cs)          # Remote agent config
β”‚   β”œβ”€β”€ UserManagementWindow.xaml(.cs)         # User admin
β”‚   β”œβ”€β”€ RoleManagementWindow.xaml(.cs)         # Role admin
β”‚   └── UpdateNotificationWindow.xaml(.cs)     # Auto-update UI
β”‚
β”œβ”€β”€ Snowboard.Runner/                          # CLI Runner
β”‚   └── Program.cs                             # Headless executor
β”‚
β”œβ”€β”€ Snowboard.Tray/                            # System Tray App
β”‚   └── Program.cs                             # Attended automation launcher
β”‚
β”œβ”€β”€ Snowboard.RemoteRuntime/                   # Citrix/VDI Agent
β”‚   β”œβ”€β”€ Program.cs                             # TCP server (port 9250)
β”‚   └── README.md                              # Agent documentation
β”‚
β”œβ”€β”€ Snowboard.ProcessMining.Api/               # Process Mining REST API
β”‚   β”œβ”€β”€ Controllers/                           # API controllers
β”‚   β”œβ”€β”€ Program.cs                             # ASP.NET Core host
β”‚   └── README.md                              # API documentation
β”‚
β”œβ”€β”€ Snowboard.NativeMessaging/                 # Edge Extension Bridge
β”‚   └── Program.cs                             # Native messaging host
β”‚
β”œβ”€β”€ Snowboard.Engine.Tests/                    # Unit Tests
β”œβ”€β”€ Snowboard.Engine.IntegrationTests/         # Integration Tests
β”œβ”€β”€ Snowboard.Engine.PerformanceTests/         # Performance Benchmarks
β”‚
β”œβ”€β”€ EdgeExtension/                             # Web Recorder Extension
β”‚   β”œβ”€β”€ manifest.json                          # Manifest V3
β”‚   β”œβ”€β”€ background.js                          # Service worker
β”‚   └── content.js                             # Element capture
β”‚
β”œβ”€β”€ Docs/                                      # Documentation
β”‚   β”œβ”€β”€ Architecture/                          # Architecture docs (9 parts)
β”‚   β”œβ”€β”€ Process_Flows/                         # Process flow diagrams
β”‚   β”œβ”€β”€ WebAutomation.md
β”‚   β”œβ”€β”€ DesktopAutomation.md
β”‚   β”œβ”€β”€ Auto-Update-Guide.md
β”‚   └── [more guides]
β”‚
β”œβ”€β”€ Installer/                                 # MSI Installers
β”‚   β”œβ”€β”€ build.ps1                              # Build script
β”‚   β”œβ”€β”€ SnowBoard-Desktop-v3.wxs               # Desktop installer
β”‚   β”œβ”€β”€ SnowBoard-VM-v3.wxs                    # VM installer
β”‚   └── wix311/                                # WiX Toolset
β”‚
β”œβ”€β”€ Templates/                                 # Workflow Templates
β”‚   └── REFramework.json                       # Enterprise template
β”‚
└── Examples/                                  # Example Workflows
    β”œβ”€β”€ ApiWorkflowExamples/
    └── HybridWorkflowExamples/

Studio Features

Visual Workflow Designer

  • Drag-and-drop activity design on flowchart canvas
  • Activity palette with 25+ categorized activities
  • Properties panel for activity configuration
  • Variable manager with type support
  • Output console with real-time execution logs

Integrated Debugger

  • Breakpoints β€” Pause execution at any activity
  • Step execution β€” Step into, over, and out
  • Watch variables β€” Monitor variable values in real-time
  • Call stack β€” View execution hierarchy

AI Assistant

  • Natural language workflow generation
  • UiPath migration β€” Convert XAML to JSON
  • Selector generation from descriptions
  • Error debugging assistance

UI Explorer

  • Live element tree inspection
  • Selector generation with copy-to-clipboard
  • Element highlighting in target application
  • Attribute inspection

Self-Healing Panel

  • Suggestion mode β€” Review before applying
  • Auto-repair mode β€” Automatic selector fixes
  • Confidence threshold β€” 0.85 default
  • Telemetry β€” Track healing patterns

Object Repository

  • Centralized selectors management
  • Version control friendly format
  • Shared across workflows
  • Import/Export capabilities

Advanced Capabilities

Remote Runtime (Citrix/VDI)

The Remote Runtime Agent enables native UI Automation inside Citrix/VDI environmentsβ€”eliminating the need for image-based automation.

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”         β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚   Snowboard Studio      β”‚  TCP    β”‚  Remote Runtime Agent   β”‚
β”‚   (Developer Machine)   │◄───────►│  (Citrix/VDI Machine)   β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜  9250   β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

Benefits:

  • 10x faster than image matching
  • Works with covered windows
  • Native selector reliability
  • UDP auto-discovery (port 9251)

Process Mining API

REST API for process event logging and queue management:

GET  /api/health                    # Health check
GET  /api/processlogs/metrics       # Execution metrics
GET  /api/processlogs/export        # Export logs (JSON/XES)
GET  /api/queues                    # List queues
POST /api/queues/{name}/items       # Add queue item
GET  /api/queues/{name}/next        # Get next item

Self-Healing Engine

Automatic selector repair using fuzzy matching:

Configuration Default Description
Mode Suggestions SuggestionsOnly or AutoRepair
Max Fuzzy Expansion 0.35 Levenshtein distance threshold
Min Confidence 0.85 Auto-repair confidence threshold
Max Candidates 10 Maximum alternative selectors
Telemetry Retention 90 days Healing pattern storage

Secure Vault Integration

Important

Azure Cloud Services Note: Cloud orchestration capabilities (Azure Service Bus, Azure Container Instances, Azure Monitor) are dependent on the Snowboard Orchestrator team's architecture decisions. Studio is fully modular and can quickly incorporate any Azure services required. Current implementation focuses on Studio functionality with local SQLite-based orchestrator-lite for development and testing.

Supported Vault Providers:

Provider Authentication Use Case
Azure Key Vault Managed Identity / Service Principal Azure-native deployments
CyberArk CCP Client certificate + App ID Enterprise CyberArk environments
HashiCorp Vault Token / AppRole Multi-cloud / Kubernetes

Build & Deployment

Build Scripts

# Build entire solution (Debug + Release)
.\build.ps1

# Create MSI installers
cd Installer
.\build.ps1

MSI Installers

Installer Components Size
SnowBoard-Desktop Studio + Runner + Tray + Extensions ~543 MB
SnowBoard-Runner Runner + RemoteRuntime + Tray + Extensions ~52 MB

Silent Installation

# Default installation
msiexec /i SnowBoard-Desktop-1.0.0.msi /quiet /norestart

# Custom path
msiexec /i SnowBoard-Desktop-1.0.0.msi /quiet INSTALLFOLDER="D:\SnowBoard"

Execution Modes

Mode Command Use Case
Interactive Launch Studio Development & debugging
Attended CLI Runner.exe workflow.json User-triggered automation
Headless Runner.exe workflow.json --headless CI/CD pipelines
Windows Service sc create ... Unattended 24/7 operation
System Tray Launch Tray app Quick-launch attended bots

Documentation

Comprehensive documentation is available in the Docs/ folder:

Architecture Documentation

Document Description
1_Executive_Summary.md Platform overview and capabilities
2_System_Overview.md Layered architecture and deployment models
3_Component_Architecture.md Deep dive into all 10 projects
4_Bot_Development_&_Deployment_Flow.md Complete bot lifecycle
5_Dispatcher-Performer_Pattern.md High-volume processing architecture
6_Detailed_Component_Breakdown.md Technical component reference
7_Data_Flow_&_Communication.md Communication patterns and protocols
8_Technology_Stack.md Complete technology reference
9_Security_&_Authentication.md Enterprise security architecture

Feature Guides

Document Description
WebAutomation.md Playwright + CDP usage guide
DesktopAutomation.md Windows UI Automation selectors
ApiIntegration.md REST API activities guide
HybridAutomation.md Cross-context workflows
HeadlessAutomation.md Headless browser execution
Auto-Update-Guide.md Auto-update system configuration

System Requirements

Minimum Requirements

Component Requirement
Operating System Windows 10 (1809+) or Windows 11
.NET Runtime .NET 9.0 Runtime
Memory 4 GB RAM
Disk Space 500 MB + browser binaries

Recommended Requirements

Component Requirement
Operating System Windows 11
Memory 8 GB RAM
Disk Space 2 GB SSD
Display 1920Γ—1080

Optional Dependencies

Dependency Required For
Playwright Browsers Web automation
Java Runtime (JRE 8+) Java application automation
Microsoft Outlook Outlook email activities
SAP GUI SAP automation activities

Platform Statistics

Metric Value
Solution Projects 10 .NET 9.0 projects
Built-in Activities 178 activities
Activity Categories 25+ categories
Lines of Code ~79,500 C#
NuGet Dependencies 30+ packages

License

Copyright (c) 2025 Yash (Yash_Personal_openSource). All rights reserved.

This software is proprietary and confidential.
Unauthorized copying, distribution, or use is strictly prohibited.

For licensing inquiries, contact: connect@yashsharma.ai

Contact

Author Yash Sharma
Title Sr AI/ML Engineer
Organization Yash, Yash_Personal_openSource
Email connect@yashsharma.ai

SnowBoard RPA Studio v1.0.0
178 Activities β€’ 10 Projects β€’ Enterprise Ready

Built with .NET 9.0 β€’ Playwright β€’ Azure OpenAI β€’ YOLOv8
Β© 2025 Yash (Yash_Personal_openSource). All rights reserved.

About

Native Agentic RPA

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors