US-20260127049-A1 - REAL TIME BIDIRECTIONAL COMMUNICATION BETWEEN AUTOMATIONS AND WEB APPLICATIONS
Abstract
Real time bidirectional communication between an automation and a web application is disclosed. In essence, multiple workflows are run. The first is responsible for listening for trigger(s) from a web application. Responsive thereto, this first workflow (e.g., executed by an artificial intelligence (AI) agent or a robotic process automation (RPA) robot) starts execution of a second workflow (e.g., also executed by an AI agent or an RPA robot). The automation also returns a result of the execution of the secondary workflow to the web application.
Inventors
- Michael Aristo Leonard, II
- Venkata SUBRAMANIAN
- Suhail Ahmad SIDDIQI
- Arghya CHAKRABARTY
- Tudor Andrei ERGHELEGIU
- Radu OANCEA
- Bogdan Ripa
Assignees
- UiPath, Inc.
Dates
- Publication Date
- 20260507
- Application Date
- 20251231
- Priority Date
- 20230721
Claims (20)
- 1 . One or more non-transitory computer-readable media storing one or more computer programs, the one or more computer programs configured to cause at least one processor to: initiate, by an automation, execution of a primary workflow responsive to a request being received from a web application, wherein the automation is attended or unattended; listen, by the automation, for one or more triggers from the web application to start execution of a secondary workflow; execute, by the automation, the secondary workflow responsive to the one or more triggers being detected; and return, by the automation, a result of the execution of the secondary workflow to the web application, wherein communication between the automation and the web application is bidirectional.
- 2 . The one or more non-transitory computer-readable media of claim 1 , wherein the one or more computer programs are further configured to cause the at least one processor to: receive, by the automation, the request from the web application to initiate execution of the primary workflow.
- 3 . The one or more non-transitory computer-readable media of claim 1 , wherein the one or more computer programs are further configured to cause the at least one processor to: upon execution of the primary workflow, enable, by the automation, the one or more triggers, each of the one or more triggers associated with one or more corresponding secondary workflows.
- 4 . The one or more non-transitory computer-readable media of claim 1 , wherein the one or more computer programs are further configured to cause the at least one processor to: receive, by the automation, input arguments and a name associated with the secondary workflow from the web application via an inter-process communication (IPC) channel.
- 5 . The one or more non-transitory computer-readable media of claim 1 , wherein the one or more computer programs are further configured to cause the at least one processor to: continue, by the automation, to execute the primary workflow and to listen for the one or more triggers from the web application after returning the result of the execution of the secondary workflow to the web application.
- 6 . The one or more non-transitory computer-readable media of claim 1 , wherein the one or more computer programs are further configured to cause the at least one processor to: receive, by a conductor application, the request from the web application to initiate execution of the primary workflow; identify and select, by the conductor application, the automation for execution of the primary workflow; receive, by the conductor application, an acknowledgement comprising a job identification and a status from the automation; and forward, by the conductor application, the status from the automation to the web application.
- 7 . The one or more non-transitory computer-readable media of claim 1 , wherein the one or more computer programs are further configured to cause the at least one processor to establish a channel between the web application and the automation for creating the bidirectional communication.
- 8 . One or more computing systems, comprising: memory storing computer program instructions; and at least one processor configured to execute the computer program instructions, wherein the computer program instructions are configured to cause the at least one processor to: initiate, by an automation, execution of a primary workflow responsive to a request being received from a web application, wherein the automation is attended or unattended; listen, by the automation, for one or more triggers from the web application to start execution of a secondary workflow; execute, by the automation, the secondary workflow responsive to the one or more triggers being detected; and return, by the automation, a result of the execution of the secondary workflow to the web application, wherein communication between the automation and the web application is bidirectional.
- 9 . The one or more computing systems of claim 8 , wherein the computer program instructions are further configured to cause the at least one processor to: receive, by the automation, the request from the web application to initiate execution of the primary workflow.
- 10 . The one or more computing systems of claim 8 , wherein the computer program instructions are further configured to cause the at least one processor to: upon execution of the primary workflow, enable, by the automation, the one or more triggers, each of the one or more triggers associated with one or more corresponding secondary workflows.
- 11 . The one or more computing systems of claim 8 , wherein the computer program instructions are further configured to cause the at least one processor to: receive, by the automation, input arguments and a name associated with the secondary workflow from the web application by way of an inter-process communication (IPC) channel.
- 12 . The one or more computing systems of claim 8 , wherein the computer program instructions are further configured to cause the at least one processor to: continue, by the automation, to execute the primary workflow and to listen for the one or more triggers from the web application after returning the result of the execution of the secondary workflow to the web application.
- 13 . The one or more computing systems of claim 8 , wherein the computer program instructions are further configured to cause the at least one processor to: receive, by a conductor application, the request from the web application to initiate execution of the primary workflow; identify and select, by the conductor application, the automation for execution of the primary workflow; receive, by the conductor application, an acknowledgement comprising a job identification and a status from the automation; and forward, by the conductor application, the status from the automation to the web application.
- 14 . The one or more computing systems of claim 8 , wherein the computer program instructions are further configured to cause the at least one processor to: establish a channel between the web application and the automation for creating the bidirectional communication.
- 15 . A computer-implemented method, comprising: initiating, by an automation, execution of a primary workflow responsive to a request being received from a web application, wherein the automation is attended or unattended; listening, by the automation, for one or more triggers from the web application to start execution of a secondary workflow; executing, by the automation, the secondary workflow responsive to the one or more triggers being detected; and returning, by the automation, a result of the execution of the secondary workflow to the web application, wherein communication between the automation and the web application is bidirectional.
- 16 . The computer-implemented method of claim 15 , further comprising: receiving, by the automation, the request from the web application to initiate execution of the primary workflow.
- 17 . The computer-implemented method of claim 15 , further comprising: upon execution of the primary workflow, enabling, by the automation, the one or more triggers, each of the one or more triggers associated with one or more corresponding secondary workflows.
- 18 . The computer-implemented method of claim 15 , further comprising: receiving, by the automation, input arguments and a name associated with the secondary workflow from the web application by way of an inter-process communication (IPC) channel.
- 19 . The computer-implemented method of claim 15 , further comprising: continuing, by the automation, to execute the primary workflow and to listen for the one or more triggers from the web application after returning the result of the execution of the secondary workflow to the web application.
- 20 . The computer-implemented method of claim 15 , further comprising: receiving, by a conductor application, the request from the web application to initiate execution of the primary workflow; identifying and selecting, by the conductor application, the automation for execution of the primary workflow; receiving, by the conductor application, an acknowledgement comprising a job identification and a status from the automation; and forwarding, by the conductor application, the status from the automation to the web application.
Description
CROSS-REFERENCE TO RELATED APPLICATIONS This application is a continuation-in-part (CIP) of U.S. Nonprovisional patent application Ser. No. 18/470,137 filed Sep. 19, 2023, which claims the benefit of Indian Patent Application number 202311049273, filed on Jul. 21, 2023. The subject matter of these earlier-filed applications is hereby incorporated herein by reference in its entirety. FIELD The present invention generally relates to automations (AI), and more specifically, to performing real-time bidirectional communication between automations, such as artificial intelligence (AI) agents and/or robotic process automation (RPA) robots, and web applications. BACKGROUND When a process is executed, it may take significant time for an automation to initiate and start automation of the process. For example, when a process is executed, the automation downloads the dependencies and/or initial setup requirements in order to execute the agentic or RPA workflow, for example, or a task. In other words, when an automation performs work on a web application, a new process is typically executed, leading to an increase in network and processing time. During execution of the process, the user cannot send an input to the process from the web application due to the communication gap between the web application and the process, which is executed by the automation. For instance, when the user wants to provide one or more additional inputs to the process, a new process must be started since the input to the process can only be provided prior to executing the process. Currently, UiPath® Apps (or web applications) allow a user to infer automations/processes. In one example, a user may configure a button, which calls a process from the web application. The process called from the web application may receive one or more inputs prior to executing the process. Assume, for example, that an application has five input fields. In this example, the five input fields may be considered as a single input to the process, which is called by a corresponding element (e.g., a button) of the web application. The button, when clicked, may retrieve (or call) a process and the data filled into the five fields in this example, is submitted as a single input to the called process. After the process is executed, the results are displayed on the application. If, however, the process encounters an error during the execution of the process, the error is reported. Because there is no bidirectional communication between the web application and the automation upon execution of the process, the process would have to be restarted if additional inputs are sent during execution of the process. Accordingly, an improved and/or alternative approach to enabling bidirectional communication between automations and web applications may be beneficial. SUMMARY Certain embodiments of the present invention may provide solutions to the problems and needs in the art that have not yet been fully identified, appreciated, or solved by current automation technologies, or provide a useful alternative thereto. For example, some embodiments of the present invention pertain to performing real-time bidirectional communication between an automation and a web application. In an embodiment, one or more non-transitory computer-readable media store one or more computer programs. The one or more computer programs are configured to cause at least one processor to initiate, by an automation, execution of a primary workflow responsive to a request being received from a web application. The automation is attended or unattended. The one or more computer programs are also configured to cause the at least one processor to listen, by the automation, for one or more triggers from the web application to start execution of a secondary workflow. The one or more computer programs are further configured to cause the at least one processor to execute, by the automation, the secondary workflow responsive to the one or more triggers being detected. Additionally, the one or more computer programs are configured to cause the at least one processor to return, by the automation, a result of the execution of the secondary workflow to the web application. Communication between the automation and the web application is bidirectional. In another embodiment, one or more computing systems include memory storing computer program instructions and at least one processor configured to execute the computer program instructions. The computer program instructions are configured to cause the at least one processor to initiate, by an automation, execution of a primary workflow responsive to a request being received from a web application. The automation is attended or unattended. The computer program instructions are also configured to cause the at least one processor to listen, by the automation, for one or more triggers from the web application to start execution of a secondary workflow. The computer program instructions are f