RPA Recording User Actions
Recording is a feature in RPA tools that watches what you do on screen and converts your actions into an automation workflow automatically. You click a button, type in a field, open an application — and the recorder captures every step and turns it into code. This is the fastest way to get started building a bot.
Think of recording like a video camera for your computer actions — except instead of playing back a video, it plays back the actual actions on the real application.
How Recording Works Step by Step
YOU RECORDER ───────────────────────────────────────────────── Click "Record" button ──▶ Recording starts Open browser ──▶ Captures: Open Browser (URL) Click login field ──▶ Captures: Click (selector) Type username ──▶ Captures: Type Text "admin" Click password field ──▶ Captures: Click (selector) Type password ──▶ Captures: Type Text "****" Click "Login" button ──▶ Captures: Click (selector) Click "Stop" recording ──▶ Generates workflow automatically
Recording Modes in UiPath
Basic Recording
Basic recording captures actions on a single-window desktop application. It uses full XPath selectors and generates a flat sequence of activities. Best for simple, straightforward tasks that do not span multiple windows.
Desktop Recording
Desktop recording is designed for tasks that span multiple applications and windows. It generates smarter selectors that are more stable when window positions or sizes change. Use this for tasks across SAP, Excel, and other desktop tools.
Web Recording
Web recording focuses on actions inside a web browser. It records clicks, form fills, navigation, and data extraction on web pages. It generates CSS or XPath selectors for browser elements.
Citrix / Image Recording
Citrix recording captures actions inside a virtual desktop environment where the RPA tool cannot directly access the underlying application. It uses image recognition and relative coordinates instead of selectors. This recording type is less reliable because any change in screen resolution or layout breaks it.
Editing a Recorded Workflow
Recorded workflows are starting points, not finished products. After recording, you must edit them to:
- Replace hardcoded values (like your actual username) with variables
- Add error handling around steps that can fail
- Add loops where the process needs to repeat for multiple records
- Fix selectors that are too specific or too broad
- Remove redundant steps the recorder captured by mistake
Before and After Editing Example
RECORDED (Raw): EDITED (Production-Ready): ────────────────────────────────────────────────────────────── Type Text "john.doe@company.com" Type Text [in_Username variable] Type Text "P@ssw0rd123" Get Credential from Orchestrator Click "Submit" (selector tied Click "Submit" (dynamic selector to exact window position) based on element ID) [No error handling] Try Catch around login steps [No loop] ForEach loop for 200 rows
Best Practices for Recording
- Close all unnecessary applications before recording to keep the screen clean
- Perform each step slowly and deliberately during recording
- Use the application in the same state the bot will encounter (e.g., logged out before recording login)
- Review and clean the generated workflow immediately after recording while the steps are fresh in your memory
- Never use a recorded password in production — always replace with a credential asset
Limitations of Recording
- Recording captures the "happy path" only — it does not know about exceptions
- Recorded selectors can break when application UI is updated
- Complex logic (loops, conditions) must be added manually after recording
- Recording does not capture keyboard shortcuts reliably in all tools
Summary
Recording is a quick way to generate the first draft of an RPA workflow. You perform the task manually while the recorder captures your actions and converts them into automation steps. Different recording modes suit different application types — basic for simple desktop, web for browsers, and Citrix for virtual environments. Always treat a recording as a first draft that requires editing, error handling, and variable substitution before it is production-ready.
