0% found this document useful (0 votes)
4 views31 pages

BTDS0607 RPA Complete Study Notes

The document provides comprehensive study notes on Robotics Process Automation (RPA) using UiPath, covering essential topics such as user interface components, variable management, data manipulation, and workflow activities. It includes best practices for naming conventions, modular workflow design, and data scraping techniques. The content is structured to aid in examination preparation for students in the Department of Data Science at Noida International University.

Uploaded by

giribhumika108
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
4 views31 pages

BTDS0607 RPA Complete Study Notes

The document provides comprehensive study notes on Robotics Process Automation (RPA) using UiPath, covering essential topics such as user interface components, variable management, data manipulation, and workflow activities. It includes best practices for naming conventions, modular workflow design, and data scraping techniques. The content is structured to aid in examination preparation for students in the Department of Data Science at Noida International University.

Uploaded by

giribhumika108
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd

ROBOTICS PROCESS

AUTOMATION
BTDS0607 - Complete Study Notes
Units 1-5: Comprehensive Examination Preparation Guide

Noida International University


Department of Data Science
Under Dr. Anshita Dhoot

Topics Covered: 91 | Pages: ~60 | All Exam-Ready Content


UNIT II: RPA TOOL INTRODUCTION AND
BASICS
33. The User Interface
UiPath Studio is the primary development environment for creating RPA bots. It provides a
comprehensive, user-friendly interface for non-programmers.

Main interface components:

 Ribbon Menu: Top menu bar with File, Edit, View, Run, Tools, Help
 Activity Panel: Left sidebar containing 100+ pre-built activities
 Canvas: Central workspace for designing workflows
 Properties Panel: Right sidebar for activity configuration
 Output Panel: Bottom panel for debugging and logs
 Toolbar: Quick access to common functions (Run, Stop, Save)

[DIAGRAM: UiPath Studio Interface showing Ribbon (top), Activity Panel (left), Canvas (center),
Properties Panel (right), and Output Panel (bottom)]

34. Variables Panel


Variables store and manage data throughout bot execution. The Variables panel provides
centralized variable management.

Variable properties:

 Name: Unique identifier for the variable


 Variable type: Data type (String, Int32, Boolean, etc.)
 Default value: Initial value when process starts
 Scope: Where variable is accessible (Activity, Sequence, Workflow)

Best practices:

 Use meaningful variable names (strCustomerName, intInvoiceAmount)


 Initialize variables with default values
 Keep scope minimal (lowest level sufficient)
 Use constants for unchanging values
35. Generic Variables and Text Variables
UiPath supports multiple variable types for different data storage needs.

Text Variables (String)


Store text data. Example: Customer names, email addresses, product codes.

 Declared as: String


 Example: strCustomerName = 'John Smith'
 Operations: Concatenation, substring extraction, text comparison

💡 PRACTICAL EXAMPLE: String Variable Usage

strInvoiceNumber = 'INV-' + [Link]('yyyyMMdd') + '-' + [Link]('0000').


Result: INV-20240115-0001. Used in filing emails and updating systems.

36. True/False Variables


Boolean Variables
Store binary true/false values for conditional logic.

 Declared as: Boolean


 Example: blnProcessComplete = True
 Operations: AND, OR, NOT logical operations

Common use cases: Flags for process state, success/failure indicators, conditional branching.

37. Number Variables


Store numeric data for calculations.

 Int32: Integer numbers (-2.1B to 2.1B)


 Double: Decimal numbers with precision
 Example: intInvoiceCount = 1000, dblTotalAmount = 5000.50

Arithmetic operations: Addition, subtraction, multiplication, division, modulus (remainder).


38. Array Variables
Store multiple values of same type in indexed collection.

 Declared as: String[], Int32[], etc.


 Example: arrInvoiceNumbers() = {'INV001', 'INV002', 'INV003'}
 Access: arrInvoiceNumbers(0) returns 'INV001'
 Common operations: Length, Add, Remove, Sort

💡 PRACTICAL EXAMPLE: Array Processing

For-Each loop processes array: For Each strInvoice in arrInvoices, extract amount, add to total.
Arrays avoid single variable per invoice.

39. Date and Time Variables


Store temporal data with methods for date manipulation.

 Declared as: DateTime


 Example: dtProcessDate = Now (current date/time)
 Operations: AddDays, AddMonths, ToString with custom formats

 [Link](1) adds one day


 [Link]('MMM dd, yyyy') formats as 'Jan 15, 2024'

💡 PRACTICAL EXAMPLE: Date Manipulation

dtDueDate = [Link](30). Calculate 30-day payment terms. Compare


