UIADP study materials
UIADP study resources

UIADP cheat sheet

UIADP · Keep the key ideas within reach.

Quick reference

Automation Concepts and Techniques

  • Attended robots run on the user's desktop and are started by user events; unattended robots run without human interaction, started by Orchestrator schedules, queue triggers, or API calls.

  • UiPath automation lifecycle: Discover (process identification) → Build (development) → Manage (governance, deployment) → Run (execution) → Measure (monitoring and analytics).

  • Deterministic tasks have fixed, rule-based inputs and predictable outputs and suit standard RPA; probabilistic tasks require judgment, ML models, or human-in-the-loop validation.

  • UI automation is the last resort: API, database, or native integration is preferred for reliability, speed, and lower selector maintenance.

  • Queues decouple data collection from processing and enable parallel, retryable, per-item transaction processing with status tracking.

  • Task automation targets one discrete activity in one system; business process automation orchestrates multiple tasks and systems end to end.

  • Human-in-the-loop is implemented with Action Center tasks, forms, and approvals for exceptions or regulated decisions.

  • Computer Vision and Document Understanding extend automation to screenshot-based targets and unstructured documents such as invoices and forms.

Quick reference

UiPath Studio and Project Organization

  • Sequence executes activities linearly; Flowchart branches through connectors and decision nodes; State Machine defines named states with condition-driven transitions.

  • Workflows are .xaml files, the project manifest is project.json, and published packages are .nupkg files.

  • Argument directions are In, Out, and In/Out; variables are scoped to the container (Sequence or Flowchart) in which they are declared.

  • Invoke Workflow File calls another .xaml and passes data only through arguments; with Isolated enabled it runs in a separate thread and shares no variables.

  • Package sources include Official, Marketplace, Local/Connect, and Orchestrator feeds; Manage Packages handles installation and dependency resolution.

  • Studio profile targets developers; StudioX profile targets business users; the Modern vs Classic experience setting changes which activity set is shown.

  • A Library project publishes reusable components as a package consumed by other projects through Manage Packages rather than file references.

  • Common project layout: Main.xaml as entry point, Process.xaml for transaction logic, a Framework folder, Config.xlsx, and a Data folder for input files.

Quick reference

Data Manipulation: Variables, Arguments, Strings, Collections and DataTables

  • VB conversion functions: CInt, CStr, CDate, CBool; Convert.ToXxx is culture-aware; DirectCast requires a related type; CType allows defined conversions; TryCast returns Nothing on failure.

  • String members: Substring(start, length), Split(chars), Replace(old, new), Trim, Contains, StartsWith, IndexOf, PadLeft, ToUpper/ToLower, String.Join, String.Format("{0}").

  • List(Of T) is zero-indexed, exposes Count, and supports Add, Remove, Contains, and For Each iteration.

  • Dictionary(Of K, V): write with dict(key) = value, read with dict(key), test with ContainsKey, and read safely with TryGetValue.

  • DataTable rows and columns are zero-indexed; a cell is read as row("ColumnName") or row(index), and empty cells hold DBNull.Value.

  • DataTable activities: Build Data Table, Read Range, Filter Data Table, Sort Data Table, Add Data Row (ArrayRow or DataRow), Remove Data Row, Merge Data Table, Join Data Tables, Output Data Table.

  • dt.Select("[Column]='value'") returns a DataRow array; passing an empty string returns all rows.

  • Arrays declared as Object() hold mixed types; typed collections such as List(Of String) avoid runtime casting errors.

Quick reference

Selectors and UI Automation

  • A selector is an XML fragment of nodes ordered from outermost to innermost, e.g. , where the last node identifies the target element.

  • Wildcards: * matches zero or more characters and ? matches exactly one character inside attribute values, handling dynamic IDs and names.

  • Dynamic selectors concatenate variables into the string: "".

  • Full selectors include top-level window nodes and work standalone; partial selectors omit them and resolve against the attached window context, improving reuse.

  • UiExplorer validates and highlights selectors, shows the visual tree, and offers repair and attribute editing.

  • Target properties: WaitForReady (None, Interactive, Complete), Timeout (default 30 seconds), ContinueOnError.

  • Input methods: Hardware Events (default), WindowMessages, SimulateType/SimulateClick (fastest, background-capable, some element limits), and Default (auto-selects).

  • Anchor Base locates an unstable target relative to a stable neighbouring UI element placed on the left, top, right, or bottom.

Quick reference

