_ RPA Unit 3 .b , 4 and 5
_ RPA Unit 3 .b , 4 and 5
3.2.B
Advanced Automation concepts & Techniques: Recorders in Uipath - Input/output MethodDebugging
- RPA Challenge - Image, Text & Advanced Citrix Automation - Introduction to Image & Text
Automation - Keyboard based automation -Advanced Citrix Automation challenges –PDF
AutomationApp Integration & Excel Automation- Email Automation & Database Automation.
=======================
Key Features:
Best Practices:
● Optimize Workflows: Review and refine generated activities.
● Use Anchor Base: Stabilize dynamic selectors.
● Add Exception Handling: Ensure proper error management.
● Test Automation: Run tests to check robustness across scenarios.
● Combine Manual Development: Use recordings as a base for more refined workflows.
Conclusion: UiPath recorders streamline automation creation by recording user actions, but they
need post-recording adjustments for stability and efficiency.
=============================
Conclusion: Effective debugging of I/O methods involves checking data integrity, file paths, and
data types, using UiPath’s debugging tools to ensure smooth automation.
==========================
Key Objectives:
1. Skill Development: Automating tasks, integrating systems, using advanced techniques
like OCR, image recognition.
2. Problem-Solving: Break down tasks into manageable steps and find solutions.
3. Competition/Recognition: Participate in hackathons or competitions for prizes and
recognition.
Steps to Approach:
1. Understand the Requirements: Clarify the task, inputs/outputs, and constraints.
2. Break Down the Task: Map the workflow, handle data, and plan for error handling.
3. Plan the Automation: Choose activities (e.g., Read Range, Click) and methods (OCR,
web scraping).
4. Build the Workflow: Implement UI interactions, data processing, and logic.
5. Test the Automation: Perform unit and integration tests, test edge cases.
6. Optimize and Refine: Improve efficiency, error handling, and stability.
7. Submit/Present: Document and present your solution.
Example: Automate logging into a website, extracting data, and storing it in Excel.
Tools Used: UiPath Studio, Automation Anywhere, Blue Prism, Power Automate, WorkFusion.
Conclusion: RPA challenges test problem-solving and automation skills. Plan, build, test,
optimize, and document your solutions effectively.
===================
Tools in UiPath:
● Image-Based: Click, Find, Hover Image, Image Exists.
● Text-Based: Get Text, Screen Scraping, OCR engines.
● Citrix Automation: Citrix Recording, Computer Vision, Click Image, Get Text.
Workflow Example:
This approach ensures efficient automation in environments where traditional selectors are
ineffective.
===================
Image Automation: Used for automating interactions with UI elements represented as images,
particularly in environments where traditional selectors are unavailable (e.g., legacy systems or
Citrix). Key activities include Click Image, Find Image, and Hover Image. Best practices
include ensuring high image quality, adjusting similarity settings, and using Anchor Base for
stability.
Text Automation: Involves extracting or interacting with text from UI elements or documents.
It's useful for tasks like data extraction and screen scraping, particularly when text is rendered as
images or in non-standard UI components. Key activities include Get Text, Screen Scraping,
and OCR. Best practices include OCR engine configuration, region-based scraping, and text
validation.
Combining Image & Text Automation: These techniques can be combined to enhance
automation. For instance, OCR with Image Matching allows text extraction from images
followed by image-based interaction, while Anchor Base ensures stable automation.
Tools in UiPath:
By integrating both image and text automation, RPA can handle complex scenarios, automate
non-standard applications, and improve flexibility in workflows.
================
Keyboard-Based Automation: This technique simulates human keyboard actions like typing,
pressing keys, and triggering shortcuts, primarily for applications where UI-based automation is
ineffective. It’s useful for data entry, triggering shortcuts, navigating menus, interacting with
legacy systems, and web applications with keyboard focus.
1. Type Into: Types text into specific input fields, with options like SimulateType for
background typing and SendWindowMessages for faster input.
2. Send Hotkey: Simulates pressing keyboard shortcuts (e.g., Ctrl+C, Alt+Tab) to trigger
actions.
3. Press Key: Simulates a single key press, like Enter or Tab.
4. Key Modifiers: Combines keys like Shift, Ctrl, and Alt for shortcuts.
Best Practices:
● Combine keyboard actions with mouse clicks and OCR for more complex workflows.
● Ensure robust Error Handling to manage focus and delays.
===============================
1. No Native UI Selectors
Best Practices:
================================
PDF Automation in RPA
Best Practices:
================================================
● Allows robots to communicate between apps (cloud, desktop, web) without human help.
● Use Cases:
○ Data sync (e.g., Salesforce, SAP)
○ Email to database automation (Outlook, Gmail, SQL)
○ Web app data extraction via APIs
○ ERP automation (e.g., SAP, Oracle)
Best Practices
===========================
Email Automation
● Automates reading, processing, and sending emails to save time and reduce errors.
● Use Cases:
○ Extract data and attachments from emails
○ Automatically send alerts, reports, and replies
Database Automation
Best Practices
UNIT-IV
Robotic Process Automation (RPA) bot models refer to the various types of software robots or
bots that can be designed and deployed to automate specific tasks or processes within an
organization.
RPA bot models are categorized based on their functionality and use cases:
These bots enhance efficiency, reduce errors, and improve productivity in organizations.
============
Attended and unattended bots are two key types of software robots in Robotic Process
Automation (RPA), each serving different automation needs.
● Attended Bots: Work with humans, triggered by users, assist in real-time, and require
human input. They run on user desktops and are ideal for tasks like customer support and
data entry.
● Unattended Bots: Operate independently, run on servers, work 24/7, and handle
high-volume tasks without human intervention. Used for data processing, report
generation, and automation at scale.
Attended Bots
Attended bots work alongside human employees, assisting in real-time and requiring user
interaction. These bots are triggered by users and operate on their workstations, enhancing
productivity by automating repetitive tasks on demand. They often require human input for
decision-making and can be modified or stopped as needed.
Key Features:
Examples:
Attended bots are ideal for tasks like data entry, customer support, data validation, and document
processing that require human oversight.
Unattended Bots
Unattended bots function autonomously, executing tasks without human intervention. They are
scheduled to run at specific times or triggered by events, operating in the background on remote
servers. These bots handle high-volume, repetitive tasks efficiently and improve scalability.
Key Features:
Examples:
Unattended bots are used for invoice processing, data migration, server maintenance, and batch
data processing.
Organizations choose between attended and unattended bots based on automation needs.
Attended bots are best for user-assisted tasks requiring real-time decision-making, while
unattended bots handle repetitive, high-volume tasks autonomously. Many companies adopt a
hybrid approach, combining both types for end-to-end automation, improving efficiency and
productivity.
=====---------------
Attended automation relies on event-driven triggers to enable RPA bots to assist users
effectively. Here’s how organizations can monitor events and triggers for attended bots:
User-Initiated Triggers
Application-Specific Triggers
Time-Based Triggers
● Scheduled Tasks: Run automation at fixed times (e.g., daily reports at 8 AM).
● Calendar Integration: Trigger actions based on scheduled meetings/events.
● Integration with External Systems: Bots respond to triggers from web applications, IoT
devices, or external APIs.
========================
Exception Handling ensures automation scripts handle errors gracefully, while Debugging
identifies and fixes issues in workflows.
● Identify Exceptions: Recognize possible errors (e.g., data, connectivity, missing files).
● Try-Catch Blocks: Use structured error handling to manage failures.
● Catch Specific Exceptions: Handle different errors separately for better control.
● Logging: Record detailed error messages for troubleshooting.
● Error Handling Actions: Define retries, notifications, or fallback mechanisms.
● Graceful Termination: Prevent the script from hanging indefinitely.
=========================
Tools:
1. IDE: Use integrated environments (e.g., Visual Studio, UiPath Studio) that offer built-in
debugging features.
2. Debugger: Set breakpoints, step through code, and inspect variables to identify issues.
3. Logging: Use logging libraries (e.g., Log4J, Python’s logging) to track code execution
and errors.
4. Interactive Console: Test code snippets in real-time for quick debugging.
5. Profiling Tools: Identify performance bottlenecks (e.g., Python's cProfile, Visual Studio
Profiler).
6. Error/Exception Tools: Use linting and exception tracking tools (e.g., Sentry) to catch
issues early.
7. Remote Debugging: For remote environments, attach debuggers remotely.
8. Browser Developer Tools: For web automation, use tools like Chrome DevTools to
inspect and debug web applications.
Best Practices:
1. Reproduce the Issue: Ensure the issue can be consistently reproduced before debugging.
2. Isolate the Problem: Narrow down the problem to a specific section of code.
3. Use Breakpoints and Step Through Code: Pause execution and inspect code line by
line.
4. Inspect Variables: Check variable values for unexpected results.
5. Add Logging Statements: Log critical information to diagnose issues.
6. Version Control: Use Git to track changes and revert to known working versions if
needed.
7. Documentation: Maintain records of debugging procedures and known issues.
8. Collaborate: Seek help from colleagues or online communities when necessary.
9. Test Thoroughly: After fixing issues, ensure the solution doesn’t introduce new
problems by running tests.
In conclusion, debugging is both an art and a skill. By using the right tools and following best
practices, you can efficiently solve problems in your code and improve your development
workflow.
=======================================
Deployment:
1. Pre-Deployment Testing: Thoroughly test the bot in a controlled environment before
production. Include unit testing, integration testing, and user acceptance testing (UAT).
2. Documentation: Prepare detailed documentation, including installation guides,
configurations, and user instructions, for deployment and maintenance.
3. Version Control: Use version control (e.g., Git) to track changes and roll back if needed.
4. Security Considerations: Ensure the bot follows security policies, implements secure
coding practices, and protects sensitive data.
5. Environment Setup: Ensure the production environment meets all bot requirements,
including hardware, software, and network connectivity.
6. Deployment Plan: Develop a plan detailing the deployment process, timelines, roles, and
contingencies.
7. Backup and Recovery: Set up regular backup and recovery procedures for critical bot
components and data.
8. Monitoring and Alerts: Configure monitoring tools and alerts to track bot performance
and health.
9. User Training: Train users and administrators on how to manage and monitor the bot.
Maintenance:
1. Regular Updates: Keep the bot and its dependencies updated, including libraries and
external integrations.
2. Performance Monitoring: Continuously monitor bot performance and address
bottlenecks promptly.
3. Logging and Auditing: Maintain logs of bot activities and user interactions for
troubleshooting and audits.
4. Exception Handling: Continuously improve exception handling for unexpected errors or
issues.
5. Security Updates: Apply security patches and stay vigilant against vulnerabilities.
6. Scalability: Regularly assess and ensure the bot can scale with the organization’s needs.
7. User Support: Provide ongoing support for bot users through a helpdesk or support
system.
8. Documentation Updates: Regularly update documentation to reflect changes in
configurations or troubleshooting steps.
9. Regression Testing: Perform testing after updates to ensure existing functionality is
intact.
10.Feedback and Improvement: Gather user feedback to continuously improve the bot’s
performance and usability.
11.Compliance and Reporting: Ensure the bot complies with regulations and generate
necessary reports.
12.Retirement Plan: Develop a plan for bot retirement, including data migration and
removal of bot components.
In summary, deploying and maintaining a bot requires careful planning, continuous monitoring,
regular updates, and user feedback. Collaboration between developers, administrators, and users
ensures the bot remains effective and reliable over time.
================================
Publishing an automation solution in RPA platforms like UiPath, Automation Anywhere, or Blue
Prism involves several key steps:
1. Develop & Test: Create and test the automation to ensure reliability.
2. Use an RPA IDE: Develop the solution using an integrated development environment.
3. Prepare Configurations: Set up necessary variables, credentials, and assets.
4. Version Control: Use Git or similar tools to track changes.
5. Package the Solution: Utilize the platform’s "Publish" or "Package" feature.
6. Specify Deployment Settings: Define target environments and configurations.
7. Publish & Deploy: Bundle the solution and distribute it via an orchestrator or control
room.
8. Configure Environment: Ensure bots and resources are set up properly.
9. Testing & Monitoring: Test in production, monitor performance, and handle errors.
10.Updates & Documentation: Maintain version control, update solutions, and document
configurations.
11.Compliance & Retirement: Ensure regulatory compliance and plan for
decommissioning when necessary.
Each RPA platform may have specific publishing guidelines, so always refer to official
documentation.
=====================
1. Install RPA Software: Ensure the server has the required RPA runtime/agent.
2. Configure Server: Set up network, firewall, and access permissions.
3. Define Robot Configuration: Assign machine ID, name, and necessary settings in the
orchestrator.
4. Install Dependencies: Set up required software, libraries, or extensions.
5. Register the Robot: Link the robot to the orchestrator with authentication.
6. Set Up Environments & Queues: Organize task distribution and runtime settings.
7. Assign Workflows: Allocate automation tasks manually or via API.
8. Test Workflows: Verify automation execution in the server environment.
9. Enable Monitoring & Logging: Track performance, errors, and alerts.
10.Start & Maintain: Execute automation, update software, and optimize resources.
11.Scale & Secure: Manage multiple robots, ensure security, and compliance.
12.Document & Report: Maintain logs, documentation, and reports.
13.Decommissioning: Properly retire unused robots when needed.
Follow RPA platform best practices for reliable provisioning and management.
===============
1. Install RPA Software: Ensure the robot’s machine has the required RPA runtime/agent.
2. Obtain Server Credentials: Get the orchestrator URL and authentication details.
3. Configure Robot: Define the robot’s name, machine ID, and necessary settings.
4. Register the Robot: Connect the robot to the orchestrator with credentials.
5. Machine Association: Link the robot to its specific machine in the orchestrator.
6. Set Permissions: Ensure the robot has access to execute tasks securely.
7. Configure Execution Environments: Define automation processes and settings.
8. Assign Workflows: Allocate tasks manually, on schedule, or via triggers.
9. Test Connectivity: Verify the robot’s connection with the server.
10.Start Execution: Run automation through the orchestrator.
11.Monitor & Maintain: Track performance, logs, and errors.
12.Scale & Secure: Deploy multiple robots and ensure security compliance.
13.Document & Report: Maintain logs and documentation for audits.
14.Decommission if Needed: Disconnect and remove the robot when no longer required.
Follow RPA platform best practices for seamless connectivity and management.
=====================================================================
======= UNIT - V
UiPath Orchestrator is a web-based tool that manages and coordinates robots for
executing automation tasks. It ensures efficient resource allocation, role-based
access, and integration with third-party solutions.
Key Features
User Options
● User Menu: Access preferences and sign-out options from the top-right
corner.
● Language Selection: Change the UI language via Preferences > Language
Menu.
● Theme Selection: Choose from Auto, Dark, or Light themes in Preferences
> Theme Menu.
Steps
========================
Steps to Connect
1. Prerequisites:
○ UiPath Orchestrator setup with required permissions.
○ UiPath Robot installed on the machine.
2. Robot Registration:
○ Log in to Orchestrator → Go to Robots → Click Add Robot.
○ Enter details (name, type, machine) → Create/Save.
3. Get Machine Key & URL:
○ Retrieve the Orchestrator URL and Machine Key after registration.
4. Configure UiPath Robot:
○ Open Robot settings → Enter Orchestrator URL and Machine Key.
○ Test connection for successful linking.
5. Activation & Licensing:
○ Ensure the robot is licensed and activated.
6. Start the Robot:
○ Launch UiPath Robot → Robot appears in Orchestrator.
7. Assign & Execute Processes:
○ Allocate automation jobs via Orchestrator (manual/scheduled).
8. Monitor & Maintain:
○ Use the Orchestrator dashboard for real-time tracking.
○ Regularly update and scale robots as needed.
===========================
=========================
==================
Managing Processes
Different OS (Windows, Linux, macOS) provide tools like ps, top, Task Manager,
kill/taskkill for effective process management.
========================
UiPath Orchestrator
1. Login & Access: Log in to Orchestrator and navigate to the "Assets" tab.
2. Create Assets: Click "Add," name the asset, select type (Credential, Text,
Integer, Boolean), and input the value.
3. Modify/Delete: Edit or delete assets as needed.
4. Asset Usage: Use assets in automations by referencing their names in
activities.
UiPath Studio
1. Connect to Orchestrator: Link Studio to Orchestrator via the "UiPath Assistant"
or "Robot" settings.
2. Use Assets: Use the "Get Asset" activity to retrieve asset values.
3. Secure Credentials: Use "Get Secure Credential" for safe handling of
sensitive data.
4. Dynamic Updates: Change asset values in Orchestrator without altering
automation code.
5. Publish & Deploy: Publish automations to Orchestrator, where assets are
centrally managed.
This process ensures secure and efficient management of sensitive data across
automation projects.
====================
1. Login & Access: Log in to Orchestrator and go to the "Schedules" tab to
manage schedules and triggers.
2. Create Schedule: Click "Create," name the schedule, set recurrence (daily,
weekly, monthly), and define start/end times.
3. Create Trigger: Click "Create," name the trigger, define the event (e.g.,
queue item status or process completion), and specify the process to run.
4. Edit/Delete: Modify or delete schedules and triggers as needed.
5. Execution History: View execution history, success/failure logs, and
troubleshoot.
Best Practices:
=====================
1. Logging Levels: Set appropriate levels (Debug, Info, Warning, Error, Fatal)
to capture the necessary details without excessive data.
2. Custom Logging: Use built-in log fields and custom logging activities to
capture process-specific details like variable values and transaction IDs.
3. Viewing & Exporting Logs: Access logs via the "Jobs" section,
filter/search for specifics, and export logs in formats like CSV or JSON for
analysis and archiving.
4. Best Practices: Use clear, descriptive log messages, include timestamps, log
errors/exceptions, and ensure logs are meaningful for troubleshooting.
5. Log Retention: Define a log retention policy, regularly clean up old logs,
and ensure compliance with data privacy.
6. External Integration & Monitoring: Integrate with tools like ELK stack or
Splunk for advanced analysis and set up alerts for critical issues.
Proper log management ensures efficient troubleshooting, compliance, and
proactive issue resolution.
====================
These use cases highlight how effective log management ensures automation
reliability, efficiency, and compliance while enhancing monitoring and
troubleshooting capabilities.
=================
Background:
ABC Corporation, a multinational company, faced challenges with a manual and
time-consuming HR onboarding process involving multiple departments.
Challenges:
1. Process Automation: Key tasks like document verification and IT setup
were automated using UiPath workflows.
2. Integration: Orchestrator was integrated with HR systems, IT
infrastructure, and email platforms for seamless data flow and notifications.
3. Monitoring & Logging: Real-time progress tracking and detailed logs
provided transparency and troubleshooting capabilities.
4. Error Handling: Orchestrator handled exceptions, notifying HR or new
hires of missing or invalid documents.
5. Reporting & Analytics: Orchestrator generated reports on process
efficiency and error rates.
Results:
Conclusion:
UiPath Orchestrator transformed ABC Corporation's HR onboarding by increasing
efficiency, accuracy, and cost savings, while providing better visibility and control
over the process.