dtCurrentDate with dtDueDate for overdue detection.

40. Data Table Variables


Store tabular data with rows and columns, similar to spreadsheets.

 Declared as: DataTable


 Contains columns with defined data types
 Rows hold data in column sequence
 Operations: Add row, remove row, filter, sort

DataTable is foundation for data-driven RPA processes. Extract from Excel, transform data, write
back to system.

💡 PRACTICAL EXAMPLE: DataTable Usage


dtInvoices (InvoiceID-String, Amount-Double, Date-DateTime). Scrape invoices into table, filter
Amount > 1000, add Approval column, export to Excel.

41. Managing Variables and Naming Best


Practices
Best practices for variable lifecycle management:

 Initialization: Set default values to prevent null errors


 Scope Definition: Keep variables at lowest necessary scope
 Naming Convention: Use prefixes indicating type (str, int, bol, arr, dt)
 Documentation: Add description in Properties panel
 Cleanup: Dispose large collections when no longer needed

Standardized naming improves code readability and maintenance:

 Prefix with data type: strName, intCount, blnActive, arrList, dtDate


 Use camelCase: strCustomerName (not strCustomername)
 Be descriptive: strInvoiceID (not str1)
 Avoid reserved keywords: Don't use 'string', 'int', 'if', etc.
 Constants in UPPERCASE: MAX_RETRY_ATTEMPTS = 3

📋 EXAM TIP: Variable Naming

Following naming conventions prevents errors, makes code readable, and reduces debugging
time. A 50-page workflow becomes maintainable with consistent naming.

42. Category of Variables and Constants


Variables are categorized by scope and lifetime:

 Local Variables: Scoped to activity, sequence, or workflow; created fresh each execution
 Global Variables: Accessible throughout entire bot execution from any workflow
 Arguments: Parameters passed between workflows (In/Out/InOut)
 Constants: Fixed values that don't change (immutable)

Scope hierarchy:

 Activity scope: Smallest scope, used only in specific activity


 Sequence scope: Available in sequence and nested activities
 Workflow scope: Available throughout workflow
 Global scope: Available across all workflows in project

Constants store unchanging values used throughout bot:

 Declared as: Const [DataType] [Name] = [Value]


 Example: Const String COMPANY_NAME = 'Acme Corporation'
 Cannot be modified during execution
 Improves maintainability (update once, reflects everywhere)

Global variables accessible across multiple workflows:

 Declared in global scope


 Persistent across workflow transitions
 Use for shared data between workflows
 Example: gblnProcessFailed for error tracking across workflows

43. Using Arguments - In/Out/InOut


Arguments enable data passing between workflows and reusability:

 Parameters workflow can receive (Input) or provide (Output)


 Enable building modular, reusable workflow components
 Reduce dependency on global variables

In/Out/InOut Arguments
Three types of arguments based on data direction:

 In Argument: Input parameter passed to workflow (read-only)

 Example: strInvoiceID passed to 'Process Invoice' workflow


 Workflow receives but cannot modify parent's original value

 Out Argument: Output returned from workflow

 Example: blnProcessSuccess returned to parent


 Workflow creates value that parent receives

 InOut Argument: Bidirectional—input received and modified output returned

 Example: dtInvoiceData passed in, modified, and returned


 Changes made in called workflow persist in parent

💡 PRACTICAL EXAMPLE: Argument Usage Pattern


Main workflow calls 'ExtractInvoiceData' workflow passing strInvoiceFile (In argument). Called
workflow returns dtInvoiceData (Out argument) containing extracted information. Main
workflow then calls 'ValidateInvoice' passing dtInvoiceData (InOut), which validates and
enriches data, returning modified table.

44. About Imported Namespaces


Namespaces provide access to .NET classes and methods for advanced operations:

 System namespace: Basic .NET classes


 [Link]: Regex pattern matching
 [Link]: Language-integrated queries
 [Link]: DataTable operations
 [Link]: File operations

Common namespace usage:

 Regular expressions: [Link](text, pattern)


 File operations: [Link](filepath)
 LINQ queries: [Link](x => x > 10).ToList()

45. Invoke Workflow File Activity


Calls external workflows enabling modular, reusable automation:

 Path: Path to external .xaml workflow file


 Arguments: Pass Input, Output, InOut arguments
 Executes called workflow and returns results
 Enables breaking complex processes into manageable workflows

Best practices:

 Use for logical process breakdowns


 Create reusable workflows called multiple times
 Pass data via arguments (avoid global dependencies)
 Handle exceptions from called workflows

