• Top 8 Python Frameworks to develop RPA

    Top 8 Python Frameworks to develop RPA

    Python is the best solution for tech teams to develop RPAs. Python is an open technology, cross-platform, free to use, and supported by major technology companies (lots of SDKs and libraries). We have Python libraries for almost all automation use cases. Tech teams go faster with Python, delivering more robust and reliable solutions.

    This post lists the Top 8 Python frameworks to automate desktop, web, legacy, and mobile applications.

    1. Selenium (Web, webdriver)

    Selenium was initially released in 2004 and is probably the most used framework for web automation. The project supports multiple browsers and all major programming languages, including Python.

    License: Apache 2.0

    2. Pyppeteer (Web, chromium)

    Python port of Puppeteer Javascript chrome/chromium browser automation library. It is a framework created specifically for web automation on Chrome browser. It uses Chrome DevTools Protocol under the covers.

    License: MIT License

    3. BotCity Core (Desktop, Mobile and Legacy)

    BotCity Core is an open-source automation framework that combines multiple technologies, such as UI manipulations via Ids, computer vision (Open CV), and other strategies. BotCity project provides tools to generate codes automatically as the developer specifies the actions in the target application UI. It is cross-platform, can operate any operating system and browser.

    License: Apache 2.0

    4. BotCity Web (Web, supports Computer Vision)

    BotCity Web is a web automation framework that combines Selenium with Computer Vision for interacting with web UI. Developers can choose the best approach to develop UI automation, combining component selection and manipulation by Id, XPath, or its visual appearance. The automations run in headless mode even when using computer vision.

    License: Apache 2.0

    5. PyWinAuto (Windows applications)

    PyWinAuto combines Python modules to allow developers to send mouse and keyboard actions to windows applications. It uses Microsoft Windows API to access and manipulate dialogs and controls.

    License: BSD 3-Clause

    6. PyAutoGui (Mouse and keyboard control)

    Python library to programmatically control the mouse and keyboard. It works on Windows, macOS and Linux and runs on Pyhton 2 and 3.

    License: BSD 3-Clause

    7. AutoPy

    AutoPy is another library for controlling the keyboard and mouse. It also allows finding colors and bitmaps on-screen to choose UI components for interaction. Currently supported on macOS, Windows, and X11 with the XTest extension.

    License: Apache 2.0

    8. Appium (Mobile)

    Appium Python Client can be used to automate mobile applications using WebDriver protocol and Appium commands. Like many other automation frameworks, its primary purpose is software testing, but it can also be used to develop RPA modules.

    License: Apache 2.0

    PLUS – RPA Orchestration

    Developing your bots is just one step in delivering and maintaining RPA in your organization. RPA Orchestration is crucial to monitor, improve and scale your operation.

    Python RPA Deployment in Just a Few Seconds:

    BotCity Orchestrator is a cloud-based orchestrator for your RPAs. Easy deployment (VMs or containers on AWS, Azure, GCP, or on-premise), task queue, error handling, alerts, logs, result files, and full integration and control over API.

  • Python RPA → Our message at Web Summit 2022

    Python RPA → Our message at Web Summit 2022

    RPA projects are closer to ordinary software than anything else. It has requirements, data validation, business logic, testing, integrations, etc.

    Business users should be stakeholders, not developers!

    No more shadow it, prototypes that do not scale, and solutions stuck in proprietary formats and proprietary runtime environments.

    Python RPA community is trying to solve this mess, proposing best practices and guidelines to deliver robust, reliable, scalable automation across business units.

    Let’s embrace open technologies, orchestration, governance, elastic computing and the best practices in software engineering.

    Get involved in this movement.
    We’re BotCity, and we’ll deliver this message at Web Summit.

    Find us at our Booth on AI & Machine Learning Alley on November 2nd.

  • BotCity Maestro Updates

    BotCity Maestro Updates

    👋 Hello!

    We are excited to announce a new set of developments that our team has been working on over the last two weeks.

    Our cloud orchestrator BotCity Maestro received major user experience improvements and new features!

    Over the next sections we will cover what changed and guide you through the new features! I hope you enjoy it!

    Simplified Sign Up

    Do you have an e-mail and a password in mind? Great! That’s all you need!

    New sign up form

    New Layouts

    From the new login and password recovery screens all the way to a major product redesign we refreshed BotCity Maestro design and worked to make it more functional and pleasant to work with.

    Login screen

    Your door into BotCity Maestro now not only looks better but it is also more functional and bring you easy access to our community channels.

    New login screen

    The password recovery screen also received a visual update and bug fixes.

    Password recovery screen

    New Home Screen

    The redesigned home screen now features four cards allowing you quick access to download the BotCity Studio SDK, our Documentation Portal, BotCity Academy and the BotCity Maestro.

    BotCity Maestro Home screen

    Log Management

    The log management was only available via the BotCity Command Line Interface (CLI) or via SDK. Logs visualization and download were the only available options via the BotCity Maestro portal.

    Today we are glad to announce the availability to not only visualize and download but also create and exclude logs directly from the BotCity Maestro interface.

    Clicking on the New Log button will take you to the Log creation screen where you can define the Log label, which is the unique ID to be used when interacting with this Log via the BotCity Maestro SDK or API as well as the columns.

    Log creation screen

    Another major change in regards to logs is that they are no longer limited or tied to a single Automation. Now you can create as many logs as you desire to better organize your data and automation management.

    Try it out now!

    Runner Management

    We recently updated our terminology with the intent to simplify the understanding of what Machines are. Recent updates on the BotCity Maestro replaced all occurrences of the term Machine with the more appropriate term Runner.

    To remember, a Runner is a service created by BotCity which runs on a host (computer, virtual machine, cloud-based host, container or some other form). A host can have one or more BotCity Runners being executed in parallel depending on the use case and hardware capabilities.

    In the past we had to create Runners via the BotCity CLI using a command like the one describe below:

    BotCLI machine new -machineId vm01

    Now you can create Runner instances directly from the BotCity Maestro interface by clicking on the New Runner button.

    New runner screen

    The Runner card contains the other operations that you can perform:

    • View instance information
    • View Runner instance log file
    • Capture Screenshot
    • Edit the instance
    • Remove the instance
    Runner card with latest screenshot and action menus

    Bot Management

    Another great change that we are proud to present is the new feature to manage Bots via the BotCity Maestro interface.

    Before this feature was added, the only way to handle the lifecycle of a Bot (Deploy, Release and Update) was via our command line interface and exclusion of bots was not allowed.

    Starting now, you will be able to perform all those operations directly from the BotCity Maestro user interface with a couple of clicks.

    From the new My Bots menu you can now deploy new bots and versions, mark versions of bots as released, update the bot code and exclude them.

    Here is how to do it.


    Deploy is the process used to add new bots or new versions of existing bots on the BotCity Maestro platform.

    You can deploy a bot by simply clicking on the Deploy button and filling the form with the Bot ID, version, file and technology used. Very similar to the syntax of the command line which was:

    BotCLI bot deploy -botId demoWeb -version 1.0 -file demoWeb-1.0.tar.gz -python
    Deploying a new Bot using the BotCity Maestro interface


    Update is the process used to overwrite or replace the code or executable that a given bot is associated with. Please note that this process is irreversible and will overwrite an existing version even if it is marked as release so please be careful.

    You can update a bot by simply clicking on the pencil icon on the right side of the line associated with your desired bot version and selecting a new file to replace the current one. That is much simpler than the command line which was:

    BotCLI bot update -botId demoWeb -version 1.0 -file demoWeb-1.0.tar.gz -python
    Updating an existing Bot using the BotCity Maestro interface


    Release is the process used to mark which of the bot available versions is the one currently being used when executing the tasks. This version will be downloaded by the BotCity Runner and executed on your host.

    You can define the released version by simply clicking on the ribbon icon (highlighted by the red arrow below).

    Marking a version as the Release version

    The equivalent procedure via the command line interface was:

    BotCLI bot release -botId demoWeb -version 2.0


    A new feature! To remove a deployed version, you can simply click on the trash can icon (highlighted by the red arrow) and confirm on the confirmation dialog that will be displayed.

    Deleting a deployed bot version

    Create your Account

    Don’t have a BotCity Account? Sign up for Free

    More on the Way

    We hope you are enjoying the new features as much as we are while developing and using them.

    As always, if you have questions or find any sort of issues or would like to suggest a feature, feel free to reach out to us via one of our community channels.

    I won’t give you spoilers but there are many cool features coming up over the next weeks! 🚀

    Keep an eye out and make sure to follow us on the social media channels so you can be notified when we release them!

    Have fun automating! 🦾🤖

  • Python RPA + Orchestration – Here it comes.

    Python RPA + Orchestration – Here it comes.

    There is a growing trend for developing RPA solutions as ordinary software using traditional programming languages like Python. Citizen developers are primarily automating their basic day-to-day tasks. When automating complex processes at the core of a company’s operations that involve multiple employees, a technical squad with experts in automation and integrations is mandatory. As technical squads are involved in such processes, choosing powerful programming languages like Python instead of a low-code solution is becoming more common.

    Benefits of using Python to Develop RPAs

    There are many benefits of using programming languages like Python to develop your RPAs:

    • Use thousands of open source frameworks for automation-related tasks.
    • Easy to reuse your solutions through modularization (i.e., creating libraries)
    • Automations developed in open technology instead of proprietary format.
    • Adopting software engineering best practices like Design Patterns, Refactoring, Automated Tests, and CI/CD.
    • Customize your technology stack based on your needs.
    • Best use of computational resources through software optimization.

    Orchestrating Python RPAs

    However, the development of RPA automation is just one step in delivering a solution to production since you must be able to:

    • Deploy your automations into runtime environments.
    • Schedule the executions of your automations.
    • Manage tasks in Queues
    • Monitor executions.
    • Trigger alerts and notifications.
    • Handle errors immediately.

    In order to have all these features in your RPA operation, you have to use an Automation Orchestrator. BotCity Maestro is the first RPA Orchestrator created for RPAs developed as ordinary software. Therefore, it’s easy to use via SDK or API directly in your RPA code.

    BotCity Maestro Orchestrator

    BotCity developed a Cloud Orchestrator that addresses all the issues described in the previous section. Now you can deploy and orchestrate your Python RPAs using Command Line Interface (CLI), APIs, and web platform.

    Home Screen

    On the Home Screen, a dashboard is shown displaying basic information, so now you have the big picture of your entire operation.

    BotCity Maestro Home Screen


    The Task Queue shows tasks in execution, ready to be executed, and finished. Each card represents a single task. The color in the bottom bar indicates the status of the task.

    BotCity Maestro Task Queue

    Using the New Task feature, you can create a new task for a specific activity directly from the portal:

    BotCity Maestro New Task Module.

    You might also create tasks through API or CLI. Just a single HTTP Post, or CLI command, and a new task is added to the Queue. Runtime environments get the tasks from the Orchestrator and execute them automatically.

    Clicking on the task card you can see the task details including its properties, execution errors, alerts, or files uploaded during the execution, as shown below:

    Task Details

    Easy Deployment

    Maestro Orchestrator provides a simple 3-step deployment process:

    1. Automation Name

    2. Bot Deployment File and Properties

    3. Runtime Environment

    Error Handling

    The development of RPAs mainly involves third-party systems that we do not have any control over. These systems might be updated at any time, changing UI behavior and breaking our automations. Time response to changes in systems is crucial in RPA maintenance.

    Maestro Orchestrator provides a simple and powerful method to monitor and react faster to errors in automation execution. A single line of Python code sends errors to Maestro while handling exceptions in Python. Developers are notified, and they can check error messages, stack trace, a screenshot, and other information on a single screen:

    Error Form


    Logs are a compelling way to track the execution of your automation and collect metrics. You can set different columns for each log table and log information in real-time from a single Python command.

    BotCity Maestro Logs Module.


    When we have multiple automations running at the same time, it is a challenge to visualize the entire operation. Alerts are used to provide small messages that can describe some specific aspect of given automation. Just a single line of Python code and it is done.

    BotCity Maestro Alerts Module.

    Runtime Environments

    Machines are runtime environments used to execute automations. It can be a virtual machine, a container or even a physical machine. It is a computing resource for execution. This module lets you visualize and manage such environments.

    BotCity Maestro Runtimes Module.


    When it comes to monitoring and managing a complex operation with multiple automations, it is often necessary to have a dashboard that shows the status and critical KPIs. Using BotCity Connectors you can bring your RPA statistics into Google Data Studio and Power BI.

    BotCity Orchestrator Dashboard Module

    Free Version

    BotCity Maestro Community lets you explore the orchestration of Python RPAs for free. Just signup for free and start using it today.


  • Free Python Automation Course

    Free Python Automation Course

    BotCity Academy is Online 🎓

    We’re pleased to announce that BotCity Academy is online. 🎉

    It is a platform to learn how to develop and manage automations using open source and BotCity. And it is totally free.

    The courses are going to provide video lessons, articles, examples, challenges, and other references to teach concepts related to automation ops.

    Get Started with BotCity Python

    In our first course, we provide an introduction to BotCity’s technological stack, explain how to setup your development environment and create your first automation through the following lessons:

    • Welcome
    • BotCity
    • Download BotCity Studio SDK
    • Development Environment Setup
    • Hello Bot
    • Desktop Automations
    • Web Automations
    • PDF Processing

    If you don’t have a BotCity account yet, just sign up for free now.

    After login, simply click on the BotCity Academy card to start your learning journey.


  • BotCity Maestro and Documentation Portal

    BotCity Maestro and Documentation Portal

    👋 Hello!

    We are excited to announce two major developments that our team has been working on over the last two months.

    Our cloud orchestrator BotCity Maestro received a major architectural, performance upgrades and a handful of new features.

    Our Developers Portal was merged with our various API reference websites giving origin to our new unified Documentation Portal as to create a place for everything BotCity!

    BotCity Maestro

    From the signup to orchestration of your tasks and dynamic dashboards, everything was rebuilt as to bring you a more modern, performant and robust solution. All that with 100% retro compatibility with existing SDK and API code.

    The experience continue the same, but we have some important new features:

    Login using your e-mail and password

    Here the major change was the replacement of the Login field with the E-mail. Now instead of your login just simply type your e-mail and BotCity Maestro password to access your organization workspace.

    New BotCity Login panel

    Task Queue Performance and Live Update

    Fast access to information is paramount when orchestrating automations and other processes.

    We realized that our Task Queue page started to present some delays for intense operations where thousands of tasks were created every day. With that in mind, our team refactored the UI and the backend to make sure the information about your tasks is available almost instantaneously.

    Moreover, with the previous version users were required to constantly reload the page to obtain newer information about the Task Queue and verify if a task that was queued had start processing, if it was finished and which finishing status it had. Now the BotCity Maestro’s task queue page will automatically update in a reactive format and update your task cards as soon as the status of the task changes. 🚀

    Give it a try and let us know what you think.

    Task Queue

    New Tasks – Directly from the UI

    Up to now, most users created tasks with either the BotCity Command-line Interface (CLI) or via the BotCity Maestro SDK. The “New Task” menu was not generally available.

    We are glad to introduce now the exciting dynamic “New Task” feature.

    Using the New Task feature, you can create a new task for a specific activity directly from the portal. New Task

    Creating a new task is as simple as clicking on the New Task button and confirming the action on the subsequent screen.

    For activities where parameters are involved, the New Task screen will be dynamically construct the proper form with the best components for each field and data type associated. 

    New Task

    Now operators can simply login into BotCity Maestro and create tasks with or without parameters with ease.

    This is the first version of this feature and it will soon receive updates.

    Give it a try now and let us know if you have suggestions. We are excited to hear what you think.

    Alerts Live Update

    For enhanced experience while monitoring your operation, now the Alerts page will automatically load new alerts as they are generated on the platform. This means that you no longer need to reload the page to receive new notifications.

    Other Improvements

    Many other improvements were introduced with this new version, mainly architectural changes for enhanced performance, availability and robustness.

    The Log and Result Files features received a new pagination feature and performance improvements.

    Documentation Portal

    Now you no longer need to bookmark a bunch of links or browse around to find related information about BotCity’s command line interface, a feature at BotCity Maestro or even the Java and Python open-source frameworks.

    We got you covered with our new unified documentation portal.

    Documentation Portal

    This new Documentation Portal is a living organism and it will receive constant updates for APIs, Plugins, Features, Tutorials and much more!

    No need to bookmark it as we made the URL super easy to remember… it is:

    Hello, Hola, Olá, こんにちは, Ciao, Hallo, 你好, i18N 🌐

    We are adding Internationalization support to our documentation portal!

    You can select your preferred language via the top menu icon near the search bar:

    As of now, the core language of our documentation is English but our team is working hard to add support to more languages starting with Portuguese.

    As a rule of thumb, if a content is not yet available at your language of choice the system will automatically fallback to English.

    More on the Way

    We hope you are enjoying the new features as much as we are while developing and using them.

    As always, if you have questions or find any sort of issues or would like to suggest a feature, feel free to reach out to us via one of our community channels.

    Have fun automating! 🦾🤖

  • Intelligent Document Processing (IDP): How to Apply?

    Intelligent Document Processing (IDP): How to Apply?

    In the realm of document processing, Intelligent Document Processing (IDP) is capable of transforming unstructured or semi-structured business data into useful and manageable information.

    In other words, it is a workflow automation technology that analyzes and organizes meaningful information in formats accessible to users, starting from a robust data stream. To achieve this, it employs sophisticated artificial intelligence (AI) technology such as natural language processing (NLP), computer vision, deep learning, and machine learning (ML).

    In essence, IDP eliminates the need for human intervention to extract valuable insights from large datasets. With it, you and the managing professionals can focus efforts on strategic tasks for your organization, contributing to the business’s growth and boosting the ROI of projects led by your team.

    Next, understand how document processing, specifically IDP, can increase productivity and strengthen the strategy of companies!

    💡Learn More: What is Hyperautomation and Its Benefits for Complex Operations?

    How Does IDP Work?

    IDP utilizes artificial intelligence (AI) and machine learning (ML) to learn to recognize patterns and make decisions. If your team is directly involved in document processing on a daily basis, it’s important to know that IDP systems are trained on a dataset of documents. This set may include scanned documents, text documents, and images of documents.

    IDP systems learn to recognize patterns in documents, such as text format, document structure, and the data being represented. This allows them to process a variety of documents, including:

    • Financial documents: checks, invoices, and bank statements.
    • Sales documents: orders, receipts, and contracts.
    • Medical documents: patient records and medical images.
    • Government documents: forms, licenses, and permits.

    Technologies Involved

    Here’s a closer look at the technologies involved in Intelligent Document Processing (IDP):

    • Artificial Intelligence (AI): Serves as the foundation of IDP, providing the learning and reasoning capabilities needed to automate data processing.
    • Machine Learning (ML): An area of AI that enables computers to learn from data without being explicitly programmed. ML is used in IDP to train models that can identify patterns and trends in data.
    • Optical Character Recognition (OCR): A technology that allows computers to convert printed text into digital text. OCR is used in IDP to extract data from printed documents.
    • Natural Language Processing (NLP): This is a field of computer science that studies the interaction between computers and human language. NLP is used in IDP to analyze text data, such as emails, documents, and social media.
    • Computer Vision (CV): In IDP, CV is employed to analyze data from images and videos, such as faces, objects, and scenes.

    💡Learn More: What is Computer Vision and Its Main Applications

    Document Processing: How Can IDP Be Used?

    IDP can be applied for various purposes, including:

    • Analyzing documents to identify patterns and trends.
    • Classifying documents into categories, such as sales, marketing, and customer support.
    • Extracting data from documents, such as phone numbers, addresses, and dates.
    • Digitizing printed documents, converting them into digital format.

    This tool is powerful for organizations needing to automate data processing. It helps companies save time and money, improve process accuracy, and gain insights from their data.

    Moreover, when thinking about document processing, the technologies involved in IDP can be combined in various ways to create customized solutions for different business needs. For instance, an IDP solution for financial document processing may use OCR to extract data from documents, NLP to analyze the data, and ML to identify patterns and trends.

    Check out other specific examples of how these technologies are used in IDP:

    • OCR is used to extract data from printed documents, such as receipts, invoices, and contracts.
    • NLP is used to analyze text data, such as emails, documents, and social media. For example, NLP can be used to identify discussion topics in emails or classify documents by subject.
    • CV is used to analyze data from images and videos, such as faces, objects, and scenes. For example, CV can be used to identify customers in security images or classify videos by content.

    It’s worth noting that as AI and machine learning technologies continue to evolve, IDP will become even more powerful and accessible.

    Benefits of Large-Scale Document Processing

    Companies that process documents on a large scale can obtain several benefits by adopting Intelligent Document Processing (IDP). Among them, we can highlight:

    1. Cost Reduction: IDP can help companies reduce document processing costs by eliminating the need for human labor in repetitive tasks.
    2. Improved Efficiency: It also contributes to improving the efficiency of document processing by automating tasks that can be time-consuming and prone to errors.
    3. Increased Accuracy: It makes document processing processes more accurate by mitigating the chance of human errors.
    4. Insights Gain: Companies can gain insights from their document data, accessing information that can be used to enhance operations and make more informed decisions.

    Intelligent Document Processing (IDP) vs. Automated Document Processing (ADP)

    Intelligent Document Processing (IDP) and Automated Document Processing (ADP) are two technologies that can be used to automate document processing. However, there are some significant differences between them.

    ADP is a relatively mature technology and has been available for many years. It is generally rule-based and depends on significant human input to function correctly. For example, an ADP system for data extraction may require users to define rules to identify the data they want to extract.

    IDP can be used for a variety of tasks similar to those that can be automated with ADP. However, it has some significant advantages over the latter. It can learn and adapt over time, meaning it can improve its accuracy and efficiency with use. It can also handle more complex and variable documents, which are challenging or impossible to automate with ADP.

    Here is a table summarizing the key differences between ADP and IDP:

    Specific Uses of IDP

    Here are some specific examples of how IDP can benefit companies processing documents on a large scale:

    • Banks: Banks can use IDP to process financial documents such as deposits, checks, and loans. This can help them save time and money, improve the accuracy of their processes, and reduce the risk of fraud.
    • Retail: Retailers can utilize IDP to process order documents such as receipts and invoices. This way, they can enhance customer service, reduce order processing time, and increase the efficiency of their inventory.
    • Healthcare: The healthcare sector can employ IDP to process medical documents, including patient records, images, and test results. Hospitals and clinics can improve the quality of care, reduce healthcare costs, and enhance patient safety.

    💡Learn more: What is IT Orchestration, Types, and Orchestration Tools?

    How to Choose the Best Document Processing Software?

    When selecting software for document processing, it’s essential to consider the following factors:

    • Business Requirements: What are your document processing goals? Do you need to scan documents, extract data, classify documents, create workflows, or something else?
    • Types of Documents: What types of documents do you need to process? PDFs, text documents, image documents, or others?
    • Document Volume: How many documents do you need to process?
    • Ease of Use: Is the software user-friendly for your employees?
    • Price: What is the budget for the software?

    Tips for Choosing Document Processing Software:

    Consider the following guidelines when choosing the best document processing software:

    • Conduct Research: Read software reviews and compare prices before making a decision.
    • Request Demonstrations: Try the software in your own company to ensure it meets your needs.
    • Consider Long-Term Needs: Is the software scalable to meet your future needs?

    Choosing the right document processing software can significantly impact the efficiency and effectiveness of your business processes.

    Main Differences Between IDP and RPA

    IDP and RPA are two automation technologies used to automate repetitive and manual tasks. However, they have significant differences in terms of approach, capability, and usage.


      • RPA (Robotic Process Automation): RPA is a rule-based technology that follows predefined rules to process data.
      • IDP (Intelligent Document Processing): IDP, on the other hand, is an artificial intelligence (AI) technology that employs machine learning to recognize and understand data patterns.


        • The difference in approach leads to differences in capability.
        • RPA: Well-suited for simple and repetitive tasks that follow a defined pattern.
        • IDP: More suitable for complex and challenging tasks, such as extracting information from unstructured documents.


          • Differences in capability result in distinct usage scenarios.
          • RPA: Often used for automating back-office tasks like order processing, data entry, and invoice management.
          • IDP: Frequently used for automating front-office tasks such as customer service, document analysis, and insurance processing.


    • IDP Example: An insurance company can use IDP to automate the extraction of information from insurance policies. This technology can use machine learning to identify and extract specific information fields, such as the policyholder’s name, policy expiration date, and coverage type.
    • RPA Example: A retail company can use RPA to automate order processing. It can use predefined rules to automatically fill in fields on an order form, including delivery address, payment information, and ordered products.

    Document Processing: Reading and Converting PDF in Python

    If your goal is to use Intelligent Document Processing (IDP) to read and convert PDF in Python, you will need the following libraries:

    • PyPDF2: A Python library for working with PDF documents.
    • Tesseract: Optical Character Recognition (OCR) software used to convert printed text into digital text.

    But fear not; you can achieve this more simply, as outlined below.

    Start Applying Document Processing Now!

    Throughout this article, you gained a deeper understanding of the benefits of Intelligent Document Processing (IDP), including transforming unstructured and semi-structured data into strategic information for decision-making in your company.

    How about putting document processing into practice in your organization in a simple and efficient way? Discover BotCity Docs!

    It’s a technology capable of creating templates for reading and processing text PDFs with Python RPA. In other words, you don’t need to resort to regex, SML, or other more complex procedures.

    This means you have the possibility to analyze documents in bulk with ease, extracting the most relevant and valuable information for your organization. Learn more and request a demonstration!

  • Containers vs. Virtual Machine: pros, cons and how to orchestrate

    Containers vs. Virtual Machine: pros, cons and how to orchestrate

    Containers and virtual machines (VMs) are virtualization technologies that enable the execution of applications in isolated environments. In other words, they are computing environments that combine various IT components and keep them separate from the rest of the system.

    However, as an IT professional, you must be aware that there are significant differences between these two technologies. Therefore, it’s important to compare the pros and cons of containers vs. VMs to understand how to orchestrate these resources in your organization.

    For instance, while virtual machines virtualize an entire machine, reaching down to the hardware layers, containers virtualize only the software layers above the operating system level.

    Continue reading to better understand the differences between these two technologies and determine the best solution for your team’s needs!

    💡Learn more: What is hyperautomation, and what are the benefits for complex operations?


    A container consists of a package of software code that includes an application’s code, its libraries, and other dependencies. This makes applications portable and easy to deploy and manage, allowing the same code to run on any device.

    This lightweight form of virtualization enables the execution of applications in isolated environments. In other words, containers are a good option for portable applications that don’t require many resources.

    Pros of using containers:

    Check out the advantages of using containers:

    1. Portability: Containers can run on any platform that supports the container runtime. This makes them an attractive option for applications that need to run in various environments, such as public and private cloud environments;
    2. Efficiency: They are more efficient than virtual machines (VMs) because they share the host operating system’s kernel. This means that containers require fewer resources from the host operating system, leading to cost savings;
    3. Scalability: They can be easily scaled to meet load demands. Therefore, they are a good choice for applications that need to scale quickly;
    4. Ease of Deployment and Management: Containers are easy to deploy and manage, making them a better fit for organizations without dedicated IT resources.

    Cons of using containers:

    Now, take a look at the disadvantages:

    1. Security: Containers are less secure than VMs because they share the host operating system’s kernel. Therefore, a malicious container can impact other containers or the host operating system.
    2. Isolation: The isolation between containers is not as strong as the isolation between VMs. As a result, a malicious container can access the resources of other containers.
    3. Complexity: Containers can be complex to manage in large environments, potentially requiring the deployment of a container orchestration system.

    Virtual Machines

    A virtual machine is a digital copy of a physical machine that enables the execution of an entire operating system in an isolated environment. VMs are robust software packages, allowing the complete emulation of low-level hardware devices such as CPU, disk, and network devices.

    When considering containers vs. VMs, keep in mind that VMs are a good option for applications that require many resources or need to be isolated from other applications, as well as those that need to run on a specific platform.

    Pros of using virtual machines:

    Among their advantages, we have:

    1. Security: VMs provide complete isolation between operating systems, making them a more secure option than containers. This means that a malicious operating system in a VM cannot affect other operating systems or the host.
    2. Isolation: The isolation between VMs is stronger than between containers. In other words, a malicious VM cannot access the resources of other VMs.
    3. Resources: Virtual machines can provide more resources for applications than containers. Therefore, they are a suitable option for applications that require many resources, such as database or real-time data processing applications.
    4. Portability: They can run on any platform that supports the hypervisor. This makes them well-suited for applications that need to run in various environments, including public and private cloud environments.

    Cons of using virtual machines:

    Finally, the disadvantages of virtual machines:

    1. Performance: VMs may have lower performance than containers because they require more resources from the host operating system. This is because VMs need to run the hypervisor, which is additional software that consumes resources.
    2. Complexity: They are more complex to manage than containers, as they require more configuration and maintenance.

    Container and VM Orchestration

    Orchestration is the process of managing and automating the deployment, scaling, and maintenance of containers and VMs.

    Various orchestration systems are available, such as Kubernetes, Docker Swarm, and Nomad. They provide a variety of features for orchestrating containers and VMs, including:

    1. Automation: Orchestration systems can automate common tasks, such as deploying containers and virtual machines.
    2. Scalability: These systems can scale containers and VMs to meet load demands.
    3. Monitoring: They can also monitor containers and VMs to ensure they are functioning correctly.

    Containers vs. VMs: Can they be used together?

    A common approach is to use containers to run applications that do not require many resources or need to be portable. VMs are used to run applications that require many resources or need isolation from other applications.

    In this way, an organization can use containers to run specific web or backend applications. Simultaneously, VMs can be used to run database applications or real-time data processing applications that require more resources.

    Another approach is to use containers within virtual machines. This can be done to achieve the isolation and security of VMs with the portability and efficiency of containers.

    Containers vs. VMs: Understand your business needs!

    Containers and VMs are powerful virtualization technologies that can be used to run applications in isolated environments. Choosing the right technology depends on the specific needs of the application.

    As you have seen throughout this article, if the application is portable and does not require many resources, containers are a good choice. If the application requires many resources or needs to be isolated from other applications, VMs are the better choice.

    Orchestration systems can help manage and automate the deployment, scaling, and maintenance of containers and VMs.

    We hope this content has been helpful to you. Stay tuned to our blog and take the opportunity to check out the guide we’ve prepared on RPA in IT.

  • RPA budgeting for 2024: a strategic approach for leaders

    RPA budgeting for 2024: a strategic approach for leaders

    Creating a robust business case for RPA (Robotic Process Automation) is an essential initial step in assuring more resources for your RPA initiative, much like any significant technological investment.

    Despite RPA’s presence in the market for some time and increased use for enterprise-level automation, it’s often overlooked or not allocated a sufficient budget.

    In this article, we’ll delve into a pivotal aspect of formulating your RPA strategy: establishing an effective RPA budget.

    Key RPA Budget Components

    RPA budgeting transcends mere calculation of software costs. This excellent article by Olivia Pan Chong highlights that the direct expenses associated with an RPA bot fall into three main categories: labor costs, software expenses, and infrastructure charges. A summary of each component would look like this:

    • Software licensing: this varies depending on whether you choose cloud-based or on-premises solutions, with each having its unique cost structure;
    • Development and maintenance: costs for bot creation, monitoring and ongoing support for business areas;
    • Infrastructure requirements: critical for on-premises deployments, encompassing server costs and related hardware;
    • Training and change management: often overlooked, these are crucial for ensuring smooth RPA integration into existing workflows.

    Source: Olivia Pan Chong

    How to accurately estimate RPA costs?

    Accurately predicting RPA expenses and returns is crucial for presenting a compelling business case to management and securing necessary funding.

    Regardless of whether the work is outsourced or managed in-house, diverse operational models exist for RPA bot development and maintenance, which makes it essential to assess departmental activities and pinpoint potential processes to automate.

    This assessment in collaboration with business areas not only sets an appropriate RPA budget but also highlights the technology’s potential benefits, like cost savings, quality improvements, reduced time and errors, better SLA fulfillment, and increased customer satisfaction.

    Measuring ROI and quantifying savings

    There are different methods and metrics used to measure potential resource savings and potential performance with RPA. Here are my recommendations:

    1. Comparing bot vs. human performance and cost

    Comparing the performance of bots versus humans is a key aspect in evaluating RPA’s return on investment. This comparison should include the cost savings from using bots against the strategic benefits of reallocating human employees to higher-level tasks.

    For instance, the contrast between an employee’s annual cost and a bot’s price often highlights significant financial savings. However, the goal isn’t to replace human workers, but to enhance overall productivity by assisting them with digital tools.

    In order to assess this, your team can evaluate the expected reduction in Full-Time Equivalent (FTE) post-automation (an employee’s scheduled hours divided by the employer’s hours for a full-time workweek).

    Remember to factor in the often-underestimated design phase labor and resources, as well as the intensive monitoring period following bot deployment. Maintenance activities will also vary based on several factors, including process complexity and bot quality.

    There are two more dimensions to consider about cost savings: money saved from preventing human errors in the scalable process and eliminating fines and extra costs from overdue documents and payments, as your automations won’t lose deadlines.

    Beyond just cost savings, consider customer speed and satisfaction factors such as support tickets reduction from faster response, improvements on NPS and sales that need fast document check and data fulfilling (like approving a credit), while planning for continuous training and improvement to maximize RPA’s effectiveness.

    2. Building advanced orchestration reports and dashboards

    Creating sophisticated orchestration reports provides critical insights into high-scale operations and helps CoE teams quickly identify and address operational bottlenecks. Ensure that all automations, whether crafted via intuitive drag-and-drop interfaces or more complex coding, align with the organization’s policies and best practices.

    Modern RPA tools like BotCity offer customizable dashboards to measure the ROI of the CoE operations, number of automations in production, hours saved, total cost savings, and more, translating complex data into actionable insights.

    That way you can use historical data to predict trends and plan future RPA initiatives, aligning them with business goals.

    RPa budget dashboard
    RPA dashboard example from BotCity Insights.

    3. Selecting vendors and predicting robot license needs

    Selecting appropriate RPA platforms is crucial for precise cost projections and efficient RPA implementation. Even when partnering with the same vendor, cost implications can vary significantly based on different deployment frameworks or varying process architectures (like unattended, attended, or hybrid).

    Understanding the bot allocation and vendor pricing model is vital – whether it’s a per-bot payment system or an option for unlimited bots.

    For numerous organizations, underutilized licenses of widely-used low-code platforms lead to unnecessary expenditures. Integrating these platforms with code-centric RPA solutions allows businesses to optimize their return on investment by improving governance and technical team productivity.

    This approach ensures that every license, whether for low-code or traditional coding, is fully leveraged.

    While user-friendly features such as drag-and-drop interfaces are beneficial, a fundamental understanding of RPA principles and coding remains important to ensure team autonomy and quick

    Besides, low-code platforms typically involve corporate licenses per bot or machine. However, with Python RPA, there are no commercial licenses required for development. BotCity, for example, offers an orchestration platform based on a SaaS model, which is pay-as-you-scale, potentially offering up to 80% in savings.

    4. Considering Gen-AI and RPA combination

    Generative AI applications powered by RPA frameworks are set to transform cost-effectiveness in enterprise intelligent automation. Therefore, having detailed control over every element of both RPA automation and AI processes is vital for fine-tuning generative AI models and ensuring their operation within particular parameters.

    Utilizing open-source RPA framework offers the versatility to craft custom algorithms, adapt existing ones, or seamlessly incorporate sophisticated machine learning and AI libraries such as TensorFlow, PyTorch, and various GPT models. This adaptability is essential for tasks that require specialized capabilities in generative AI.

    Furthermore, Python RPA’s flexibility in deployment, whether on powerful cloud-based systems or on-premise servers designed for intense computation, makes it a highly adaptable solution for advanced AI applications while ensuring maximum performance.

    Need to optimize your 2024 RPA budget?

    Strategic planning for an RPA budget is more than just number-crunching; it demands an in-depth comprehension of both present and future business requirements from technology leaders.

    Make sure to partner with vendors who not only grasp your specific business area but also provide comprehensive support. In this regard, BotCity stands out with its Maestro platform, revolutionizing code-based orchestration.

    BotCity goes beyond mere scheduling and logging of automations. It plays a pivotal role in informing stakeholders, delivering critical insights, and orchestrating high-scale operations effectively.

    Recognized by G2 as the RPA platform with the best global customer support, we offer extensive documentation, access to a global forum, and dedicated Slack channels for customer assistance.

    Connect with us today to explore how BotCity can transform your RPA journey.

  • Parallel Processing: what it is and its advantages

    Parallel Processing: what it is and its advantages

    Parallel processing has emerged as an essential approach in response to the need to handle complex tasks and voluminous datasets simultaneously. Consequently, activities that can be performed in parallel represent an evolution of operations.

    This enables significant advances in the speed, efficiency, and scalability of computational operations. In this article, we will explore everything from processor architecture to the main types of parallelism. Check it out now!

    What is parallel processing?

    Parallel processing occurs when two or more processors interact with each other to perform a task. In other words, it involves the simultaneous execution of multiple tasks to optimize efficiency and speed up processing time.

    Parallel processing works by distributing the workload among various processors, allowing different parts of the same task to be executed simultaneously. This enhances performance compared to sequential processing.

    This technology can be used in various applications, but it is particularly prevalent in those that handle large volumes of data. Parallel processing involves both hardware aspects (processors, memory, and machine architecture) and software aspects (programming languages, algorithms, process mapping, and distribution).

    Flynn’s taxonomy architectures

    Computer scientist Michael J. Flynn created a taxonomy in 1972 to classify parallel processors. The architecture contains two streams of information: data and instructions that are used to create the four architectures of the taxonomy. Check them out:

    SISD (Single Instruction, Single Data)

    SISD is the simplest processor model. In this model, a single instruction unit operates on a data stream. It was seen in early single-core computers.

    MISD (Multiple Instruction, Single Data)

    Multiple processing units that can read multiple instructions with a single data element. In other words, multiple instructions process the same data in parallel. Examples include pipeline and data-flow architectures.

    SIMD (Single Instruction, Multiple Data)

    In SIMD, one instruction is applied to multiple data simultaneously. Several processing units read a single instruction for different types of accessed data in each cycle. SIMD processors used in artificial intelligence are examples of SIMD processors.

    MIMD (Multiple Instruction, Multiple Data)

    Multiple instructions and multiple data are read and executed simultaneously. This is the most commonly used model in modern processors, such as multicomputers and multiprocessors.

    Types of parallelism

    Now that we understand what parallel processing is and its architecture, let’s explore the types of parallelism. Each type focuses on different aspects and levels. Check them out:

    Data parallelism

    Data parallelism involves the simultaneous execution of operations, but with data division. In this case, data is processed independently and can be achieved using SIMD (Single Instruction, Multiple Data).

    Task and automation parallelism

    Task parallelism involves the division of instructions that must be processed concurrently. In this case, there is a dependency between the processed data, and each task may involve the execution of multiple instructions.

    Instruction parallelism

    Instruction parallelism is the processor’s ability to execute multiple instructions simultaneously. It can be achieved through the pipeline technique, which divides the execution of instructions into several sequential stages.

    Advantages of parallel processing

    Explore the main advantages of parallel processing:

    Enhanced performance

    One of the key advantages of parallel processing is the improvement in system performance. With this technology, multiple processors can operate in parallel to support a greater workload. Several tasks can be executed simultaneously, resulting in faster completion times for complex tasks.

    Resource utilization

    Parallel processing allows for more efficient handling of complex tasks and large volumes of data. Different processors or cores can execute tasks and subtasks simultaneously, enabling faster task completion and increased overall processing capacity. Correct utilization of parallel processing can lead to cost reduction as tasks complete more quickly, resulting in less hardware usage.

    Fault tolerance

    Another advantage of parallel processing is increased system reliability, and critical operations can be performed more securely. In parallel processing, the failure of one processor does not necessarily affect all processes, enhancing system reliability.

    Parallel processing of automations with Python

    The Python programming language is extremely flexible and versatile, allowing for the programming of parallel automations in various environments, systems, and infrastructures. From web applications to desktop and legacy systems, Python can efficiently create and manage parallel automations.

    BotCity, an expert in Robotic Process Automation (RPA), offers an Open-Source RPA software for creating and managing code-based robots, primarily developed in Python. When choosing how automation should be executed during deployment, it is possible to connect it to more than one runner.

    This means that programmed robots can execute various tasks in parallel in different environments, such as virtual machines, containers, or in the cloud. This makes the automation process of your company much more agile and efficient.

    Ready to use parallel processing?

    We hope this article has clarified your main questions about parallel processing. Distributing tasks across multiple processors operating simultaneously can optimize efficiency and speed up the execution of complex operations.

    If you are looking for an RPA solution to automate and accelerate your company’s processes, it is worth exploring BotCity, a platform known for its flexibility in Python automations.

    Feel free to schedule a conversation with our experts or, if you want to try BotCity on your own, create a free account!

  • Governance IT: understand what it is and how to implement [guide]

    Governance IT: understand what it is and how to implement [guide]

    A research conducted by IBGE (Brazilian Institute of Geography and Statistics) revealed that, in 2022, 84.7% of medium and large-sized companies use advanced digital technology in their operations, with cloud computing (73.6%) being the most prominent, followed by the Internet of Things (48.6%).

    This data shows that the business landscape has become increasingly dependent on automation models and various algorithms. For companies to succeed, areas such as IT governance become fundamental.

    This is because, with IT governance, it becomes easier to ensure the management, control, and optimization of information technology resources, reinforcing the value of the IT department for the company. If you are interested and want to learn more about the pillars, benefits, and how to implement IT governance, just follow the article!

    What is IT governance?

    IT governance is a set of processes and practices aimed at ensuring the alignment of the Information Technology (IT) department with other sectors of a company. For this, the set of IT governance practices guides corporate management in making strategic decisions.

    In this way, the IT department of an organization can stay aligned with the company’s strategic objectives, optimizing the use of IT resources and better managing the risks of applications, systems, and hardware used in all sectors.

    IT governance is guided by various pillars, such as strategic alignment, risk management, resource management, and value management. These pillars help managers keep the information technology area running in accordance with the company’s norms and policies. Throughout the content, we will delve into how these pillars work.

    What are the pillars of IT governance?

    To be able to align the information technology area with the organization’s needs, IT governance has some pillars. Check it out:

    Strategic alignment

    A fundamental step for the success of IT governance, strategic alignment ensures that the IT area acts in accordance with business needs, taking into account its norms, policies, and objectives.

    Thus, truly effective and high-value solutions for business development can be planned by those responsible for IT governance.

    Value delivery

    Another important pillar for IT governance is value delivery. Here is the moment to ensure that investments made in the IT area are, in fact, aligned with the area’s activities, business objectives, and stakeholder expectations.

    With this, it is necessary for the information technology area to present tangible, quality results that effectively benefit the company.

    Risk management

    Risk management is important for identifying, assessing, and mitigating risks related to information technology activities. For this, those responsible need to develop a plan and carry out a comprehensive analysis to identify potential risks that can affect security, system performance, and reliability, for example.

    Once this is done, it is the role of governance to communicate the risks to the company, developers, and customers. This pillar is fundamental to correcting possible risks identified with quick adjustments and ensuring the prevention of further damage.

    Resource management

    Resource management within IT governance refers to the responsibility of managing the budget of the information technology department to ensure the delivery of services within the expected spending limit set by the organization.

    Aspects related to resource management include human resources, i.e., recruitment, development, and retention of talent, investment in hardware, software hiring, network usage, among others.

    Performance measurement

    Evaluating performance is an essential pillar in IT governance because it is through measuring results that it becomes possible to assess the effectiveness of strategies and ensure that the team is delivering what is expected by the company.

    For this, many use key performance indicators (KPIs) and various orchestration methods that, when aligned with the company’s strategies, help measure performance, enabling the identification of trends, patterns, and areas for improvement.

    Benefits of Implementing IT

    Governance Adopting IT governance in your company can bring numerous advantages. Check out the main ones below:

    Cost reduction

    The costs of your company can be significantly reduced by implementing IT governance. This is because this area aims to optimize the use of resources, avoiding unnecessary costs, and eliminating redundant processes. In addition, a well-structured IT governance focuses on simplifying and automating processes, eliminating possible delays, and reducing the time spent on certain activities. In other words, IT governance can map processes in the information technology area and achieve the best results.

    Improvement in quality

    Complementing cost reduction, the improvement in quality arises with IT governance as strategic planning brings greater productivity to the company. This is because IT governance is responsible for analyzing the best ways to perform company activities using the benefits of technology.

    For example, it is the responsibility of IT governance to verify if it is possible to automate business processes with tools such as RPA and BPM. In this way, many repetitive tasks manually performed by developers can be carried out by robots with the adoption of automation software.

    As a result, there will be an improvement in quality and results with fewer human errors, reallocation of workforce to higher-value projects, and consequently, a reduction in operational costs, as robots can perform the same tasks in less time.

    💡Learn more: RPA for IT: benefits, examples, and how to implement

    Information Security

    IT governance also assists in the information security of a company, as it is responsible for implementing policies and security mechanisms in IT. In addition, it is up to IT governance to organize security training for the team, ensuring that everyone is aware of the adopted guidelines.

    Finally, IT governance is responsible for ensuring that the company’s security practices comply with existing laws and regulations, such as the LGPD (General Data Protection Law), for example.

    More Innovation

    Finally, IT governance has the strategic function of driving innovation in a company. This benefit can be achieved through the research and evaluation of new technologies and innovative practices to be implemented in the corporate environment.

    It is important that IT governance always seeks to update itself on new technologies and market frameworks. In this way, your company can remain competitive in an industry that undergoes constant changes.

    How to implement IT governance?

    There are IT governance frameworks that guide the implementation of the area in the company. Frameworks are ready-made models that your company can follow to assist in the implementation process of IT governance. Get to know the most used ones:


    COBIT, acronym for Control Objectives for Information and Related Technologies, acts as a management and IT governance framework. It provides a set of practices, guidelines, and organizational strategies to help companies achieve their objectives.

    The framework provides specific details on how IT governance can carry out its activities. Additionally, it identifies the KPIs for each process, helping companies measure the success of each process.


    ITIL (Information Technology Infrastructure Library) is a framework that encompasses a set of efficient practices and concepts that assist IT governance. The tool defines organizational functions to ensure that activities are carried out effectively, including Service Desk and Problem Management.

    The tool is considered a library of best practices, that is, it is a set of flexible guidelines that organizations can adapt according to their needs.


    Finally, PMBOK (Project Management Body of Knowledge) serves as a guide for IT governance. It contains widely recognized and used project management best practices.

    PMBOK contributes to professionalism in project management by providing standards and guidelines to assist in performing work effectively.

    IT Governance and IT Management

    Despite being related, the concepts of IT governance and IT management have crucial differences and play important roles within an organization.

    IT governance, as we’ve seen, has the role of aligning IT activities with the objectives of other areas of the company through a set of practices that ensure the effective use of IT resources.

    In other words, IT governance operates more strategically, taking into account the company’s norms and policies.

    On the other hand, IT management is responsible for the practical and operational implementation of IT activities, ensuring that the strategies determined by IT governance are executed properly.

    Its activities include project management, technical support, system development, and infrastructure maintenance.

    💡Learn more: What is IT orchestration and main tools

    Ready to improve IT governance in your company?

    We hope this content has been helpful in clarifying your doubts about IT governance. Remember that implementing this area in your company can bring numerous benefits.

    If you want to optimize your business processes and be recognized for boosting governance in your company, using RPA for orchestrating IT automations and applications can be a great option.

    With the BotCity RPA orchestrator, you can boost the efficiency of code automations in an integrated way, creating and orchestrating automations from the simplest to the most complex across different systems, applications, infrastructures, and devices.

    So, schedule a conversation with our experts or, if you want to try the BotCity code assistant and orchestrator on your own, feel free to create a free account!

  • RPA Course: 4 options from beginner to advanced

    RPA Course: 4 options from beginner to advanced

    Robotic Process Automation (RPA) is a highly versatile technology that has revolutionized how businesses operate.

    If you are an IT leader or a developer looking to update your skills, you need to understand how to create automations in various environments and systems, as well as how to orchestrate RPA in your organization.

    An RPA course will help you develop the necessary skills to implement and manage successful robotic process automation projects.

    In this article, you will learn about the benefits of RPA for businesses, the most recommended types of RPA courses, and some available course options on the market. Keep reading!

    RPA Course: What types are there?

    RPA, or Robotic Process Automation, is a technology that uses virtual robots to automate repetitive and manual tasks. These robots are software that can interact with systems and applications just like a human.

    RPA offers several benefits to companies, including cost reduction, efficiency improvement, error reduction, and quality enhancement.

    Different types of RPA courses are available:

    Low-code RPA development course: usually aimed at business professionals with limited programming skills. These courses teach how to create simple automations with low-code RPA platforms;

    Code-based RPA course: these are for technical professionals and programmers who want to automate tasks in their areas or specialize in RPA;

    RPA management course: these are more focused on RPA orchestration and managing complex automation operations.

    Why Invest in an RPA Course?

    As a technology leader or RPA developer, you are responsible for ensuring that your organization’s automations work correctly and are well integrated with other processes. An RPA course can help you:

    Understand the fundamentals of RPA: This training will provide you with a basic understanding of concepts, integration possibilities, and tools involved in robotic process automation.

    Implement RPA automations: You will learn how to develop and implement successful RPA projects, whether they involve low-code or coded automations, such as in Python.

    Manage RPA projects: In a context of hyperautomation, it is necessary to have the skills to effectively manage large RPA projects, in order to minimize errors and maximize project ROI through automation orchestration.

    RPA Course: Discover 4 options from beginner to advanced

    We have compiled some of the best RPA course options for developers and automation leaders. Check them out:

    Python Driven AI Automation: BotCity RPA & Trending AI Tools

    This course presented by Sandip Ganguli, automation an IA expert, is the right choice to learn Next-Gen AI Skills and build automations in Python Framework, while Integrating OpenAI, ChatGPT & Google Bard.

    The course uses the BotCity ecosystem, a development and orchestration platform for code-based automations, to create robots for common automation cases.

    The course syllabus includes the following modules:

    • Intelligent Computer Vision Framework. Learn to build Desktop BOT, Web BOT, PDF Bot, Google Workspace Plugins, Orchestration and More.
    • OpenAI & Python – Build AI ChatBot as Text-To-Audio, Audio-To-Audio (Voice Assistant), and more. Integrate OpenAI library with other open source libraries.
    • AI & RPA Integration – Learn to build the Framework which can integrate AI offerings, BotCity RPA offerings, and other Python libraries.
    • AI Automation – Complete project as a package and set you to start your AI Automation journey.

    UiPath Courses

    For people already working in companies with UiPath, a low-code RPA license, there are several different courses for RPA development with this software. UiPath itself has an area for free UiPath courses, but there are also other highly rated courses created by experts. Some examples include:

    Automation Anywhere Courses

    Like UiPath, Automation Anywhere is another highly used low-code platform by companies with automation operations. It is worth studying this platform more deeply if the company you work for already uses this solution.

    Some examples of courses include:

    However, it’s important to note that licenses for platforms like UiPath and Automation Anywhere can be costly. Depending on your needs or your team’s, it may be worth exploring open-source RPA software, such as those based on Python automations, which offer more efficiency and scalability in the implementation of automations.

    Creating Automations with Computer Vision

    Another free RPA course for those already familiar with the world of RPA automations in Python is “Creating Automations with Computer Vision.” It teaches how to create desktop automations and read data from YouTube and other image and video assets with computer vision for automations.

    Additionally, it teaches basic orchestration fundamentals, such as:

    • Automation management
    • Task, log, and alert management
    • Automation execution

    Have you chosen the best RPA course for your needs?

    As you’ve seen in this article, there are various Robotic Process Automation courses to meet different needs.

    If you are an IT leader or are looking for a career transition in the RPA area, it’s important to consider a course to develop the skills necessary to implement and manage successful RPA projects.

    Why not try applying robotic process automation in your company and enjoy all the benefits described at the beginning of this article right now? Register for free at BotCity!

    We have a free Python code assistant for creating RPA automations, as well as more than 30 RPA frameworks for common use cases of automation.

  • Open source RPA: how is it revolutionizing enterprise automation?

    Open source RPA: how is it revolutionizing enterprise automation?

    Open Source RPA was initially seen as a niche alternative to commercial RPA solutions. However, it has gained traction due to its flexibility and cost-effectiveness.

    RPA offers a cost reduction of approximately 30% to 50%, making it a valuable investment for enhancing an organization’s financial health. Its versatility allows it to manage various tasks, from replicating processes to web scraping.

    RPA is effective in forecasting and minimizing errors, potentially eliminating some processes entirely. Additionally, it contributes to staying competitive through intelligent automation.

    The evolution of open source tools, combined with growing community support and the increasing sophistication of AI and machine learning technologies, has catapulted Open Source RPA into a viable option for businesses of all sizes.
    In this article, we will delve into the benefits of open source RPA for hyperautomation strategies and RPA developers.

    What is open-source RPA?

    RPA open-source is a dynamic field where free, openly available software tools are utilized to create automated processes. This approach diverges from traditional, proprietary RPA solutions by offering more adaptability and customization opportunities.

    Open-source RPA tools are often developed and maintained by a community of users, allowing for a collaborative and continually evolving software environment.

    RPA has evolved from simple task automation to complex process orchestration, incorporating advanced technologies like AI and machine learning.

    What are the benefits of open-source RPA?

    Open source RPA evolution marks a significant leap from traditional RPA solutions, offering businesses unparalleled adaptability and efficiency. Some of the benefits include:

    Flexibility and accessibility

    RPA tools, particularly those oriented to Python, offer unparalleled flexibility. Python’s wide range of libraries and accessibility for teams with varying skill levels makes it an ideal choice. This flexibility is further enhanced by Python’s compatibility with containers and serverless architectures, ensuring efficient and parallel processing of automation tasks.

    Cost-effective solution

    The pay-per-use model eliminates the need for expensive, long-term licensing agreements, making it a financially viable option for businesses. This model allows organizations to pay only for the resources they use, optimizing their investment in automation technology.

    Avoiding vendor lock-in

    Open source RPA tools provide an escape from the restrictive nature of vendor lock-ins common with commercial tools. With open source, the automation solutions belong to the organization. This autonomy ensures that businesses are not dependent on a specific vendor for updates or modifications to their automation processes.

    Open-source RPA vs. Low-code commercial tools

    When evaluating open source RPA versus commercial low-code tools, the primary consideration is often the cost. Open source tools typically have no upfront licensing fees, reducing initial investment.

    In contrast, commercial tools often come with higher licensing costs but may provide a more user-friendly experience for business users. Each type has its strengths and can be more suitable depending on the specific needs and capabilities of the organization.

    Key components of open-source RPA

    The core of RPA Open Source lies in its components – AI, machine learning, and automation scripts. These components work in unison to create intelligent automation solutions that are both robust and versatile.

    Learn more: RPA in IT: discover the benefits, examples, and how to implement automations

    Open-source Python RPA

    Python has emerged as a pivotal language in RPA Open Source, thanks to its simplicity and extensive library support. It enables developers to build complex automation scripts that are both effective and easy to maintain.

    Python scripts in RPA can automate a wide range of tasks, from data entry to complex decision-making processes.

    Learn more: Python RPA: understanding the automation culture

    Challenges and considerations

    While RPA Open Source offers numerous benefits, it also presents challenges such as the need for code-skilled developers, and ensuring security and compliance.

    Implementing RPA Open Source requires focusing on identifying optimal processes for automation, customizing solutions to fit specific business needs, and ensuring effective integration with existing systems and workflows.

    5 open-source RPA tools and frameworks

    Open-source RPA tools significantly enhance the ROI of enterprise projects. Here’s a curated list of RPA tools and frameworks:


    Offers open-source frameworks and plugins for Python, Java, and JS development across various infrastructures like AWS, Google Cloud, and Azure. It facilitates automation orchestration in Docker, Selenium, AutoGui, and integrates with applications like Office 365, Teams, Power BI. BotCity allows management and orchestration of RPA across different frameworks, not limited to its own creations.

    Robot Framework

    Known for its advanced features and stability, supported by a consortium of vendors. It’s multiplatform compatible and extendable with a vast plugin library. Ideal for complex RPA tasks but may be intricate for RPA beginners.


    Features a rich scripting language for complex RPA tasks. Develops instructions, or “flows,” in its scripting language, saved as “.tag” files. Suitable for mid-level or advanced teams.

    Open RPA

    Offers customization and automation with a mature solution architecture. Supports features like remote management, cloud integration, scheduling, and analytics dashboards. Regularly updated by an active community.


    A browser-based RPA application with a drag-and-drop interface, suitable for re-engineering traditional business processes.

    Recommendations for technical and business leaders

    It’s crucial for leaders to familiarize themselves with the evolving landscape of open-source RPA before investing. Starting with open-source RPA tools can be advantageous due to the absence of licensing fees.

    As your RPA needs grow, so does the necessity for adept scriptwriters and environment managers. Initially, opt for simpler open-source tools to demonstrate RPA’s efficacy, progressing to more complex systems for larger-scale implementations. A multi-vendor RPA approach, blending open-source with commercial RPA tools, and having a skilled team, can also empower business users while bringing performance and scalability to the RPA program.

    Plus, adopting RPA open-source presents unique challenges such as ensuring skilled resources, and upholding security standards.

    Embrace open-source RPA for enterprise-level governance

    Ready to explore the potential of open-source RPA for your business? Discover BotCity’s advanced open-source RPA solutions, designed for flexibility and scalability.
    Our platform offers a perfect blend of accessibility and sophisticated RPA orchestration, catering to both beginners and advanced users.

    Start your journey with BotCity for free or schedule a call with our experts to experience the power of open-source RPA tailored to your organizational needs.

  • Computer vision: what it is and key applications

    Computer vision: what it is and key applications

    According to a survey conducted by Mordor Intelligence, the computer vision market is expected to grow from $14.65 billion in 2023 to $33.13 billion by 2028.

    These numbers indicate significant growth and increased technology use across various sectors. The research also states that due to advances in image and object sensors, the application of computer vision has expanded in many sectors, such as healthcare and security, for example.

    So, if you are interested and want to learn more about what computer vision is, how it works, its main applications, and tasks, keep reading the article.

    What is computer vision?

    Computer Vision is a field of computer science that leverages Artificial Intelligence (AI), Machine Learning (ML), and Optical Character Recognition (OCR) to develop computational systems capable of seeing, interpreting, and classifying visual information in a manner similar to humans.

    This is achieved through the development of algorithms capable of extracting patterns and useful information by simply analyzing images and videos. This enables the generation of relevant data, automation of tasks, and acceleration of decision-making in various areas.

    How does computer vision work?

    For us humans, the process of seeing, analyzing, and understanding the world around us is a routine task. However, this physiological system involves several steps: when light reflected by objects passes through the cornea, it travels along the nerves of the retina and only then reaches the brain so that images can be processed and understood.

    With continuous learning, we enhance our ability to differentiate objects, measure distances, and understand patterns, gaining context about the world around us.

    With computer vision, the process is similar. Through the use of algorithms and operating systems with mathematical and physical data, the machine becomes capable of analyzing, interpreting, and extracting information from visual elements.

    To operate correctly, computer vision systems rely on techniques such as Machine Learning and Deep Learning to improve their capabilities over time. In other words, machines need to be trained and fed with a large volume of data to optimize their processing capacity.

    Only then can the system be trained to succeed in its goal, distinguishing characters, symbols, animals, people, and objects, for example. This process is cumulative – the more data and information provided to the system, the greater its ability to perform tasks appropriately.

    Applications of computer vision

    After understanding what computer vision is and how it works, let’s explore some examples of applications of this technology in different processes and sectors. Check it out:

    IT Automation

    Computer vision technology is also used in Robotic Process Automation (RPA) in various areas, such as IT.

    With computer vision, robots created to automate IT processes can “see” systems and navigate between screens, being able to fill in fields, update files, and more.

    As a result, if changes are made to the system the robot works on, it can still scan the screens until it finds the information it is looking for.

    For example, BotCity, a company specialized in business process automation, offers a code assistant and a document converter in Python RPA based on computer vision, helping developers create robots in Python RPA.

    💡Learn more: How to optimize performance with Python RPA


    Computer vision enhances agriculture in various aspects: planting control, pest control, weed identification, herd tracking, soil moisture verification, harvest robotization, and advanced weather analysis, for example.

    All these functionalities contribute to increased productivity, improved time between sowing and harvesting, and, especially, cost reduction.

    Autonomous vehicles

    For autonomous vehicles, computer vision allows them to understand and react to the environment very similarly to human capability. This is because the technology gives autopilot the ability to map, analyze, and react quickly to all objects around.

    Tasks such as object detection, recognition of signage, depth perception, recognition of pedestrians and cyclists, autonomous decision-making, and mapping are applied.

    Intelligent document processing

    Within computer vision, there is also Optical Character Recognition (OCR), a widely used area for intelligent document processing.

    For example, OCR-based robots are widely used for reading and classifying documents in various business sectors. They can also convert documents into code and trigger automations based on their reading.

    Applications are diverse: from a purchase order, payment approval to bank reconciliation, and inventory checking, much can be done with OCR combined with process automation.

    Facial recognition

    Facial recognition is available in personal use applications and is widely used by various individuals on their smartphones and companies working with identity verification.

    The public security industry uses facial recognition systems in various cities around the world to detect and prevent criminal activities. The facial recognition process begins with computer vision algorithms delineating faces in images. Then, facial features are extracted and transformed into numerical data for analysis.

    Finally, the person is identified based on the recognition of unique patterns present in facial features, allowing computer vision to compare these patterns with stored data.


    Entertainment has increasingly presented itself with innovative and interactive experiences. Users can participate and interact, making experiences immersive and dynamic.

    Computer vision is an essential component in the creation of Augmented Reality and Virtual Reality, as it allows devices to interact with the environment. Digital games have become more interactive with systems like Microsoft’s Kinect, for example.


    The health sector is also benefiting from computer vision to optimize processes, especially in imaging exams such as X-rays and ultrasounds.

    Algorithms analyze images and can identify possible anomalies that require attention from the doctor. This way, diagnoses become faster, more accurate, and the chance of human error decreases.

    Main tasks of computer vision

    Now, let’s check the main tasks of computer vision:

    Image Classification

    Through algorithms and various learning models, computer vision can classify images by identifying patterns and, based on that, categorize them by class. For example, after identifying objects, the technology can separate them into furniture, clothing, and electronics.

    Object Tracking

    Present in surveillance systems and autonomous vehicles, object tracking is the ability to follow and locate static or moving objects in sequences of images and videos.

    And based on this, analyze and perform a specific function. For example, a car can trigger a warning sound when it identifies that another vehicle is approaching quickly.


    The segmentation algorithm in computer vision can separate images into significant parts according to visual characteristics, such as brightness and color. This task is fundamental for understanding the structure of a scene and identifying objects.

    Ready to use computer vision?

    We hope this content has clarified the main questions about computer vision, its operation, applications, and tasks. This is a promising field that evolves constantly and aids in the development of companies.

    If you are interested in computer vision for your area, it’s worth checking out BotCity’s computer vision solutions.

    If your business is ready to take the next step and boost the efficiency and orchestration of your automations, it’s worth exploring BotCity’s RPA orchestrator. Click here to speak with a specialist!

    Or, if you’re taking the first steps in robotic process automation (RPA), take advantage of the opportunity to register for free at BotCity right now!

    BotCity offers a free Python code assistant for RPA, as well as more than 30 RPA frameworks for common use cases of automation.

  • Virtual Machine: What Is a VM and How to Use It for Automations

    Virtual Machine: What Is a VM and How to Use It for Automations

    With the increasing complexity and diversity of software environments, the use of virtual machines (VMs) has emerged as a robust solution for challenges in the development, testing, and execution of systems.

    In this article, we’ll explore what a virtual machine is, its key advantages for a company, and how to use VMs in conjunction with Robotic Process Automation (RPA). Check it out!

    What is a virtual machine and how does it work?

    A virtual machine (VM), also known as a guest or guest virtual machine, refers to a virtualized computing environment created using software to emulate the operation of physical hardware, such as a CPU, disk, and network devices. The existing operating system on the machine is known as the host, and it is responsible for hosting the guest systems.

    In other words, a virtual machine is a representation of a computer system within another system, allowing a physical server to host multiple virtual machines simultaneously, each capable of running its independent operating system.

    Virtual machines operate through virtualization (hypervisor), a process that creates an abstraction layer between the computer’s physical hardware and the running operating system.

    Virtual machine in the cloud

    In addition to a virtual machine hosted on physical hardware, there’s also the possibility of creating a VM running on a cloud system, emulating various operating systems on platforms like Google Cloud Platform, Amazon Web Service (AWS), and Microsoft Azure.

    This type of VM operates on a remote server maintained by one of the mentioned providers. Typically, using a virtual machine in the cloud is recommended for medium and large enterprises due to cost considerations.

    Its usage includes hosting applications, data analysis, software development and testing, and more.

    Advantages of virtual machines (VMs): why use them?

    Virtual machines play a crucial role by allowing the creation of various differentiated environments within the same computer. This enables testing without modifying the main workspace.

    Here are the key benefits of using virtualization of machines:

    • Creation of multiple virtual machines to access different operating systems within the same physical machine, provided that the computer has internal space to store virtual disks;
    • Running various applications simultaneously occurs independently in isolated systems, ensuring that possible failures do not affect other virtual machines.
    • Testing other applications without modifying the main workspace;
    • The ability to run two or more applications simultaneously, as each virtual machine operates in an isolated environment, acting as a sandbox;
    • Running multiple parallel automations with high performance and speed, as seen in Python RPA automations;
    • Adopting virtual machines on the same computer reduces costs associated with hardware acquisition and maintenance;
    • Optimizing the operation of the environment facilitates the management, migration, and replication of computers.

    Virtual machine vs. container: when is VM more suitable?

    Virtual machines offer superior operational capability compared to containers, making them a preferential choice for handling monolithic workloads due to their ability to manage complex tasks.

    However, this versatility results in lower portability since virtual machines depend on the operating system, applications, and libraries. Virtual machines are particularly suitable for:

    • Managing monolithic, traditional, and legacy system architectures.
    • Separating development environments that pose risks.
    • Allocating infrastructure resources, including networks, servers, and data storage.
    • Allowing the operation of a different operating system within another, such as running Windows in a Linux environment.

    Virtual machine for RPA automations: how to use?

    Combining Robotic Process Automation (RPA) technology with virtual machines can be an excellent option to optimize your company’s results.

    BotCity offers tools for RPA development and orchestration in Python. One of its advantages is the ability to operate multiple RPAs simultaneously in the same execution environment.

    In web automations operating in headless mode (background, without a graphical interface), you can run them on a single VM, with each automation having its distinct process in headless mode.

    This significantly increases the scalability of Python RPA operations, which is crucial in environments where the demand for data processing and simultaneous tasks is high.

    It’s essential to note that the location where the automation will be executed depends on the process to be addressed. Execution can take place on the user’s machine, a server computer, a virtual machine, or in the cloud.

    Ready to use a virtual machine?

    We hope this content has clarified everything about virtual machines and the conveniences that their use can provide for companies seeking growth. As we’ve seen, opting for this technology can optimize your organization’s processes.

    To scale your business even further, combining RPA automation with VMs is an excellent strategy. You can start right now with BotCity, a high-code platform that stands out for its flexibility and the possibility of unlimited customizations, focusing on Python automations.

    After all, this language is familiar to most developers and is ideal for businesses seeking greater autonomy and control over complex processes.

    So, schedule a conversation with our experts, or if you want to try BotCity on your own, feel free to create a free account.

  • RPA vs BPM: what are the differences and how to choose the ideal one

    RPA vs BPM: what are the differences and how to choose the ideal one

    RPA (Robotic Process Automation) and BPM (Business Process Management) are technologies that have gained increasing prominence in the era of hyperautomation, as they play a fundamental role in operational efficiency and automation of an organization’s processes.

    Standing out in the market currently requires companies to adopt innovative technologies such as RPA and BPM. These solutions offer a significant advantage, empowering organizations in operational efficiency and continuous improvement of business processes.

    In this article, we will explore what RPA and BPM are, their main differences, and understand which technology is ideal for your type of business. Check it out!

    What is RPA?

    RPA (Robotic Process Automation) is the technique of automating repetitive and operational activities in various areas of a business. The technology automates these processes using software to create and orchestrate automations efficiently.

    With RPA, robots are programmed to perform specific rule-based actions, interacting with operating systems in the same way a human would.

    RPA automation has several advantages, such as reducing human errors, freeing up employees for more complex tasks, increasing operational efficiency, and, in the long run, reducing costs.

    💡 Learn more: RPA Software: Types, Features, and the Best Ones

    What is BPM?

    BPM (Business Process Management) is an approach to managing a company’s processes. In other words, it acts as a management tool that uses techniques to optimize, manage, and monitor business processes.

    Its goal is to improve workflows and activities performed throughout the organization, thus helping increase efficiency, productivity, and alignment with strategic objectives.

    RPA vs BPM: what are the differences?

    Although related concepts, RPA and BPM play different roles in business organization. BPM aims to operate within the organization as a whole, involving management and bringing about structural transformations in the long term.

    On the other hand, RPA involves technical automation solutions focused on specific sectors and specific activities that need to be automated within a business, making it more present in technical areas. We can understand BPM as more focused on the business side of an organization.

    The technologies also differ in their implementation; BPM involves the entire company, so its implementation takes longer. Additionally, it is responsible for changing the cultural aspects of the business.

    With RPA, the scenario is different: the demands are more isolated and can be addressed more quickly, so its implementation does not take as much time.

    Finally, the approach is also different. In BPM, the process involves analysis, modeling, and continuous improvement of organizational processes. RPA, on the other hand, works by executing processes as a human would, interacting with system interfaces.

    How to choose between RPA vs BPM?

    The good news is that it is not necessary to choose between RPA and BPM for your company; you can take advantage of both at the same time. This is because, as mentioned earlier, the technologies play a different role and can help your business in a complementary way, obtaining a comprehensive approach to process optimization and automation.

    RPA is recommended for automating repetitive processes, so RPA software robots are configured to perform certain operational tasks. These processes automated by RPA can be integrated with the BPM platform, allowing for a broad management context.

    If your company already operates RPA automations at scale, it is also worth having an RPA orchestration platform, in addition to a BPM system. This is because it will help technical teams focus on performance and implementation of RPA tools – which can be more challenging with just BPM platforms.

    With both approaches, BPM provides the option to analyze and improve processes throughout the organization, while RPA efficiently performs operational tasks.

    The combination of technologies ensures operational efficiency, effective control, and holistic optimization from specific tasks to broad workflows.

    💡 Learn more: Trends in RPA and Hyperautomation in Latin America in 2023

    All set about RPA vs BPM?

    We hope this content has clarified what RPA and BPM are and their main differences. Remember that the functionalities are different, and using both tools can be a great option to optimize your company’s processes.

    And, if you are looking for a flexible, scalable RPA software with advanced technical capabilities, BotCity is the right choice. Our orchestrator offers tools that assist in building custom automation flows, with options for managing robot queues, error alerts, and management dashboards for RPA.

    So, schedule a conversation with our experts, or if you want to try BotCity on your own, feel free to create a free account!