Excel and Email Automation

  • Workbook activities read and write .xlsx files without Excel installed; Excel Application Scope drives a real Excel instance and is required for macros, formula recalculation, and pivot tables.

  • Read Range returns a DataTable; Write Range writes a DataTable to a sheet; Append Range adds rows after existing data.

  • Excel Application Scope properties: WorkbookPath, Visible, AutoSave, Password, EditPassword; Save Workbook and Close Workbook are used inside the scope.

  • Get Outlook Mail Messages uses Outlook query syntax, e.g. "[Subject]='Report' AND [ReceivedTime] > '01/01/2024'", with MailFolder and Top limiting results.

  • Send Outlook Mail Message uses the local Outlook profile; Send SMTP Mail Message requires host, port, and credentials and needs no Outlook installation.

  • Mail activities include Get IMAP Mail Messages, Save Mail Message (to .eml), Move Mail Message, Delete Mail Message, and Reply To Mail Message.

  • The Attachments property takes a collection of file paths; IsBodyHtml renders an HTML body; Priority sets message importance.

  • OnlyUnreadMessages restricts retrieval to unread items, and MailFolder selects Inbox, Sent, or a custom folder.

Quick reference

Debugging and Exception Handling

  • Try Catch Finally: multiple Catch blocks are evaluated in order, so specific exception types must precede general System.Exception; Finally always runs for cleanup.

  • BusinessRuleException signals invalid business data and normally is not retried; system exceptions such as SelectorNotFoundException or TimeoutException are retry candidates.

  • Retry Scope contains an Action and a Condition, with NumberOfRetries attempts and a RetryInterval delay before the last exception is thrown.

  • Debug shortcuts: Step Into F11, Step Over F10, Step Out Shift+F11, Continue F5, Toggle Breakpoint F9, plus Run to Cursor.

  • Locals shows current variable values, Watch evaluates chosen expressions, and Immediate executes VB expressions against the paused run.

  • Log levels in order of severity: Trace, Info, Warn, Error, Fatal; Add Log Fields appends custom fields to all subsequent log entries of the job.

  • Rethrow preserves the original stack trace; Throw creates a new exception with a custom message and resets the trace.

Quick reference

Orchestrator and Robot Management

  • Queue item statuses: New, In Progress, Failed, Successful, Retried, Abandoned, Deleted; MaxRetryNumber controls automatic re-processing.

  • Asset types are Text, Boolean, Integer, and Credential; assets are Global (tenant-wide) or scoped to a single folder.

  • Modern folders use user-machine mappings and machine templates with Client ID and Client Secret; classic folders use machine keys and environments.

  • Trigger types: time-based (cron or interval), queue-based (fires when a new item is added), and API-started jobs.

  • Robot types: Attended (user-triggered), Unattended (Orchestrator-triggered), and Development; each consumes its licence type.

  • Storage Buckets hold files for robots; Libraries and Packages feed processes; a Job is one execution of a published process.

  • Roles and permissions govern folder access, and audit plus job logs are retained according to tenant settings.

Quick reference

REFramework and Complex Business Processes

  • REFramework is a State Machine with Init, Get Transaction Data, Process Transaction, and End Process; SetTransactionStatus records queue outcomes.

  • Init runs InitAllSettings and InitAllApplications; a system exception triggers KillAllProcesses, re-initialisation, and RetryCurrentTransaction.

  • Config.xlsx has Settings, Constants, and Assets sheets, read by InitAllSettings into a Dictionary(Of String, Object) named Config.

  • The transaction item is a QueueItem in queue mode, a DataRow in tabular mode, and Nothing when no data remains, which ends the loop.

  • BusinessRuleException marks the item Failed (Business) with no retry; system exceptions retry until MaxRetryNumber, then mark it Failed (System).

  • Process.xaml receives in_TransactionItem and returns out_TransactionItem plus optional out_TransactionField1 and out_TransactionField2.

Quick reference

Version Control and Automation Lifecycle Management

  • Git actions in Studio: Commit stages local changes, Push uploads commits to the remote, Pull fetches and merges, Revert discards uncommitted changes, Clone creates a local copy.

  • project.json stores name, description, version, dependencies, and target framework; the version must be incremented to publish a new package.

  • Semantic versioning is MAJOR.MINOR.PATCH; Orchestrator retains multiple package versions and a process pins one of them.

  • ALM stages are Development → UAT/Test → Production, typically separate Orchestrator folders or tenants, with Pipelines promoting the tested package forward.

  • A standard .gitignore excludes the packages/nupkg output and user-specific Studio settings, keeping the repository store small and conflicts low.

  • .xaml files are XML and merge poorly, so small single-purpose workflows and coordinated edits reduce conflicts.

  • UiPath Solutions package multiple projects plus deployment configuration for transferring components between environments.