📋 EXAM TIP: Workflow Modularization

Break monolithic 500-activity workflows into 5 focused 100-activity modules using Invoke
Workflow File. Improves readability, testing, and reusability. Complex financial process becomes
'Extract' → 'Validate' → 'Calculate' → 'Update'.
46. If Else Statements / If Activity
Conditional execution based on Boolean expressions:

 Condition: Boolean expression evaluated to True/False


 Then branch: Activities executed if condition is True
 Else branch: Activities executed if condition is False
 Nested If: If statements within If statements for complex logic

[DIAGRAM: If-Else Flowchart: Start → Evaluate Condition → True/False branching → Respective


branch execution → Merge → End]

💡 PRACTICAL EXAMPLE: If-Else Example

If blnProcessComplete = True, Then send success email; Else log error and send failure
notification. Used to branch based on validation results.

47. Switch Activity and Loops


Switch Activity
Multi-way branching based on expression value:

 Expression: Variable or calculation evaluated


 Cases: Different paths for each possible value
 Default: Path if expression matches no cases

Example: Switch on intProcessType—Case 1: Process Invoice, Case 2: Process PO, Default: Log
Error.

While Activity
Repeat activities while condition remains True:

 Condition: Checked before each iteration


 Loop body: Activities within While repeat
 Continues until condition becomes False

Use case: Process rows while DataTable has unprocessed rows.

💡 PRACTICAL EXAMPLE: While Loop


While intRowIndex < [Link], Process row at intRowIndex, then intRowIndex +=
1. Processes all rows in table sequentially.

48. Do While and For Each Activities


Do While Activity
Repeat activities, then check condition:

 Loop body: Activities execute first


 Condition: Checked after each iteration
 Executes at least once even if condition is initially False

Use case: Retry logic—attempt operation, then check if successful.

For Each Activity


Iterate over collection items without index management:

 Item: Current element in iteration


 Collection: Array, List, or DataTable to iterate
 Automatic iteration: No manual index management

Example: For Each strInvoice in arrInvoiceList, process invoice. Loop handles iteration
automatically.

📋 EXAM TIP: Loop Selection

Use While for conditional iteration based on external condition. Use Do-While for retry logic. Use
For-Each for collection iteration. Use Switch for multi-way branching. Right construct reduces
complexity.

49. The Break Activity and Advanced Control


Flow
The Break Activity exits loop prematurely before condition becomes False:

 Used within While, Do-While, or For-Each loops


 Exits immediately without executing remaining iterations
 Use case: Exit when error condition encountered or max retries exceeded
Example: While processing, if bot detects critical error, Break out of loop and escalate to human.

Sequences vs Flowcharts
Sequences: Linear workflow execution—activities run in defined order.

 Simple, straightforward process flow


 Easy to read and understand
 Best for linear processes without branching

Flowcharts: Visual representation with decision points and multiple paths.

 Diamond shapes for decisions


 Rectangles for activities
 Better for complex logic with branching

[DIAGRAM: Sequence (linear) vs Flowchart (branching) visualization showing how Sequences are
simpler but Flowcharts handle complexity]

50. The Assign Activity and Delay Activity


The Assign Activity assigns values to variables:

 To: Variable receiving value


 Value: Value or expression to assign
 Example: strResult = 'Invoice_' + strInvoiceID
 Supports all data types: strings, numbers, booleans, objects

Complex assignments:

 String concatenation: strFullName = strFirstName + ' ' + strLastName


 Arithmetic: intTotal = intAmount1 + intAmount2 * intDiscount
 Method calls: dtCurrentDate = [Link]
 Collection operations: arrNew = [Link](1).ToArray()

The Delay Activity


Pauses execution for specified duration:

 Duration: TimeSpan to delay (seconds, milliseconds)


 Example: Delay 2 seconds for system to respond
 Use cases: Wait for UI to load, rate limiting, coordinating timing

Syntax: Delay Duration: [00:00:02] (2 seconds in TimeSpan format)


51. Data Manipulation Introduction and Scalar
Variables
Data transformation is core RPA function:

 Extraction: Pull data from sources


 Transformation: Convert and restructure data
 Validation: Verify data accuracy and completeness
 Loading: Insert into target systems

Common data manipulation scenarios:

 CSV to DataTable: Read files into structured tables


 String parsing: Extract values from unstructured text
 Format conversion: Date/number format conversions
 Conditional filtering: Select subset of data based on criteria

Scalar Variables
Single value storage:

 Examples: strName, intAge, blnActive, dtDate


 Store one value each
 Operations: Direct assignment and comparison

52. Collections and Tables


