Skip to content

Introduction to RPA with Power Automate

While Power Automate is often used to connect modern cloud services with Tallyfy through APIs, many organizations still rely on legacy desktop applications that lack such interfaces. This is where Robotic Process Automation (RPA) can be considered, and Power Automate Desktop is a tool for building these UI-based automations. Understanding RPA can help you bridge Tallyfy with older systems, extending the reach of your Tallyfy process automation to systems that don’t offer modern integration methods.

What is Robotic Process Automation (RPA)?

Robotic Process Automation uses software “robots” (bots) to automate repetitive, rule-based tasks by mimicking human interactions with digital systems. Instead of connecting programmatically via an API (which is Tallyfy’s preferred method for integration), an RPA bot interacts with an application’s user interface (UI)—it clicks buttons, types text into fields, and navigates menus, just like a human would.

The key difference from API-based automation (like using Tallyfy’s Open API or webhooks) is that RPA works at the presentation layer (the screen). This makes it a potential option when target systems are old, don’t have accessible APIs, or when API development is too costly for the task at hand to integrate with Tallyfy.

There are generally two modes of RPA:

  • Attended RPA: The bot works alongside a human, often initiated by them to automate a part of their task. It runs on the user’s workstation.
  • Unattended RPA: The bot runs independently in the background, typically on a dedicated machine. These are suited for batch-processing tasks interacting with systems connected to Tallyfy.

Power Automate Desktop

Power Automate Desktop is the application used to design RPA flows (desktop flows). It provides a visual designer and actions to interact with desktop applications and UI elements.

Key features include:

  • UI element recorder: Records mouse clicks and keyboard inputs to generate initial flow steps.
  • UI element selector: Precisely identifies UI elements so the bot can reliably interact with them.
  • Pre-built actions: A library of actions for common desktop operations.
  • Variable passing: Receives input data from cloud flows (which might be triggered by Tallyfy) and passes output data back.

When to consider RPA with Tallyfy

RPA is generally a last resort when more robust API-based integration with Tallyfy isn’t feasible. However, it can enable certain scenarios:

  • Bridging Tallyfy with legacy systems: If a Tallyfy process requires interaction with an old, on-premises desktop application that has no API (e.g., an outdated accounting system), RPA can automate those interaction steps, triggered by or feeding data to Tallyfy.
  • Automating data entry from Tallyfy to legacy apps: Data collected in a Tallyfy task’s form fields can be automatically entered into a legacy desktop application by an RPA bot. For example, taking customer details from a completed Tallyfy onboarding task and creating a record in an old CRM.
  • Extracting data from legacy apps for Tallyfy: An RPA bot could log into a legacy system, scrape data, and a Power Automate cloud flow could then use this data to initiate or update a Tallyfy process.

It is important to reiterate that if a system offers an API, using that (e.g., via Power Automate’s HTTP connector or a custom connector, or ideally by Tallyfy directly if applicable) is generally preferred over RPA due to better stability. Tallyfy’s own Open API and webhooks are the best methods for direct, robust integration with Tallyfy.

Core concepts in Power Automate Desktop flows for Tallyfy integration

When building desktop flows to interact with Tallyfy data (passed via a cloud flow):

  • UI elements: Specific components of an application’s interface your bot interacts with.
  • Recorder: A feature to translate your actions into flow steps, often requiring refinement.
  • Actions: The Power Automate Desktop designer provides actions like “Launch application,” “Click UI element in window,” and “Populate text field in window.”
  • Input/Output variables: Critical for connecting desktop flows with Power Automate cloud flows. Input variables allow a cloud flow (triggered by Tallyfy) to pass data into the desktop flow. Output variables allow the desktop flow to pass results back to the calling cloud flow, which could then update Tallyfy.

Example: updating a legacy desktop app from Tallyfy task data (conceptual)

Building a full RPA flow is involved. Here’s a conceptual outline for updating an old desktop CRM using data from a completed Tallyfy task.

Scenario: A Tallyfy “Client Information Update” task is completed. Key client details (e.g., new phone number) captured in its form fields need to be entered into a legacy desktop CRM with no API.

1. Cloud Flow (Power Automate):

  1. Trigger: Tallyfy connector - When a task is completed.
  2. Action: Tallyfy connector - Get task details.
    • Use the Task ID from the trigger to retrieve all Tallyfy form field data.
  3. Action: Power Automate Desktop connector - Run a flow built with Power Automate for desktop.
    • Desktop flow: Select the desktop flow you will create.
    • Run Mode: Choose Attended or Unattended (unattended requires specific licensing and gateway setup).
    • Input Variables: Pass data from Tallyfy’s “Get task details” output to the input variables in your desktop flow.

2. Desktop Flow (Designed in Power Automate Desktop):

  1. Define input variables:
    • In Power Automate Desktop, define input variables to receive data from the Tallyfy-triggered cloud flow.
  2. Action: Launch application.
    • Provide the path to your legacy CRM executable.
  3. UI interaction sequence (example):
    • Action: Focus window (to ensure the CRM window is active).
    • Action: Click UI element in window (e.g., a “Search Client” button).
    • Action: Populate text field in window (e.g., enter client ID received from Tallyfy).
    • Action: Click UI element in window (e.g., click the “Search” button).
    • (Wait for client record to load).
    • Action: Populate text field in window (e.g., update the phone number field with new phone from Tallyfy data).
    • Action: Click UI element in window (e.g., click a “Save Changes” button).
  4. Action: Close application.
    • Close the legacy CRM.

Setting up Power Automate Desktop and gateways for Tallyfy integration

  • Power Automate Desktop installation: Install Power Automate Desktop on the machine where the RPA bot will run.
  • On-premises data gateway: For Power Automate cloud flows (like those triggered by Tallyfy) to initiate unattended desktop flows on an on-premises machine, an on-premises data gateway must be installed and configured. This acts as a bridge for secure communication.

Considerations for RPA with Tallyfy

  • Robustness and fragility: UI automation can be less stable than API integrations. UI changes in the legacy application can break your RPA flow. Regular maintenance is often required for RPA solutions connected to Tallyfy.
  • Error handling: Implement comprehensive error handling in your desktop flow. More on error concepts can be found in managing and monitoring flows.
  • Security: Be cautious with credentials in desktop flows, especially for unattended bots.
  • Alternative exploration: Before RPA, thoroughly investigate if the legacy system has any other integration methods (undocumented APIs, file import/export). These are generally more reliable for Tallyfy integrations.
  • Tallyfy’s strengths: Remember Tallyfy provides powerful API and Webhook capabilities. These should always be your first choice for integrating directly with Tallyfy or for triggering external automations from Tallyfy, rather than relying on RPA to interact with Tallyfy itself.

Using RPA with Power Automate Desktop can be a way to extend Tallyfy’s reach into environments with older applications lacking APIs, but it requires careful planning.

Middleware > Power Automate

Enhance Tallyfy workflows with Power Automate for data synchronization, automated triggers, and system connectivity.

Open Api > Combining RPA systems and human operators

Tallyfy serves as a comprehensive orchestration platform that seamlessly combines RPA automation with human workflows to create unified and transparent business processes while maintaining accountability and efficiency.