NavIA: Prompt-Driven AI Browser Agent for UiPath & RPA by Imad Eddine BerjamyNavIA: Prompt-Driven AI Browser Agent for UiPath & RPA by Imad Eddine Berjamy

NavIA: Prompt-Driven AI Browser Agent for UiPath & RPA

Imad Eddine Berjamy

Imad Eddine Berjamy

Overview & Production Problem

In enterprise RPA, the most common failure point is not business logic—it is a web portal whose DOM structure, dynamic IDs, or multi-step SPA layout shifts without warning. Having designed and stabilized production UiPath automations across telecom, automotive, and customer operations, I built NavIA (NAVIA_PATH) (https://github.com/imadui/NAVIA_PATH): an open-source, prompt-driven browser automation agent powered by Python 3.12+, Playwright 1.40+, and model-agnostic LLMs.

Architectural Boundary: Deterministic RPA vs. Agentic Browser Loop

My engineering rule is simple: use deterministic UiPath workflows (REFramework, Dispatcher/Performer queues, REST APIs, SQL) wherever rules and interfaces are stable, and isolate AI reasoning to the exact step where the UI is dynamic or unstructured. Rather than replacing an entire enterprise workflow with an unconstrained prompt, NavIA acts as a bounded browser execution module that takes a clear natural-language objective, navigates the live DOM, and returns a strict, machine-parseable JSON contract back to the orchestrator.

How the Iterative Execution Loop Works

1. Natural-Language Goal & Guardrails: Accepts a task prompt (in_UserPrompt) and a strict iteration ceiling (in_MaxIterations) from either the CLI or a UiPath Studio workflow.
2. Live DOM & Browser Inspection: Connects to Chromium/Chrome or Microsoft Edge via Playwright and captures the live interactive DOM state on every step—eliminating brittle hardcoded XPaths.
3. Model-Agnostic LLM Decision: Evaluates the current browser state against the goal using a pluggable LLM provider: Google Vertex AI (vertex), Google Gemini Direct API (gemini), OpenAI (openai), Anthropic Claude (anthropic), or Azure OpenAI (azure_openai).
4. Deterministic Playwright Action & Re-Evaluation: Executes the chosen browser action (click, type, select, hover, submit) and re-verifies the resulting page state before deciding whether the goal is complete.
5. Structured JSON Output Contract: Writes a machine-parseable result.json (and returns out_ExecutionResult) so downstream UiPath or Python steps can validate outcomes deterministically.

Enterprise Packaging: Standalone Executable + Custom C#/.NET UiPath Activities

Standalone Windows x64 Runtime: Packaged as a self-contained executable (NAVIA_PATH_v1.1.14.exe under %LOCALAPPDATA%\NAVIA_PATH) with environment verification scripts (CHECK_ENVIRONMENT.cmd generating NAVIA_READY.json) and interactive test runners (RUN_TEST_INTERACTIVE.cmd / .ps1).
Custom UiPath Studio Activities (v4.1.3): Built a C#/.NET activity package (uipath\NAVIA_PATH.Activities) exposing native NAVIA PATH - Edge and NAVIA PATH - Chrome activities inside UiPath Studio with typed inputs/outputs (in_UserPrompt, in_MaxIterations, in_CloseBrowserAfterExecution, out_ExecutionResult, out_NavIA_Window).
Like this project

Posted Oct 20, 2026

Open-source Python + Playwright + multi-LLM browser agent with custom C#/.NET UiPath Studio activities and structured JSON output for dynamic web portals.