Collections (Arrays and Lists)
Multiple value storage:

 Arrays: Fixed size or dynamic


 Lists: Flexible collection with built-in methods
 Examples: arrInvoices(), lstProducts
 Operations: Add, Remove, Sort, Filter, Index access

DataTables
Two-dimensional tabular data:

 Columns: Define structure and data types


 Rows: Contain actual data
 Resembles database table or spreadsheet
 Operations: Row/column manipulation, filtering, joining

53. Text Manipulation


String processing capabilities:

 Concatenation: Combine strings with &

 strResult = strFirst & ' ' & strLast

 Substring: Extract portion

 strResult = [Link](0, 5) gets first 5 characters

 Replace: Substitute text

 strResult = [Link]('old', 'new')

 Case conversion: Upper/Lower

 strResult = [Link]()

 Trim: Remove leading/trailing spaces

 strResult = [Link]()

 Split: Break into array

 arrParts = [Link](','c)

 Contains/StartsWith/EndsWith: Check presence

 blnFound = [Link]('text')

54. Gathering and Assembling Data and Data


Scraping
Gathering and Assembling Data - Processes to consolidate data:

 From multiple sources: Combine emails, files, databases


 Data enrichment: Add contextual information
 Consolidation: Merge duplicate entries
 Assembly: Structure into required format
Example: Gather invoice from email, add customer data from CRM, enrich with product details,
assemble into DataTable.

Data Scraping
Extracting structured data from web pages or applications:

 Web scraping: Extract tables, lists, structured content


 Table scraping: Convert HTML/XML tables to DataTable
 List scraping: Extract list items into array
 Unstructured scraping: Extract values using positions/patterns

Data Scraping Wizard in UiPath:

 Point-and-click element selection


 Automatic DataTable generation
 Pattern recognition for multiple similar items
 Pagination handling for multi-page data

📋 EXAM TIP: Scraping Efficiency

Use Data Scraping Wizard for structured tables. Use regular expressions for pattern-based
extraction. Use screen scraping with anchors for legacy systems. Right technique reduces
development time significantly.

55. Data Tables vs Worksheets and DataTable


Creation
Feature DataTable (UiPath) Worksheet (Excel)
Location In-memory within bot Stored in Excel file
Performance Fast (RAM-based) Slower (disk-based)
Row Limit Limited by RAM (~millions) Excel limits (~1M rows)
Operations All via UiPath activities Requires Excel integration
Persistence Lost when bot ends Persists in file
Use Case Temporary processing Data storage & reporting
Scope Single bot process Multiple processes/users
When to use DataTable: Processing large volumes in memory, complex multi-step transformations,
intermediate data storage.

When to use Worksheet: Data storage, sharing with non-technical users, reporting, permanent
archiving.
How DataTables are Created
Methods to create DataTables:

 Data Scraping Wizard: From web pages or applications


 Read Range Activity: From Excel files
 SQL Query Activity: From database queries
 Manual Creation: New DataTable activity

 Define columns with names and data types


 Add rows programmatically

 From CSV: Read CSV and convert to DataTable

Example: 'New DataTable' → Add Columns (InvoiceID-String, Amount-Double, Date-DateTime) →


Add Rows → Use in processing.

56. Data Table Activities


Key DataTable manipulation activities:

 Build DataTable: Create new DataTable with defined schema


 Add Data Row: Insert new row into DataTable
 Delete Row: Remove specific row
 Clear DataTable: Remove all rows
 Filter DataTable: Extract rows matching criteria
 Sort DataTable: Order rows by column
 Join DataTable: Combine two tables on common column
 Remove Duplicate Rows: Eliminate duplicates based on columns
 Get Row Item: Retrieve specific cell value
 Output DataTable: Export to CSV or Excel

💡 PRACTICAL EXAMPLE: DataTable Processing

Read Invoice DataTable → Filter rows where Amount > 1000 → Add new column
'ApprovalNeeded' → Mark high-value invoices → Export to Excel. All done in memory without
touching Excel until final export.
UNIT II: QUICK REVISION TABLE
• Studio User Interface • Variables Panel & Management

• Variable Naming Best Practices • Variable Scope Categories

• Text/String Variables • Boolean Variables

• Number Variables • Array Variables

• Date/Time Variables • DataTable Variables

• Constants & Global Variables • Arguments (In/Out/InOut)

• Imported Namespaces • Invoke Workflow File

• If-Else Activity • Switch Statement Activity

• While Loop Activity • Do-While Loop Activity

• For-Each Loop Activity • Break Activity in Loops

• Sequences vs Flowcharts • Assign Activity

• Delay Activity • Data Manipulation Basics

• Text/String Manipulation • Data Gathering & Assembly

• Data Scraping Techniques • Web Scraping Features

• DataTable vs Worksheet • Creating DataTables

• DataTable Manipulation Activities • Filter, Sort, Join Operations


UNIT III: ADVANCED AUTOMATION
CONCEPTS & TECHNIQUES
57-66. Advanced Automation Topics
UNIT III covers the following essential topics for advanced RPA implementation:

 57. Basic and Desktop Recording: Introduction to recording tools for bot automation
 58. Web Recording: Capturing interactions with web applications
 59. Input/Output Methods: Simulating user inputs and capturing outputs
 60. Task Recording: Advanced recording techniques for complex tasks
 61. Screen Scraping: Extracting data from desktop applications without APIs
 62. Data Scraping Advanced: Sophisticated data extraction techniques
 63. Data Extraction Techniques: Multiple strategies for structured and unstructured data
 64. Defining and Assessing Selectors: Understanding UI element identification
 65. Customization and Debugging Selectors: Improving selector reliability
 66. Dynamic and Partial Selectors: Handling variable UI elements

Key concepts covered:

 RPA Challenge: Real-world automation scenarios


 Anchor Base Selection: Using reference elements to find targets
 When to Use Anchors: Best practices for selector patterns
 Image-based Automation: Computer vision for legacy systems
 Keyboard and Text Automation: Simulating user input
 Advanced Citrix Automation: Automating terminal-based systems
 Using Tab for Images: Image recognition best practices
 Excel and PDF Handling: Document automation

[DIAGRAM: Selector Tree Structure showing UI hierarchy: Application → Window → Container →


Button/Input Field with attribute matching]

📌 CASE STUDY: Screen Scraping Legacy System

Problem: Organization uses 20-year-old mainframe system with no API support. Manual data
entry from system to Excel takes 10 hours daily. No modernization planned due to regulatory
constraints.

Solution: Deploy RPA bot using screen scraping to extract data from legacy system screens using
coordinates and image recognition. Store data in DataTable. Write to Excel and email to
stakeholders.

Result: Legacy system fully automated without modification. 10 hours daily reduced to 30
minutes. 95% accuracy (vs 98% manual due to fatigue). Zero impact on production system.

Anchor-based Automation and Citrix


Anchor Base Selection enables robust element identification in dynamic UIs:

 Identify stable reference element (Anchor)


 Locate target relative to anchor
 Survive small UI layout changes
 Common anchors: Labels, buttons, fixed text

[DIAGRAM: Anchor-based Selector Pattern: Find Anchor (e.g., 'Invoice Amount:' label) → Find target
relative to anchor (input field 100 pixels right)]

Citrix Automation for terminal environments:

 Terminal-based applications in banking, insurance


 Image-based approach due to no UI automation
 Keyboard shortcuts for navigation
 OCR for text extraction from terminal

📋 EXAM TIP: Citrix Challenges

Terminal apps have no selectable elements—image recognition becomes primary strategy. Use
Find Image activity with template matching. Coordinate-based clicks for buttons. Terminal font
impacts OCR accuracy.
UNIT IV: HANDLING USER EVENTS &
ASSISTANT BOTS, EXCEPTION
HANDLING
67. What are Assistant Bots & Launching
Assistant Bots
Assistant Bots (Attended Bots) work alongside users to assist with specific tasks:

 Lightweight automation triggered by user actions


 Run on user's desktop during business hours
 Lower computational overhead than unattended bots
 Ideal for data entry support, customer service

Launching Assistant Bot on Keyboard Event


Assistant bots triggered by keyboard shortcuts:

 Global hotkey trigger: Ctrl+Alt+A launches bot


 Bot runs as foreground process with user visibility
 User can monitor and intervene if needed
 Completes specific task then returns control to user

💡 PRACTICAL EXAMPLE: Keyboard-triggered Bot

User in CRM form presses Ctrl+Alt+D. Bot launches, extracts customer ID, looks up billing history,
displays summary in pop-up. User reviews and closes bot. 2-minute task completed in 10
seconds.

68. Monitoring System Event Triggers


System Event Triggers activate bots based on system-level events:

 Hotkey trigger: Specific keyboard combination pressed


 Mouse trigger: Button clicked or moved to region
 System trigger: Application launch, file creation, process exit
 Time trigger: Scheduled execution at specific times

Common Types and Examples


Hotkey Trigger
Global keyboard shortcut triggers bot:

 Keys: Ctrl+Alt+letter, F1-F12


 Best for: Instant assistance during user work
 Example: Ctrl+Alt+L triggers lookup bot in CRM

Mouse Trigger
Mouse movement or click activates bot:

 Region: Define screen area to monitor


 Action: Click or hover detection
 Best for: Location-specific automation

System Trigger
Application or process events trigger bot:

 Application launch: Bot starts when app opens


 File creation: Bot runs when file saved to folder
 Best for: Automated follow-up to user actions

69. Element Triggers and Monitoring Examples


Element-based triggers for UI events:

Element Mouse Click Events


Bot triggered when user clicks specific UI element:

 Monitor: Select element to watch


 Action: Bot runs when click detected
 Use case: Auto-fill form when user clicks into field

Element Keypress Events


Bot triggered when user presses key in monitored field:

 Monitor: Specific text field or control


 Key: Which key triggers action
 Use case: Validate entry as user types

Example of Monitoring Email


📌 CASE STUDY: Email-triggered Bot Automation

Problem: Insurance agent receives email with customer claim. Manually searches database for
customer record, extracts details, creates ticket in system. Takes 5-10 minutes per email during
high-volume season.

Solution: Deploy bot to monitor email folder. Trigger on new email with specific subject line (e.g.,
'Insurance Claim'). Bot extracts customer ID from email body, searches database, auto-creates
ticket with extracted details.

Result: Email processing automated. Bot runs immediately on email arrival. 5-minute manual
task reduced to 30-second bot execution. Consistent ticket creation format. Agent focus on claim
analysis instead of data entry.

Example of Monitoring Copying Event


📌 CASE STUDY: Copy-triggered Automation for Data Entry

Problem: Data entry operator copies invoice number from email, manually searches accounting
system, enters data across multiple fields. High error rate from copy-paste mistakes.

Solution: Assistant bot monitors clipboard for copy events. When invoice number detected in
clipboard, bot auto-launches, searches system, pre-fills entry fields, awaits user confirmation.

Result: Clipboard monitoring eliminates keying errors. Bot pre-fills 80% of fields automatically.
Operator reviews and submits. 3-minute entry task reduced to 30 seconds with 99.9% accuracy.

70. Handling User Events and Common Types


Handling User Events requires strategic planning:

 Event capture: Detect user action triggering bot


 Event validation: Confirm bot should respond
 Event response: Execute appropriate action
 Error handling: Gracefully handle unexpected events

Key characteristics of event-triggered automation:

 Real-time response: Immediate reaction to trigger


 Minimal latency: Quick bot execution
 Non-intrusive: Doesn't disrupt user workflow
 Graceful escalation: Routes to human if bot can't handle

71. Exception Handling Introduction


Exception Handling manages errors during bot execution:

 What is exception handling: Detecting and responding to errors


 Why it matters: Prevents bot crashes and data corruption
 Types: Syntax errors, runtime errors, business logic errors
 Strategies: Prevent, handle, escalate

How to Handle Exceptions in UiPath


Exception handling techniques in UiPath:

 Try-Catch: Wrap risky code, execute error handling


 Try block: Code that might error
 Catch block: Handler for specific exceptions
 Finally block: Cleanup code always executed

💡 PRACTICAL EXAMPLE: Try-Catch Pattern

Try: Read Excel file. Catch FileNotFoundException: Log 'File not found'. Catch Exception: Log
error details. Finally: Close file connection. Prevents bot crash if file missing.

 Throw: Intentionally raise exception for calling process


 Retry Scope: Attempt activity multiple times before failing
 Retry Count: Number of retry attempts
 Delay Between Retries: Wait time before next attempt

Retry Scope use case: Click button that sometimes takes time to respond. Retry 3 times with 1-
second delay. Succeeds when system responds.

72. Debugging and Error Reporting


Debugging identifies and fixes code issues:

 Breakpoint: Pause execution at specific line


 Step through: Execute one line at a time
 Watch variables: Monitor values during execution
 Debug output: Print messages to console
Collecting Crash Dumps:

 Capture complete execution state on error


 Include variable values, stack trace, system info
 Essential for reproducing intermittent issues

Error Reporting:

 Log all exceptions with full context


 Include timestamp, activity name, error message
 Send alerts to monitoring dashboard
 Archive logs for compliance audit

📋 EXAM TIP: Exception Strategy

Anticipate common exceptions: File not found, element not visible, timeout, invalid data. Handle
80% of cases. Log remaining 20%. Escalate to human with full context for resolution.
UNIT V: DEPLOYING AND MAINTAINING
THE BOT
73. Publishing Using Publish Utility
Publishing converts bot from Studio to Orchestrator-ready package:

 Publish Utility: Menu → Publish in UiPath Studio


 Workflow validation: Checks for errors before publishing
 Package creation: Generates .nupkg file
 Dependency resolution: Includes all required activities

Publishing steps:

 Studio menu → Publish


 Select output folder for package
 Verify target Orchestrator version
 Review dependencies and licenses
 Click Publish to generate package

💡 PRACTICAL EXAMPLE: Publishing Workflow

Developer creates 'InvoiceProcessor' workflow in Studio with 200 activities. Publishes to shared
network folder. Package generated as InvoiceProcessor_1.[Link]. Ready for Orchestrator
import.

74. Creation of Server and Server Connection


Orchestrator server provides centralized bot management:

 Server setup: Install Orchestrator on dedicated server/cloud


 Database: SQL Server backend for persistent storage
 Web interface: Dashboard for monitoring and control
 APIs: For integration with external systems

Connection configuration:

 URL: Orchestrator server address ([Link]


 Authentication: Username/password or API key
 Licensing: Register Orchestrator with license key
 Robots: Register execution agents to Orchestrator

[DIAGRAM: Orchestrator Server Setup: Database (SQL) ← Orchestrator Server (Web App) → Studio
(connects for publishing) → Robots (connect for job execution)]

75. Using Server to Control Bots


Orchestrator centrally controls bot execution:

 Job creation: Define what/when/where bot executes


 Job queue: List of pending jobs for robots
 Scheduling: Time-based or event-based triggers
 Monitoring: Real-time job execution tracking
 Job monitoring dashboard:

 Job ID, status (Running/Completed/Failed)


 Start/end time, duration
 Robot name and execution logs
 Pass/fail rates for trend analysis

76. Creating and Provisioning Robots


Robot provisioning registers execution agents:

 Robot type: Attended (interactive) or Unattended (background)


 Machine name: Computer running robot service
 Robot name: Unique identifier in Orchestrator
 User credentials: Account for bot to run under

Provisioning Steps
 Orchestrator → Admin → Robots → Add Robot
 Fill robot details (name, machine, type)
 Download robot service installer
 Run installer on target machine
 Configure service to start on boot

💡 PRACTICAL EXAMPLE: Robot Provisioning

Add robot named 'Bot-Invoice-01' on machine 'APP-SERVER-02'. Type: Unattended. Service runs
24/7. Can handle invoice processing jobs assigned by Orchestrator.

77. Connecting a Robot to Server


Robot service connection to Orchestrator:

 Robot service: Windows service running on machine


 Connection protocol: HTTPS secure communication
 Authentication: Certificate or username/password
 Heartbeat: Regular check-ins with Orchestrator
 Connection troubleshooting:

 Network connectivity: Firewall ports open (8080, 443)


 Credentials: Service account has proper permissions
 Certificates: SSL certificates valid if using HTTPS
 Logs: Check robot logs for connection errors

78. Deploying the Robot to Server


Deployment process to production Orchestrator:

 Package import: Upload published .nupkg to Orchestrator


 Environment mapping: Map variables to target environment
 Asset configuration: Database connections, API keys, credentials
 Testing: Execute in test environment before production
 Rollout: Gradual deployment to production robots

Deployment safety measures:

 Version control: Track all package versions


 Backup: Backup production packages before updating
 Monitoring: Watch logs for errors during execution
 Rollback plan: Quick revert to previous version if issues

📌 CASE STUDY: Bot Deployment to Production

Problem: Invoice bot tested in dev environment successfully. Ready for production deployment.
Manually processing 10,000 invoices monthly needs bot reliability.

Solution: Package imported to Orchestrator. Executed test suite (100 sample invoices) with
100% success. Monitored for 24 hours in production. Exception handling tested for edge cases.
Result: Deployed successfully. Processing 10,000 invoices monthly with 99.98% success rate.
Failures logged and escalated. Bi-weekly monitoring reports track performance and ROI.

79. Publishing and Managing Updates


Update management for production bots:

 Version updates: Bug fixes and feature enhancements


 Backward compatibility: Ensure old jobs still work
 Deployment strategy: Blue-green or canary deployments
 Communication: Notify stakeholders of changes

Update process:

 Develop and test in non-production


 Create new package version (1.0.1)
 Import to Orchestrator
 Route new jobs to new version
 Migrate existing jobs to new version
 Archive old version (retention policy)

80. Managing Packages and Assets


Package management in Orchestrator:

 Package library: Central repository of all published bots


 Version history: Keep 3-5 recent versions
 Dependencies: Track package dependencies
 License tracking: Monitor license usage

Asset Management
Assets store sensitive configurations:

 Text assets: API keys, email addresses


 Credential assets: Usernames/passwords (encrypted)
 Boolean assets: Feature flags
 Connection strings: Database connections

Asset security:

 Encrypted storage: Assets stored encrypted at rest


 Access control: Only authorized users access assets
 Audit logs: Track asset access
 Rotation policy: Change passwords regularly

💡 PRACTICAL EXAMPLE: Asset Configuration

Create asset 'ERP_USERNAME' with value 'bot_user'. Bot retrieves asset at runtime without
hardcoding credentials. Change asset value changes bot behavior without redeployment.

81. Uploading Packages


Package upload to Orchestrator:

 Source: Published .nupkg from Studio


 Upload method: Drag-drop in Orchestrator or API call
 Validation: Orchestrator validates package integrity
 Storage: Package stored in Orchestrator database

Upload verification:

 Check package contents


 Verify all dependencies present
 Test package download and installation

82. Deleting Packages and Maintenance


Package deletion from Orchestrator:

 Check dependencies: Ensure no jobs use package


 Backup: Archive package before deletion
 Delete: Remove from Orchestrator library
 Verification: Confirm deletion successful

Ongoing Maintenance
Maintenance tasks ensure bot reliability:

 Performance tuning: Optimize slow activities


 Error analysis: Investigate and fix exceptions
 Update dependencies: Keep activity libraries current
 Documentation: Update process guides for changes
 Training: Brief team on new features/changes

📋 EXAM TIP: Production Bot Lifecycle


Design for change: versioning, rollback, A/B testing. Monitor continuously: logs, alerts, metrics.
Maintain proactively: updates, optimization, documentation. Reactive maintenance costs 3x more
than proactive.
UNITS III-V: QUICK REVISION TABLE
• Recording & Web Recording • Input/Output Methods

• Task Recording • Screen Scraping

• Data Scraping Techniques • Data Extraction Techniques

• Defining Selectors • Debugging Selectors

• Dynamic & Partial Selectors • RPA Challenge

• Target & Anchor Concepts • Anchor Base Selection

• Image-based Automation • Keyboard Automation

• Advanced Citrix Automation • PDF Extraction

• Assistant Bots Basics • Hotkey Triggers

• Mouse Triggers • System Triggers

• Element Triggers • Email Monitoring Example

• Copy Event Monitoring • User Event Handling

• Exception Handling Intro • Try-Catch-Finally

• Retry Scope & Logic • Throw Activity

• Debugging Techniques • Crash Dumps

• Error Reporting • Publishing Utility

• Server Creation • Server Connection

• Bot Control via Orchestrator • Robot Provisioning

• Connecting Robots • Deploying to Production

• Publishing Updates • Package Management

• Asset Management • Uploading Packages

• Package Deletion • Bot Maintenance Lifecycle


EXAMINATION PREPARATION
SUMMARY
This comprehensive study guide covers all 91 topics across 5 units of BTDS0607: Robotics Process
Automation.

Study Tips for Success


 Review concept definitions first (5-10 minutes per topic)
 Study practical examples (10-15 minutes per topic)
 Understand architectural diagrams (flowcharts, sequences, system architecture)
 Focus on exam tips for high-value 5-mark questions
 Practice case studies for application-based questions
 Use quick revision tables for last-minute review

High-Impact Topics (2-Mark Focus)


 RPA fundamentals and capabilities
 Variable types and data manipulation
 Control flow activities (If, While, For-Each)
 Selector definition and debugging
 Exception handling (Try-Catch)
 Bot deployment and Orchestrator concepts

High-Impact Topics (5-Mark Focus)


 RPA vs AI/ML/DL - key differences and convergence
 RPA architecture (Studio, Orchestrator, Robots)
 Business case development and ROI calculation
 Process design and standardization for automation
 Anchor-based selectors and dynamic UI handling
 Exception handling strategies in production
 Bot provisioning, deployment, and lifecycle management

Common Question Patterns


 Define X and explain with example (10 marks)
 Compare X and Y - create table format (10 marks)
 Draw flowchart/architecture diagram (10 marks)
 Case study - problem/solution/result format (15 marks)
 Scenario-based - apply knowledge to situation (15 marks)

Document Summary
Total Topics Covered: 91

Total Units: 5

Exam Tips: 30+

Practical Examples: 25+

Case Studies: 10+

Comparison Tables: 15+

Diagram Placeholders: 20+

This document provides comprehensive coverage of all BTDS0607 content in examination-ready


format.

You might also like