System and method for generating workflow based on natural language input using large language model
The workflow generation tool uses LLMs to create skeleton workflows from natural language input, addressing inefficiencies in existing methods by automating workflow construction and enabling efficient editing, thus reducing computational costs and improving designer experience.
Patent Information
- Application Number
- JP2025028915
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2024-02-27
- Filing Date
- 2025-02-26
- Publication Date
- 2025-09-08
Smart Images

Figure 2025130719000001_ABST
Abstract
Description
[Technical Field]
[0001] FIELD OF THE DISCLOSURE This disclosure relates generally to workflow design, and more particularly to reducing resources utilized in workflow design. [Background technology]
[0002] This section is intended to introduce the reader to various aspects of the art that may be related to various aspects of the present disclosure, which are described and / or claimed below. This discussion is believed to be helpful in providing the reader with background information to facilitate a better understanding of the various aspects of the present disclosure. As such, it should be understood that these statements are not admissions of prior art, and are to be read in this light.
[0003] Organizations, regardless of size, rely on information technology (IT) and access to data and services for their ongoing operations and success. Each organization's IT infrastructure may have associated hardware resources (e.g., computing devices, as well as IT infrastructure such as routers, load balancers, firewalls, and switches) and software resources (e.g., productivity software, database applications, large-scale language models (LLMs), generative artificial intelligence (AI) applications, custom applications, etc.). Over time, an increasing number of organizations are adopting cloud computing approaches to complement or enhance their IT infrastructure solutions.
[0004] Cloud computing involves the sharing of computing resources, typically accessed via the Internet. In particular, cloud computing infrastructure enables users, such as individuals and / or businesses, to access a shared pool of computing resources, such as servers, storage devices, networks, applications, and / or other computing-based services. This allows users to access computing resources in remote locations on demand. These resources can be used to perform various computing functions (e.g., storing and / or processing large amounts of computing data). For corporate and other organizational users, cloud computing offers flexibility in accessing cloud computing resources without incurring large initial costs, such as purchasing expensive network equipment or spending significant time establishing a private network infrastructure. Instead, utilizing cloud computing resources allows users to reallocate resources to focus on their company's core functions.
[0005] In cloud-based architectures, web browsers or native applications are often used on the client side to access cloud-based applications and resources. For example, a company or other organization may utilize cloud computing resources to design process workflows that are executed by members of the company or organization during operation. However, generating and modifying process workflows can be tedious and time-consuming. Typically, a workflow generation tool is used to generate a workflow from scratch based on the activities to be associated with the workflow. For example, the activities to be executed during the workflow, the stages (e.g., grouping) of activities within the workflow, how some activities within the workflow may depend on outputs from other activities within the workflow or external sources (e.g., databases, approvals from user profiles, activities from other workflows, etc.), the order of activities within the workflow, whether activities can be executed in parallel, etc.
[0006] Workflow generation tools typically build workflows activity by activity. For each activity in a workflow, the workflow generation tool specifies, or receives inputs that specify, properties of the activity, such as inputs, outputs, actions to be performed to generate the output based on the inputs, a label, a description, rules to be applied during the activity's execution, a trigger to start the activity, and advanced properties of the activity. Even in low-code or no-code environments, building a workflow using a series of graphical user interfaces (GUIs) where characteristics are selected from a group of available options (e.g., drop-down menus) is a time-consuming process. Furthermore, once a workflow is created, the workflow generation tool or GUI design tool generates the GUI that is displayed when the workflow is run. Techniques are needed to make workflow creation faster and more efficient, and to provide a better experience for workflow designers. Summary of the Invention
[0007] A summary of certain embodiments disclosed herein is provided below. It should be understood that these aspects are presented merely to provide the reader with a brief summary of these specific embodiments, and that these aspects are not intended to limit the scope of the present disclosure. Indeed, the present disclosure may encompass a variety of aspects that may not be set forth below.
[0008] In one embodiment, a method includes receiving a natural language request for generating a workflow, the natural language request specifying at least one characteristic of the workflow; generating a skeleton workflow including first and second placeholder activities, the first placeholder activity including a first placeholder value for a first property of the first placeholder activity, based on the at least one characteristic using one or more large scale language models (LLMs); receiving input requesting modification of the skeleton workflow; and updating the skeleton workflow based on the input.
[0009] In another embodiment, a system includes a processing circuit and a memory. The memory is accessible by the processing circuit and stores a plurality of instructions that, when executed by the processing circuit, cause the processing circuit to: receive a natural language request to generate a workflow, the natural language request specifying at least one characteristic of the workflow; generate a skeleton workflow including first and second placeholder activities, the first placeholder activity including a first placeholder value for a first property of the first placeholder activity, based on the at least one characteristic using one or more large scale language models (LLMs); receive input requesting modification of the skeleton workflow, update the skeleton workflow based on the input, receive approval of the updated skeleton workflow, and, in response to receiving approval of the skeleton workflow, generate a workflow based on the approved updated skeleton workflow.
[0010] In a further embodiment, a non-transitory computer-readable medium stores a plurality of instructions that, when executed by a processing circuit, cause the processing circuit to: receive a natural language request to generate a workflow, the natural language request specifying at least one characteristic of the workflow; generate a skeleton workflow including first and second placeholder activities, the first placeholder activity including a first placeholder value for a first property of the first placeholder activity, based on the at least one characteristic using one or more large scale language models (LLMs); generate one or more graphical user interfaces (GUIs) configured to be displayed via a client device when the workflow is executed; receive input requesting modification of the skeleton workflow; and update the skeleton workflow based on the input.
[0011] Various refinements of the above features may exist in connection with various aspects of the disclosure. Additional features may also be incorporated into these various aspects. These refinements and additional features may exist individually or in any combination. For example, various features described below in connection with one or more of the illustrated embodiments may be incorporated alone or in any combination into any of the above aspects of the disclosure. The brief summary provided above is intended only to familiarize the reader with certain aspects and content of embodiments of the present disclosure without limiting the claimed subject matter.
[0012] The various aspects of the present disclosure will be better understood from a reading of the following detailed description and by reference to the drawings, in which: [Brief explanation of the drawings]
[0013] [Figure 1] FIG. 1 is a block diagram of an embodiment of a multi-instance cloud architecture in which embodiments of the present disclosure may operate. [Figure 2] FIG. 1 is a schematic diagram of an embodiment of a multi-instance cloud architecture in which embodiments of the present disclosure may operate. [Figure 3] FIG. 3 is a block diagram of a computing device utilized in a computing system that may be present in FIG. 1 or FIG. 2, according to an aspect of the present disclosure. [Figure 4] FIG. 1 is a block diagram illustrating a virtual server that supports and enables client instances according to aspects of the present disclosure. [Figure 5] FIG. 10 illustrates a screenshot of a GUI for submitting a request for a new workflow, according to an aspect of the present disclosure. [Figure 6] FIG. 6 illustrates a screenshot of a GUI for reviewing and modifying a skeleton workflow for a credit card fraud investigation generated by an LLM-based generative AI workflow generation tool in response to prompts sent using the GUI of FIG. 5 , according to an embodiment of the present disclosure. [Figure 7]7 illustrates a screenshot of the GUI of FIG. 6 including an add activity window, according to an aspect of the present disclosure. [Figure 8] 8 illustrates an embodiment of the add activity window of FIG. 7 with a task creation activity selected from the activity list, in accordance with aspects of the present disclosure. [Figure 9] 8 illustrates an embodiment of the add activity window of FIG. 7 with a send email activity selected from the activity list, in accordance with aspects of the present disclosure. [Figure 10] 8 illustrates an embodiment of the add activity window of FIG. 7 with a checklist task activity selected from the activity list, in accordance with aspects of the present disclosure. [Figure 11] 8 illustrates an embodiment of the add activity window of FIG. 7 showing a recommended activity to replace a placeholder activity, according to aspects of the present disclosure. [Figure 12] FIG. 8 illustrates the workflow of FIG. 7 displayed in a diagram mode, according to an embodiment of the present disclosure. [Figure 13] FIG. 10 illustrates an embodiment in which a workflow generation tool provides suggestions for modifying a workflow via a pop-up window, according to aspects of the present disclosure. [Figure 14] FIG. 10 illustrates an embodiment in which a workflow generation tool provides suggestions for modifying a workflow via an interactive chat window, according to aspects of the present disclosure. [Figure 15] FIG. 14 illustrates the GUI of FIG. 13 with the fraud risk score verification placeholder activity replaced with a fully defined new activity, according to aspects of the present disclosure. [Figure 16] 1 is a flowchart of a process for generating a workflow according to an aspect of the present disclosure. DETAILED DESCRIPTION OF THE INVENTION
[0014] One or more specific embodiments are described below. In an effort to provide a concise description of these embodiments, not all features of an actual implementation are described herein. It should be recognized that in the development of any such actual implementation, as with any engineering or design project, numerous implementation-specific decisions must be made to achieve the developer's particular goals, which may vary from implementation to implementation, including compliance with system-related and enterprise-related constraints. It should further be recognized that such development efforts may be complex and time-consuming, but would nevertheless represent a routine undertaking of design, fabrication, and manufacture for those of ordinary skill in the art having the benefit of this disclosure.
[0015] Various embodiments disclosed herein are directed to a workflow generation tool that uses large-scale language models (LLMs) to build workflows, and potentially entire playbooks (e.g., complete workflows including a GUI that is displayed when the workflow is run), based on natural language input provided via the workflow generation tool. Specifically, natural language input identifying one or more characteristics of the workflow to be generated may be provided via the workflow generation tool (e.g., "I would like to create an onboarding workflow"). The workflow generation tool utilizes one or more LLMs to generate a skeleton workflow that includes multiple placeholder activities that may or may not be grouped into stages. The one or more LLMs may be trained on existing workflows (e.g., within an enterprise, across an industry, across multiple industries, etc.), Business Process Model and Notation (BPMN) conventions, industry standard operating procedures, industry best practices, publicly available information, publications, data from the Internet, etc. The one or more LLMs may build placeholder activities in the skeleton workflow for each placeholder activity, with each placeholder activity having proposed placeholder values for one or more properties of the corresponding activity. For example, a placeholder activity in a skeleton workflow may include suggested placeholder values for inputs, outputs, actions to be performed to generate the outputs based on the inputs, labels, descriptions, rules to be applied during the execution of the activity, triggers to start the activity, advanced properties of the activity, or some combination thereof.
[0016] The skeleton workflow generated by the workflow generation tool may be displayed via the workflow generation tool, which may receive input to edit the skeleton workflow and / or provide feedback to the workflow generation tool. For example, the input may confirm proposed placeholder values, provide replacement values for one or more properties of an activity, provide values for one or more properties of an activity for which a placeholder value was not provided by the workflow generation tool, add a new activity, delete an activity, replace a placeholder activity with an activity selected from an activity library or a new activity, etc. Additionally, in some embodiments, the workflow generation tool may present a suggestion for replacing a placeholder activity with an activity from the library when a placeholder activity is selected. In further embodiments, the workflow generation tool may include a chat interface in which feedback on the skeleton workflow may be provided in natural language, and the workflow generation tool uses one or more LLMs to make changes to the skeleton workflow based on the provided feedback. Once the properties of all activities in the skeleton workflow are finalized, the skeleton workflow may be finalized and a usable workflow may be generated.
[0017] In some embodiments, the workflow generation tool may be configured to generate a complete playbook that includes a complete workflow rather than a skeleton workflow and one or more GUIs that are displayed when the workflow is run. In such embodiments, changes to the complete workflow (e.g., adding / removing activities, specifying different values for activity properties, etc.) may be received and / or feedback regarding the playbook may be received via a chat interface or the workflow generation tool, thereby enabling the workflow generation tool to make changes to the playbook based on the feedback received via the workflow generation tool.
[0018] With the foregoing in mind, the following figures relate to various types of generalized system architectures or configurations that may be employed to provide services to organizations in a multi-instance framework and in which the present approach may be employed. Similarly, these example systems and platforms may also relate to systems and platforms in which the techniques described herein may be implemented or otherwise utilized. Referring now to FIG. 1 , a schematic diagram of an embodiment of a cloud computing system 10 in which embodiments of the present disclosure may operate is shown. Cloud computing system 10 may include a client network 12, a network 14 (e.g., the Internet), and a cloud-based platform 16. In one embodiment, client network 12 may be a local private network, such as a local area network (LAN) having various network devices, including, but not limited to, switches, servers, and routers. In another embodiment, client network 12 represents an enterprise network that may include one or more LANs, virtual networks, data centers 18, and / or other remote networks. As shown in FIG. 1 , client network 12 may be connected to one or more client devices 20A, 20B, and 20C such that the client devices can communicate with each other and / or with the network providing platform 16. The client device 20 may be a computing system, commonly referred to as an Internet of Things (IoT) device, and / or other type of computing device that accesses cloud computing services, for example, via a web browser application or via an edge device 22 that may act as a gateway between the client device 20 and the platform 16.1 also illustrates that client network 12 includes management or operational applications, devices, agents, or servers, such as a management, instrumentation, and detection (MID) server 24 that facilitates data communication between the network providing platform 16, other external applications, data sources, and services, and client network 12. Although not specifically shown in FIG. 1, client network 12 may also include connecting network devices (e.g., gateways or routers) or combinations of devices that implement a customer firewall or intrusion prevention system.
[0019] In the illustrated embodiment, FIG. 1 shows that client network 12 is coupled to network 14, which may include one or more computing networks, such as other LANs, wide area networks (WANs), the Internet, and / or other remote networks, for transferring data between client device 20 and the network providing platform 16. Each of the computing networks in network 14 may include wired and / or wireless programmable devices operating in the electrical and / or optical domains. For example, network 14 may include a wireless network, such as a cellular network (e.g., a Global System for Mobile Communications (GSM)-based cellular network), an IEEE 802.11 network, and / or other suitable radio-based network. Network 14 may also employ any number of network communication protocols, such as Transmission Control Protocol (TCP) and Internet Protocol (IP). Although not explicitly shown in FIG. 1, network 14 may include various network devices, such as servers, routers, network switches, and / or other network hardware devices configured to transfer data through network 14.
[0020] 1 , the network providing platform 16 may be a remote network (e.g., a cloud network) that can communicate with client device 20 via client network 12 and network 14. The network providing platform 16 provides additional computing resources to client device 20 and / or client network 12. For example, by utilizing the network providing platform 16, users of client device 20 can build and execute applications and / or workflows for various enterprise, IT, and / or other organization-related functions. In one embodiment, the network providing platform 16 is implemented on one or more data centers 18, each of which may correspond to a different geographic location. Each of data centers 18 includes multiple virtual servers 26 (also referred to herein as application nodes, application servers, virtual server instances, application instances, or application server instances), and each virtual server 26 may be implemented on a physical computing system, such as a single electronic computing device (e.g., a single physical hardware server) or across multiple computing devices (e.g., multiple physical hardware servers). Examples of virtual servers 26 include, but are not limited to, a web server (e.g., a single Apache installation), an application server (e.g., a single JAVA virtual machine), and / or a database server (e.g., a single relational database management system (RDBMS) catalog).
[0021] To leverage the computing resources within the platform 16, a network operator may choose to configure data centers 18 using a variety of computing infrastructures. In one embodiment, one or more of the data centers 18 are configured using a multi-tenant cloud architecture, where one of multiple server instances 26 processes requests from and provides services to multiple customers. A data center 18 with a multi-tenant cloud architecture stores a mix of data from multiple customers, with multiple customer instances assigned to one of multiple virtual servers 26. In a multi-tenant cloud architecture, a specific virtual server 26 differentiates and segregates the data and other information of various customers. For example, the multi-tenant cloud architecture may assign a specific identifier to each customer to identify and segregate data from each customer. In general, implementations of a multi-tenant cloud architecture may experience various drawbacks, such as a failure of a specific one of the multiple server instances 26 resulting in an outage of service for all customers assigned to that specific server instance.
[0022] In another embodiment, one or more of the data centers 18 are configured using a multi-instance cloud architecture to provide each customer with its own unique customer instance. For example, the multi-instance cloud architecture can provide each customer instance with a dedicated application server and a dedicated database server. In other examples, the multi-instance cloud architecture can deploy a single physical or virtual server 26 and / or other combinations of physical and / or virtual servers 26, such as one or more dedicated web servers, one or more dedicated application servers, and one or more database servers, for each customer instance. In a multi-instance cloud architecture, multiple customer instances can be installed on one or more respective hardware servers, with each customer instance being allocated a specific portion of the physical server resources, such as computing memory, storage, and processing power. In this way, each customer instance has its own software stack, which provides benefits such as data isolation, relatively short downtime for customer access to the platform 16, and customer-driven upgrade schedules. An example of implementing customer instances within a multi-instance cloud architecture is described in more detail below with reference to FIG. 2.
[0023] FIG. 2 is a schematic diagram of an embodiment of a multi-instance cloud architecture 100 in which embodiments of the present disclosure may operate. FIG. 2 illustrates that the multi-instance cloud architecture 100 includes a client network 12 and a network 14 that connect to two (e.g., paired) data centers 18A and 18B, which may be geographically separated from one another and provide data replication and / or failover capabilities. Using FIG. 2 as an example, a client instance 102 (also referred to herein as client instance 102) of the network environment and service provider cloud infrastructure is associated with (e.g., supported by and enabled by) dedicated virtual servers (e.g., virtual servers 26A, 26B, 26C, and 26D) and dedicated database servers (e.g., virtual database servers 104A and 104B). In other words, the virtual servers 26A-26D and virtual database servers 104A and 104B are not shared with other client instances and are specific to each client instance 102. In the depicted example, virtual servers 26A-26D and virtual database servers 104A and 104B are allocated to two different data centers 18A and 18B, such that one of the data centers 18 serves as a backup data center to facilitate availability of client instance 102. Other embodiments of multi-instance cloud architecture 100 may include other types of dedicated virtual servers, such as web servers. For example, client instance 102 may be associated with (e.g., supported by and enabled by) dedicated virtual servers 26A-26D, dedicated virtual database servers 104A and 104B, and additional dedicated virtual web servers (not shown in FIG. 2 ).
[0024] While FIGS. 1 and 2 illustrate particular embodiments of cloud computing system 10 and multi-instance cloud architecture 100, respectively, the present disclosure is not limited to the particular embodiments illustrated in FIGS. 1 and 2. For example, while FIG. 1 illustrates platform 16 being implemented using a datacenter, other embodiments of platform 16 are not limited to datacenters and may utilize other types of remote network infrastructure. Furthermore, other embodiments of the present disclosure may combine one or more different virtual servers into a single virtual server, or conversely, use multiple virtual servers to perform operations attributed to a single virtual server. For example, using FIG. 2 as an example, virtual servers 26A, 26B, 26C, and 26D and virtual database servers 104A and 104B may be combined into a single virtual server. Furthermore, the present approach may be implemented in other architectures or configurations, including, but not limited to, multi-tenant architectures, generalized client / server implementations, and / or a single physical processor-based device configured to perform some or all of the operations described herein. Similarly, reference may be made to virtual servers or machines for ease of description of the implementation, although physical servers may be employed instead if desired. The use and illustration of Figures 1 and 2 are merely examples for ease of description and illustration and are not intended to limit the present disclosure to the specific examples shown therein.
[0025] As can be appreciated, each of the architectures and frameworks described with respect to Figures 1 and 2 incorporates various types of computing systems (e.g., servers, workstations, client devices, laptops, tablet computers, cellular phones, edge devices, etc.). For completeness, a brief, high-level overview of components typically included in such systems is provided. As can be appreciated, this overview is intended only to provide a high-level, generalized view of components typical of such computing systems and should not be considered limiting with respect to the components discussed or omitted from the description.
[0026] By way of background, it will be understood that the present techniques may be implemented using one or more processor-based systems, such as that shown in FIG. 3. Similarly, applications and / or databases utilized in the present techniques may be stored, employed, and / or maintained on such processor-based systems. As will be appreciated, a system such as that shown in FIG. 3 may exist in a distributed computing environment, a networked environment, or other multi-computer platform or architecture. Similarly, a system such as that shown in FIG. 3 may be used in supporting or communicating with one or more virtual environments or computing instances in which the present techniques may be implemented.
[0027] With this in mind, an exemplary computing system 200 may include some or all of the computer components shown in Figure 3, which schematically illustrates a block diagram of exemplary components of computing system 200 and their potential interconnections or communication paths, such as along one or more buses. As shown, computing system 200 may include various hardware components, such as, but not limited to, one or more processors 202, one or more buses 204, memory 206, input devices 208, a power supply 210, a network interface 212, a user interface 214, and / or other computer components that aid in performing the functions described herein.
[0028] The one or more processors 202 may include one or more microprocessors capable of executing instructions stored in memory 206. Additionally or alternatively, the one or more processors 202 may include an application specific integrated circuit (ASIC), a field programmable gate array (FPGA), and / or other device designed to perform some or all of the functions described herein without retrieving instructions from memory 206.
[0029] As for the other components, the one or more buses 204 include appropriate electrical channels for providing data and / or power between the various components of the computing system 200. The memory 206 may include any tangible, non-transitory, and computer-readable storage medium. While depicted as a single block in FIG. 1 , the memory 206 may be implemented using multiple physical units of the same or different types in one or more physical locations. The input devices 208 correspond to structures for inputting data and / or commands to the one or more processors 202. For example, the input devices 208 may include a mouse, a touchpad, a touchscreen, a keyboard, etc. The power source 210 may be any suitable power source for the various components of the computing device 200, such as line power and / or battery power. The network interface 212 includes one or more transceivers capable of communicating with other devices over one or more networks (e.g., communication channels). The network interface 212 may provide a wired or wireless network interface. The user interface 214 may include a display configured to display text or images transferred from the one or more processors 202. In addition to and / or instead of a display, the user interface 214 may include other devices for communicating information with a user, such as lights (e.g., LEDs), speakers, etc.
[0030] With the above in mind, FIG. 4 is a block diagram illustrating an embodiment in which a virtual server 26 supports and enables a client instance 102, in accordance with one or more disclosed embodiments. More specifically, FIG. 4 illustrates an example portion of a service provider cloud infrastructure, including the cloud-based platform 16 described above. The cloud-based platform 16 connects to the client device 20 over the network 14 to provide a user interface to network applications executing within the client instance 102 (e.g., via a web browser or a native application executing on the client device 20). The client instance 102 is supported by a virtual server 26 similar to that described with respect to FIG. 2, shown here to illustrate support of the disclosed functionality described herein within the client instance 102. A cloud provider infrastructure is typically configured to simultaneously support multiple end-user devices, such as client device 20, each of which communicates with a single client instance 102. Additionally, the cloud provider infrastructure may be configured to simultaneously support any number of client instances, such as client instance 102, each of which communicates with one or more end-user devices. As previously mentioned, end users may interact with client instance 102 using applications running within a web browser.
[0031] As shown, client device 20 may interact with client instance 102 by providing input 300, and client instance 102 may respond with output 302. In the embodiment shown in FIG. 4 , virtual server 26 of client instance 120 may execute workflow generation tool 304, which may be a software application defined by code and accessible via a native application or a web browser of client device 20. Thus, input 300 may include input requesting a workflow, input specifying one or more characteristics of a workflow, input providing feedback regarding a generated workflow, input requesting modifications to a workflow, etc. Similarly, output 302 may include a requested workflow (e.g., a skeleton workflow, a partially complete workflow, a complete workflow, etc.), a response to input 300, a question, etc. Workflow generation tool 304 may utilize one or more large-scale language models 306 (LLMs), which may be stored within or accessible to client instance 102, to generate some or all of output 302. As used herein, a large-scale language model (LLM) is a probabilistic model of natural language used for general-purpose language generation. An LLM typically includes one or more artificial neural networks with a transformer-based architecture. An LLM learns statistical relationships from text documents through a training process that can be supervised, semi-supervised, or self-supervised. During training, the LLM may learn syntax, semantics, and / or ontology. When used for text generation, an LLM receives input text and iteratively predicts the next word or token. It should be understood that the client instance 102 shown in FIG. 4 can be utilized by the client device 20 for other tasks associated with a workflow as well as tasks beyond the scope of workflow generation and modification.
[0032] Traditionally, generating and modifying process workflows using workflow generation tools has been a tedious and time-consuming task. For example, workflows are typically built from scratch using workflow generation tools to define the activities to be performed during the workflow, the stages of activities within the workflow (e.g., grouping), how some activities in the workflow may depend on output from other activities in the workflow or from external data sources, the order of activities within the workflow, whether activities can be executed in parallel, and so on. Therefore, workflows tend to be built activity-by-activity, and workflow generation tools are used to specify, for each activity in the workflow, the activity's properties, such as inputs, outputs, actions performed to generate outputs based on inputs, labels, descriptions, rules applied during the activity's execution, triggers that start the activity, and advanced properties for the activity. Even in low-code or no-code environments, building workflows using a series of graphical user interfaces (GUIs) where characteristics are selected from a group of available options (e.g., drop-down menus) is a time-consuming process prone to human error. Furthermore, once a workflow is created, the workflow generation tool or GUI design tool generates the GUI that is displayed when the workflow is run. Techniques are needed to make workflow creation faster and more efficient, providing a better experience for workflow designers. Faster and more efficient workflow generation reduces processor utilization and reduces computational costs.
[0033] The presently disclosed workflow generation tool 304 receives natural language input and uses the LLM 306 to automatically construct a workflow based on the input, and potentially an entire playbook (e.g., a complete workflow including a GUI that is presented when the workflow is run). As used herein, "natural language" refers to a language written, typed, or spoken by a human. Thus, the natural language input may be one or more alphanumeric strings that are human-readable or speech whose meaning can be understood by a human. As shown in FIG. 4, the workflow generation tool 304 may receive natural language input 300 from a client device, such as "I would like to create a credit card fraud investigation workflow." The workflow generation tool 304 utilizes one or more LLMs 306 to generate as output 302 a skeleton workflow that includes multiple placeholder activities that may or may not be grouped into stages. As used herein, a workflow refers to a sequence of activities or steps that are combined to form a process performed in the operation of a business or organization. Similarly, a skeleton workflow is a workflow composed of multiple activities, at least one of which has undefined or unspecified properties or parameters. The one or more LLMs 306 may be trained, for example, on existing workflows (e.g., enterprise-wide, industry-wide, multi-industry-wide, etc.), Business Process Model and Notation (BPMN) conventions, industry standard operating procedures, industry best practices, publicly available information, publications, data from the internet, etc. In some embodiments, the one or more LLMs 306 may be “off the shelf” or “out of the box” LLMs 306 provided by a service provider and are not specific to the client instance 102. However, in other embodiments, the LLMs may be customized for the client instance 102 using specific training, specific customized settings, or both.
[0034] As described in more detail below, the workflow generation tool 304 may use one or more LLMs 306 to build a skeleton workflow for each placeholder activity. Each placeholder activity may include proposed placeholder values for one or more properties of the corresponding placeholder activity. For example, a placeholder activity in a skeleton workflow may include proposed placeholder values for inputs, outputs, actions to be performed to generate the outputs based on the inputs, labels, descriptions, rules to be applied during execution of the activity, triggers to start the activity, advanced properties of the activity, or some combination thereof.
[0035] 4 , the skeleton workflow generated by the workflow generation tool 304 may be sent as output 302 to the client device 20 for display via the client device 20 by a native application (e.g., a corresponding client-side version of the workflow generation tool 304) or a web browser. The client device 20 may receive input requesting modifications or edits to the skeleton workflow and / or providing feedback to the workflow generation tool. The edits / modifications may be made to a local copy of the skeleton workflow stored on the client device 20 or may be sent by the client device 20 to the client instance 102 as input 300 for modifying the copy of the skeleton workflow stored by the client instance 102.
[0036] For example, the input may confirm a proposed placeholder value, provide a replacement value for one or more properties of the activity, provide a value for one or more properties of the activity for which no placeholder value was provided by the workflow generation tool 304, add a new activity, delete an activity, or replace a placeholder activity with an activity selected from an activity library or a new activity. Additionally, in some embodiments, the workflow generation tool 304 may present, via the client device 20, a suggestion for replacing a placeholder activity with an activity from the library when the placeholder activity is selected. In further embodiments, the workflow generation tool 304 may include a chat interface in which feedback regarding the skeleton workflow may be provided in natural language, and the workflow generation tool 304 uses one or more LLMs 306 to make changes to the skeleton workflow based on the provided feedback. Once the properties of all activities in the skeleton workflow are defined, the skeleton workflow may be finalized (e.g., via approval received via the client device 20), and a usable workflow may be generated by the workflow generation tool 304.
[0037] In some embodiments, the workflow generation tool 304 may be configured to generate a complete playbook that includes a complete workflow, rather than a skeleton workflow, and one or more GUIs that are displayed by the client device 20 when the workflow is executed. As used herein, a complete workflow is a workflow having multiple activities, and all activities in the workflow have fully defined properties. Thus, none of the activities in the complete workflow have undefined parameters. In such embodiments, changes to the complete workflow (e.g., adding / removing activities, specifying different values for activity properties, etc.) may be received and / or feedback regarding the playbook may be received via the chat interface or the workflow generation tool, which enables the workflow generation tool to make changes to the playbook based on the feedback received via the workflow generation tool.
[0038] With the above in mind, FIGS. 5-16 depict exemplary screenshots of GUIs that may be displayed via a client device during the creation of a new workflow and / or the modification of an existing workflow. However, it should be understood that the screenshots depicted in FIGS. 5-16 are merely examples, and that embodiments having different GUIs are contemplated. Specifically, FIG. 5 depicts a screenshot 400 of a GUI for submitting a request for a new workflow. As depicted, the GUI for submitting a request for a new workflow includes a first tab 402 and a second tab 404. When the first tab 402 is selected, Now Assist (e.g., an LLM-based generative artificial intelligence workflow generation tool) is used to generate a new workflow. When the second tab 404 is selected, a workflow can be manually constructed from scratch. While the present disclosure is primarily directed to the use of the LLM-based generative AI capabilities of the workflow generation tool, it should be understood that the workflow generation tool can also be used to construct a workflow from scratch.
[0039] When the first tab 402 is selected (e.g., when an LLM-based generative AI workflow generation tool is being used), the GUI includes a prompt window 406 in which a prompt (e.g., input describing one or more characteristics of the workflow to be created) is provided. As shown, before the prompt is provided, the prompt window 406 may display an example prompt 408 (e.g., “Create a travel reimbursement process to efficiently manage employee travel expenses”). In some embodiments, the GUI may also include a link to an example demo 410, which, when selected, provides an example demonstration of how to use the LLM-based generative AI workflow generation tool. Once the prompt is provided in the prompt window 406, a build button 412 may be selected to provide the prompt as input to the LLM-based generative AI workflow generation tool and generate a workflow based on the prompt. In this embodiment, as described below with respect to subsequent figures, it is assumed that the sent prompt is a request to create a workflow for credit card fraud investigation, although it should be understood that this is merely an example and that embodiments are envisioned in which the LLM-based generative AI workflow generation tool generates workflows for processes other than credit card fraud investigation.
[0040] As shown, the GUI may include a cancel button 414 and / or a close window button 416 for closing the GUI without creating a new workflow. Assuming the sent prompt includes a request for a new credit card fraud investigation workflow, the LLM-based generative AI workflow generation tool may receive the prompt and generate a skeleton workflow. FIG. 6 illustrates a screenshot of a GUI 500 for reviewing and modifying a skeleton workflow 502 for a credit card fraud investigation generated by the LLM-based generative AI workflow generation tool in response to the sent prompt. As illustrated, the skeleton workflow includes one or more stages. In the embodiment shown in FIG. 6, the skeleton workflow 502 includes a case capture stage 504, a fraud investigation stage 506, and a case processing stage 508. However, it should be understood that the skeleton workflow 502 shown in FIG. 6 is merely an example, and other skeleton workflows may have more stages, fewer stages, different stages, etc. Each of the stages 504, 506, and 508 of the skeleton workflow 502 may include one or more placeholder activities. For example, case capture stage 504 includes a capture case details activity 510, an assess fraudulent transaction activity 512, a send notification activity 514, and a provide case instructions activity 516. fraud investigation stage 506 includes a create task activity 518, a block card activity 520, a reissue card activity 522, an execute fraud policy rules activity 524, and a request manager approval activity 526. case processing stage 508 includes a create report activity 528, a notify customer activity 530, and a close case activity 532. However, it should be understood that the skeleton workflow 502 shown in Figure 6 is merely an example, and that other skeleton workflows with different stages and / or placeholder activities are contemplated.
[0041] As shown in FIG. 6 , each placeholder activity may be represented by a card that displays specific information about the corresponding activity. For example, the card shown in FIG. 6 includes a label field 534, an activity display order field 536, a description field 538, a trigger field 540, and an activity definition field 542. The label field 534 indicates the title given to the activity (e.g., “Case Close” for activity 532). The activity display order field 536 indicates the display sequence of the activity within workflow 502. In this embodiment, the activity display order field 536 includes a stage number, a period, and the number of the activity within the stage (e.g., “3.3” for activity 532), although other notations are also contemplated (e.g., a letter indicating the stage and a number indicating the position of the activity within the stage, such as “A.1”; a number indicating the stage and a letter indicating the position of the activity within the stage, such as “1.A”; a number indicating the stage within the overall workflow, etc.). The description field 538 may provide a more detailed description of the activity. Trigger field 540 indicates the condition that triggers the start of the activity. Activity definition field 542 indicates the type or definition of the activity, for example, whether the activity is a placeholder activity, whether the activity is a record creation activity, etc.
[0042] When an activity card is selected, an activity properties window 544 is displayed. The activity properties window 544 displays editable properties of the corresponding activity, which may or may not be displayed on the face of the activity card. For example, in the embodiment shown in FIG. 6 , the case close activity 532 card is selected, so the activity properties window 544 displays the properties of the case close activity 532, which may be modified by providing input to the GUI. For example, as shown, the activity properties window 544 allows input to be provided to change the label field 534, the description field 538, the activity definition field 542, define trigger conditions for the activity, such as at the start of a stage or after a specific activity, and define the display order 536 of the activity. By further defining the properties of the placeholder activity, the placeholder activity may be fully defined and converted into a usable activity. However, it should be understood that the activity properties window 544 shown in FIG. 6 is merely an example, and embodiments are contemplated in which the activity properties window 544 includes different fields, has a different design, displays data in different ways, etc.
[0043] In some embodiments, grab, drag, and drop input may be provided to move an activity to a different location within the workflow 502, such as to a different stage, a different display order within a stage, etc. Thus, in some embodiments, when a card is moved, the properties of the activity may be automatically updated to reflect the activity card's new position within the workflow. Similarly, when input is provided via the activity properties window 544 to modify the properties of an activity, such as the display order of the activity, the activity card may be updated to reflect the modified properties (e.g., different location, new value, etc.).
[0044] 6, when board mode 546 is selected, stages are represented as vertical lanes, and activity cards are stacked vertically within each stage lane. However, as shown and described below, when diagram mode 548 is selected, the workflow is displayed as a flowchart, with activities represented as boxes connected by arrows, which indicate how the workflow progresses through the activities.
[0045] Once the workflow is confirmed, an activate button 550 may be selected to finalize the skeleton workflow 502 and convert the skeleton workflow 502 into an executable, approved workflow. However, before finalizing the workflow 502, the designer may want to add activities, further define placeholder activities, and / or replace placeholder activities with other activities. For example, an activity may be added to the workflow 502 by selecting an add activity button 552 below the last activity card in each stage. Selecting the add activity button 552 may display an add activity window. FIG. 7 shows a screenshot of the GUI 500, including an add activity window 600. In some embodiments, the add activity window 600 may include an activity search field 602 configured to receive input (e.g., alphanumeric text) that may be used as a query to search for a particular activity to add to the workflow 502. When the activity search field 602 is used, the results of the search may be displayed in the add activity window 600. If the results include multiple activities, an input may be received to select an activity from the list of results.
[0046] Alternatively, activities can be found by navigating one or more menus. For example, activity category list 604 lists available activity categories. For example, in this embodiment, the available activity categories include common activities, global activities, process automation experience activities, process automation content activities, and incident management for services activities. However, it should be understood that the activity categories shown in FIG. 7 are merely examples, and other activity categories may also be available.
[0047] Upon receiving a selection of a particular activity category, the add activity window 600 may display an activity list 606 that lists activities included in the selected particular category. In this embodiment, because the common activity category is selected from the activity category list 604, the activity list 606 includes task creation activities (e.g., creating a new task), instruction activities (e.g., providing instructions on how to perform a task), user form activities (e.g., creating and / or presenting a form to be filled out), advanced instruction activities (e.g., providing advanced instructions on how to perform a task), checklist task activities (e.g., creating and / or presenting a checklist), user data collection activities (e.g., collecting one or more pieces of data from a user), record creation activities (e.g., creating a record based on received data), email sending activities (e.g., sending an email to a recipient conveying specific information), and knowledge article display activities (e.g., displaying a knowledge article). As shown, in some embodiments, the activity list 606 may list activities divided into one or more groups. For example, in the embodiment shown in FIG. 7, the activity list 606 is further divided into default activities and interactive activities. However, it should be understood that the activities shown in activity list 606 are merely examples, and embodiments having different activities and / or in which the activities are divided into different groups are contemplated.
[0048] Upon selecting an activity from the activity list 606, the activity details window 608 may be configured to display detailed information about the selected activity. For example, in the illustrated embodiment, an instruction activity is selected, so the activity details window 608 displays a description of the selected instruction activity (e.g., an instruction activity provides instructions to a process user and allows the process author to define a message to display). Additionally, the activity details window 608 may display other characteristics of the selected activity, such as inputs and / or outputs. In this embodiment, the selected instruction activity includes inputting a message that is displayed during the playbook experience and waiting for user input that pauses process execution until the process activity is complete. In this embodiment, the selected instruction activity generates an output of a flow data record that may be generated based on one or more of the inputs and / or received data.
[0049] Selecting the create new activity button 610 may add a new activity of the selected type to the workflow 502 (e.g., at the stage where add activity 552 was selected). Once the activity is created, it may be selected and the properties of the activity may be viewed / modified in the activity properties window 544. Alternatively, the close window button 612 may be selected to close the add activity window 600 without creating a new activity.
[0050] 8-11 illustrate embodiments of the Add Activity window 600 with various activities selected. For example, FIG. 8 illustrates an embodiment of the Add Activity window 600 with the Create Task activity selected from the Activities list 606. As illustrated, the Create Task activity, when executed, creates a new user task. Accordingly, when the Create Task activity is executed, a prompt is displayed to confirm the user task assignment and task description. As illustrated, the inputs for the Create Task activity are the assigned fields obtained from the user form, a brief task description, and a wait instruction to wait until the task record is in an active state before executing the activity. Upon executing the activity, the generated output includes a table of new records and the new records themselves, which may be identified by a reference. Although not shown in FIG. 8, the create task may include one or more advanced properties that direct various aspects of the activity's execution.
[0051] FIG. 9 illustrates an embodiment of the add activity window 600 with a send email activity selected from the activity list 606. As illustrated, the send email activity, when executed, generates and sends an email to a recipient. Specifically, the email may reference a process activity, which may or may not include the email subject, body, and / or recipient confirmation. The email recipients may be defined by the process creator or by some captured data. After confirmation, a standard outgoing email may be sent. As illustrated, the inputs for the send email task activity may include a list of email recipients, the recipient's email address, copied recipients, the copied recipient's email address, the email subject, and the email body. Although not shown in FIG. 9, upon execution of the activity, generated outputs include the email itself and, in some cases, a confirmation of the sent email, a read receipt, etc. Additionally, although not shown in FIG. 9, the send email task may include one or more advanced properties that direct various aspects of the activity's execution.
[0052] FIG. 10 illustrates an embodiment of the add activity window 600 with a checklist task activity selected from the activity list 606. As illustrated, the checklist task activity, when executed, generates a checklist for a new or existing task record. In some embodiments, the existence of a checklist may cause the workflow to wait until all items in the checklist are completed before proceeding to the next task or activity. As illustrated, inputs for the checklist task activity may include the checklist template to use, an identification of the task or activity to which the checklist is assigned, an indication of whether each task / activity or item can be skipped, and an indication of whether a service level agreement (SLA) countdown is displayed. Although not shown in FIG. 10, outputs generated upon execution of the activity include, for example, confirmation that the checklist is complete, an indication of items that are not yet completed, etc. Additionally, a checklist task may include one or more advanced properties that dictate various aspects of the activity's execution, such as one or more groups that the activity can be skipped if the "skippable" data field is true.
[0053] FIG. 11 illustrates an embodiment of an add activity window 600 with recommended activities selected in the activity category list 604 and the recommended activities displayed in the activity list 606. For example, input may be received by selecting the “Now Assist Recommended” category from the activity category list. Various recommended activities may then be displayed in the activity list 606. In some embodiments, activities may be recommended based on one or more characteristics of the workflow, other similar workflows, historical data from the user profile generating the workflow, etc. (e.g., using an LLM trained on existing workflows, business data, BPMN, industry standard operating procedures, a curated set or library of activities, etc.). As shown, in some embodiments, the recommended activities may be divided into groups such as interactive activities, non-interactive activities, subflows, RPA processes, actions, etc. Recommended activities may be selected from the activity list 606 to replace placeholder activities in the workflow or to otherwise add to the workflow.
[0054] Returning to FIG. 7 , as previously described, the workflow 502 is displayed in a board format, with activities represented by cards stacked in vertical lanes representing various stages of the workflow 502. The board mode display is further indicated by the board mode indicator 546 being selected. However, when the diagram mode indicator 548 is selected, the GUI 500 may be updated to display the workflow 502 in diagram mode. FIG. 12 illustrates the workflow 502 displayed in a flowchart-style diagram mode. As shown, each activity is represented by a box, with arrows connecting the boxes indicating the order in which the activities are performed. A stage is represented by a shaded box within which multiple activity boxes are arranged. As described with respect to FIG. 6 , when an activity is selected, an activity properties window 544 for the selected activity may be displayed, allowing one or more properties of the selected activity to be modified and / or specified.
[0055] As described with respect to FIGS. 4-6 , the workflow generation tool may be configured to receive an input request to generate a workflow and then output a skeleton workflow in which placeholder activities are displayed. However, in some embodiments, the workflow generation tool may also be configured to generate suggestions as placeholder activities are defined and / or replaced with other activities to fill out the workflow. FIG. 13 illustrates an embodiment in which the workflow generation tool provides suggestions via a pop-up window. The GUI 500 in FIG. 13 displays a credit card fraud processing workflow 700 that differs slightly from the credit card fraud investigation workflow 502 shown in the diagram view 548 of FIGS. 6-12 . As shown, the credit card fraud processing workflow 700 includes a start stage 702 that includes a capture customer details activity 704, an instruction to assess fraud risk activity 706, a calculate risk score activity 708, and a verify fraud risk score activity 710. As shown, the capture customer details activity 704 and the instruction to assess fraud risk activity 706 are fully defined activities, as evidenced by the activities appearing as cards in the workflow 700. However, the Check Fraud Risk Score activity 710 is a placeholder activity, as evidenced by its appearance as a blank box containing a dotted box. Similarly, the Calculate Risk Score activity 708 may trigger a subflow to calculate a risk score, as evidenced by the activity represented by the subflow icon. At decision icon 712, the workflow 700 determines whether the fraud risk score is high or low. If the risk score is low (e.g., below a certain threshold), the workflow 700 proceeds to a low-risk processing stage 714, which includes multiple activities not shown or described.If the risk score is high (eg, above a certain threshold), the workflow 700 proceeds to a high risk processing stage 716 that includes several activities not shown or described.
[0056] Once the workflow has been reviewed and activities for the workflow 700 defined and / or added, the workflow generation tool may generate recommendations for adding activities, replacing existing activities, modifying existing activities, etc. In the illustrated embodiment, recommendations for replacing / defining the Check Fraud Risk Score placeholder activity 710 may be presented via a pop-up window 718. As shown, the pop-up window 718 may include a list of one or more recommended activities 720 (e.g., verify fraud details, check fraud history, check local fraud laws, etc.). The recommended activities 720 may be determined using an LLM trained on existing workflows, business data, BPMN, industry standard operating procedures, a curated set or library of activities, etc. In some embodiments, the pop-up window 718 may also include a generate button 722, which may utilize a generative AI (e.g., an LLM trained on existing workflows, business data, BPMN, industry standard operating procedures, a curated set or library of activities, etc.) to recommend activities, generate new activities, replace / modify existing activities, and / or view / modify properties of existing activities based on training data, other activities in the workflow, contextual information, etc. Upon receiving input selecting an option in the pop-up window, the workflow generation tool may perform one or more actions to modify the workflow 700 based on the received input (e.g., define or replace a placeholder activity based on the selection, add an activity to the workflow, etc.).
[0057] In other embodiments, recommendations may be provided via an interactive chat window rather than the pop-up window 718. FIG. 14 illustrates an embodiment in which the workflow generation tool makes suggestions via an interactive chat window 800. As shown, the workflow generation tool utilizes one or more LLMs to facilitate a chat session with the workflow designer profile. The workflow generation tool asks how it can help, provides some examples of its capabilities, and then asks whether to replace the placeholder activity with a fully defined activity. The workflow designer profile provides input requesting that the placeholder activity be replaced with a new activity that displays the fraud risk score as a graph. The workflow generation tool uses one or more LLMs to generate the requested chart options and display a sample chart 802 in the chat window. The workflow designer profile accepts the sample chart 802. The workflow generation tool replaces the Check Fraud Risk Score placeholder activity 710 with the fully defined new activity.
[0058] FIG. 15 illustrates a GUI 500 in which the Verify Fraud Risk Score placeholder activity 710 has been replaced with a fully defined new activity 710. The GUI 500 also displays the activity properties window 544 for the new activity 710. As previously described, the activity properties window 544 displays properties of the selected activity that can be edited to modify the activity. In the embodiment shown in FIG. 15, the activity properties window 544 includes a Details tab, a User Interface (UI) tab, and an Automation tab. When the Details tab is selected, the activity properties window 544 displays various properties of the activity, as previously shown and described with respect to FIG. 6. When the UI tab is selected, the activity properties window 544 displays various characteristics and / or appearances of user interface elements (e.g., graphs, charts, widgets, icons, forms, animations, etc.) that are displayed when the activity is run. The Automation tab can be used to specify various aspects of the activity that can be executed autonomously without input from a user profile. In the embodiment shown in FIG. 15, the UI tab is selected and displays the charts accepted by the workflow designer profile. As shown, the activity properties window 544 may include buttons that, when selected, preview the UI in the playbook and / or allow the activity to be edited.
[0059] 15, after the chart is accepted, the chat conversation in chat window 800 can continue. For example, in this embodiment, the workflow generation tool asks the workflow designer profile for the source data for the chart. The workflow designer profile indicates that the data is from step 1.2 and includes instructions for assessing fraud risk. The workflow generation tool retrieves the source data, updates the chart, asks the workflow designer profile for confirmation, and then confirms replacing the placeholder activity with a new activity that will generate the agreed-upon chart.
[0060] In some embodiments, chat messages displayed in chat window 800 may be sent from the client device to the remote / cloud instance, and replies may be generated by a workflow generation tool running on the remote / cloud instance and sent to the client device. In other embodiments, the workflow generation tool may run on the client device and generate replies to chat messages locally. In such embodiments, each message in a chart exchange may not be sent or received between the client device and the remote / cloud instance.
[0061] However, it should be understood that the recommendations and activity permutations shown in Figures 11, 13-15, and the chat session shown in Figures 14-15 are merely illustrative examples, and other embodiments are contemplated in which the workflow generation tool makes other recommendations and / or assists the workflow designer profile with other tasks associated with creating new workflows, modifying existing workflows, defining skeleton workflows, etc.
[0062] 16 is a flowchart of a process 900 for generating a workflow. At block 902, the process 900 receives a natural language request to generate a workflow. The workflow may represent any process performed in the operation of a business or organization. For example, the workflow may relate to credit card fraud investigation, employee onboarding, employee training, accounting, financial statements, employee verification, product testing, invoicing / billing, quality control, IT security, purchasing, inventory, logistics, employee benefits management, software development, supply chain management, vendor onboarding, etc.
[0063] At 904, based on the received request, the process 900 uses one or more LLMs to generate a skeleton workflow showing placeholder activities that may or may not be grouped into stages. The process 900 may use one or more LLMs to build a skeleton workflow for each placeholder activity. Each placeholder activity may include suggested placeholder values for one or more properties of the corresponding placeholder activity. For example, a placeholder activity may include suggested placeholder values for inputs, outputs, actions to be performed to generate the outputs based on the inputs, labels, descriptions, rules to be applied during the execution of the activity, triggers to start the activity, advanced properties of the activity, or any combination thereof.
[0064] The LLMs may be trained on existing workflows (e.g., within an enterprise, across an industry, across multiple industries, etc.), Business Process Model and Notation (BPMN) conventions, industry standard operating procedures, industry best practices, publicly available information, publications, data from the internet, etc. In some embodiments, one or more LLMs may be "off-the-shelf" or "ready-to-use" LLMs provided by a service provider and are not specific to a client instance. However, in other embodiments, the LLMs may be customized for a client instance using specific training, specific customized settings, or both.
[0065] At block 906, process 900 may receive input to modify the skeleton workflow. For example, process 900 may receive input requesting modifications or editing of the skeleton workflow and / or providing feedback to the workflow generation tool. Such modifications may include defining or editing properties of one or more placeholder activities to convert a placeholder activity into a fully defined activity, replacing a placeholder activity with an existing activity selected from a library or another workflow, replacing a placeholder activity with a new activity, deleting a placeholder activity, etc. As described with respect to FIGS. 13-15 , the workflow generation tool may use a pop-up window and / or a chat window to make recommendations for modifying the workflow and / or receive feedback from the workflow designer profile.
[0066] At 908, the workflow is updated based on the received input. In some embodiments, updating the workflow may involve simply implementing the specific edits received, while in other embodiments, updating the workflow may involve receiving and interpreting less explicit input (e.g., "Can we view this as a chart?") and / or chat interactions to determine how to update the workflow. Receiving feedback / corrections and updating the workflow may continue iteratively until the workflow is fully defined and / or approval is received (block 910, e.g., from the workflow designer profile).
[0067] If the workflow is approved at block 912, the process 900 proceeds to block 914 to generate a fully defined and operational workflow. If the workflow is not approved, the process 900 returns to block 906 to receive additional input to modify the workflow.
[0068] The presently disclosed techniques are directed to a workflow generation tool that uses large-scale language models (LLMs) to build workflows, and potentially entire playbooks (e.g., complete workflows including a GUI that is displayed when the workflow is run), based on natural language input provided via the workflow generation tool. Specifically, natural language input identifying one or more characteristics of the workflow to be generated may be provided via the workflow generation tool (e.g., "I would like to create an onboarding workflow"). The workflow generation tool utilizes one or more LLMs to generate a skeleton workflow that includes multiple placeholder activities that may or may not be grouped into stages. The one or more LLMs may be trained on existing workflows (e.g., within an enterprise, across an industry, across multiple industries, etc.), Business Process Model and Notation (BPMN) conventions, industry standard operating procedures, industry best practices, publicly available information, publications, data from the Internet, etc. The one or more LLMs may build a skeleton workflow placeholder activity for each placeholder activity, with each placeholder activity having proposed placeholder values for one or more properties of the corresponding activity. For example, a placeholder activity in a skeleton workflow may include suggested placeholder values for inputs, outputs, actions to be performed to generate the outputs based on the inputs, labels, descriptions, rules to be applied during the execution of the activity, triggers to start the activity, advanced properties of the activity, or some combination thereof.
[0069] The skeleton workflow generated by the workflow generation tool may be displayed via the workflow generation tool, which may receive input for editing the skeleton workflow and / or provide feedback to the workflow generation tool. For example, the input may confirm proposed placeholder values, provide replacement values for one or more properties of an activity, provide values for one or more properties of an activity for which a placeholder value was not provided by the workflow generation tool, add a new activity, delete an activity, or replace a placeholder activity with an activity selected from an activity library or a new activity. Furthermore, in some embodiments, the workflow generation tool may present a suggestion for replacing a placeholder activity with an activity from the library when a placeholder activity is selected. In further embodiments, the workflow generation tool may include a chat interface in which feedback on the skeleton workflow may be provided in natural language, and the workflow generation tool uses one or more LLMs to make changes to the skeleton workflow based on the provided feedback. Once the properties of all activities in the skeleton workflow are finalized, the skeleton workflow may be finalized and a usable workflow may be generated.
[0070] In some embodiments, the workflow generation tool may be configured to generate a complete playbook that includes a complete workflow rather than a skeleton workflow and one or more GUIs that are displayed when the workflow is run. In such embodiments, changes to the complete workflow (e.g., adding / removing activities, specifying different values for activity properties, etc.) may be received and / or feedback regarding the playbook may be received via a chat interface or the workflow generation tool, thereby enabling the workflow generation tool to make changes to the playbook based on the feedback received via the workflow generation tool.
[0071] The technical effects of the disclosed techniques may include reduced processor utilization and reduced computational costs associated with reduced time required to design a workflow. Additionally, the implementation of the presently disclosed techniques may reduce human time spent designing a workflow as well as workflow problems caused by human error.
[0072] The specific embodiments described above are shown by way of example, and it should be understood that these embodiments may be susceptible to various modifications and alternative forms. It should also be understood that the claims are not intended to be limited to the particular forms disclosed, but rather to cover all modifications, equivalents, and alternatives falling within the spirit and scope of the disclosure.
[0073] The techniques presented and claimed herein refer to and apply material objects and concrete examples of a practical nature that clearly improve the art, and are not themselves abstract, intangible, or purely theoretical. Furthermore, where a claim appended to the end of this specification includes one or more elements designated as "means for [performing] [function]" or "step for [performing] [function]," such elements are intended to be construed under 35 U.S.C. §112(f) (35 U.S.C. §112(f)). However, for any claim including an element designated in any other manner, such elements are not intended to be construed under 35 U.S.C. §112(f).
Claims
1. receiving a natural language request to create a workflow, the natural language request specifying at least one characteristic of the workflow; generating a skeleton workflow including first and second placeholder activities, the first placeholder activity comprising a first placeholder value for a first property of the first placeholder activity, based on the at least one characteristic using one or more large language models (LLMs); receiving input requesting modification of the skeleton workflow; updating the skeleton workflow based on the input; and A method comprising:
2. receiving approval of the updated skeleton workflow; generating the workflow based on the approved updated skeleton workflow in response to receiving the approval of the skeleton workflow; The method of claim 1 , comprising:
3. The method of claim 2 , comprising generating one or more graphical user interfaces (GUIs) configured to be displayed via a client device during execution of the workflow.
4. generating the skeleton workflow, generating the first placeholder activity based on the natural language request using the one or more LLMs; using the one or more LLMs to set, for the first placeholder activity, the first placeholder value for the first property of the first placeholder activity based on the natural language request; generating the second placeholder activity based on the natural language request and the first placeholder activity using the one or more LLMs; using the one or more LLMs, for the second placeholder activity, based on the natural language request and the first placeholder activity, setting a second placeholder value for a second property of the second placeholder activity; The method of claim 1 , comprising:
5. 2. The method of claim 1, wherein the first properties of the first placeholder activity comprise inputs to the first placeholder activity, outputs of the first placeholder activity, one or more actions performed to generate the outputs of the first placeholder activity based on the inputs to the first placeholder activity, a label for the first placeholder activity, a description of the first placeholder activity, rules to apply during execution of the first placeholder activity, a trigger to start the first placeholder activity, or advanced properties of the first placeholder activity.
6. 2. The method of claim 1 , wherein the input that modifies the skeleton workflow comprises providing values for additional properties of the first placeholder activity, adding a third activity, removing the second activity, replacing the second placeholder activity with a fourth activity selected from an activity library, or any combination thereof.
7. The method of claim 1 , wherein the input to modify the skeleton workflow is provided via a chat interface.
8. 10. The method of claim 1, wherein the one or more LLMs are trained on one or more other workflows, one or more Business Process Model and Notation (BPMN) conventions, one or more industry standard operating procedures, one or more industry best practices, one or more publications, or any combination thereof.
9. a processing circuit; accessible by the processing circuitry and, when executed by the processing circuitry, causing the processing circuitry to: receiving a natural language request to create a workflow, the natural language request specifying at least one characteristic of the workflow; generating a skeleton workflow including first and second placeholder activities, the first placeholder activity comprising a first placeholder value for a first property of the first placeholder activity, based on the at least one characteristic using one or more large language models (LLMs); receiving input requesting modification of the skeleton workflow; updating the skeleton workflow based on the input; receiving approval of the updated skeleton workflow; generating the workflow based on the approved updated skeleton workflow in response to receiving the approval of the skeleton workflow; a memory storing a plurality of instructions for performing an operation comprising: A system comprising:
10. 10. The system of claim 9, wherein the processing circuitry is configured to execute a cloud-based client instance, and wherein the natural language request to generate the workflow, the input requesting modification of the skeleton workflow, and the approval of the updated skeleton workflow are received from a client device.
11. generating the skeleton workflow, generating the first placeholder activity based on the natural language request using the one or more LLMs; using the one or more LLMs to set, for the first placeholder activity, the first placeholder value for the first property of the first placeholder activity based on the natural language request; generating the second placeholder activity based on the natural language request and the first placeholder activity using the one or more LLMs; using the one or more LLMs, for the second placeholder activity, based on the natural language request and the first placeholder activity, setting a second placeholder value for a second property of the second placeholder activity; The system of claim 9, comprising:
12. 10. The system of claim 9, wherein the first properties of the first placeholder activity comprise inputs to the first placeholder activity, outputs of the first placeholder activity, one or more actions performed to generate the outputs of the first placeholder activity based on the inputs to the first placeholder activity, a label for the first placeholder activity, a description of the first placeholder activity, rules to apply during execution of the first placeholder activity, a trigger to start the first placeholder activity, or advanced properties of the first placeholder activity.
13. The system of claim 9 , wherein the input to modify the skeleton workflow is received via a chat interface.
14. The system of claim 13 , wherein the action comprises displaying, via the chat interface, one or more recommendations for modifying the skeleton workflow.
15. The system of claim 9 , wherein the action comprises displaying recommendations for modifying the skeleton workflow via a pop-up window.
16. The system of claim 15 , wherein the recommendation for modifying the skeleton workflow comprises replacing the first placeholder activity with an existing activity.
17. When executed by a processing circuit, the processing circuit: receiving a natural language request to create a workflow, the natural language request specifying at least one characteristic of the workflow; generating a skeleton workflow including first and second placeholder activities, the first placeholder activity comprising a first placeholder value for a first property of the first placeholder activity, based on the at least one characteristic using one or more large language models (LLMs); generating one or more graphical user interfaces (GUIs) configured to be displayed via a client device during execution of the workflow; receiving input requesting modification of the skeleton workflow; updating the skeleton workflow based on the input; and 1. A non-transitory computer-readable medium comprising a plurality of instructions for performing operations comprising:
18. The operation is receiving approval of the updated skeleton workflow; generating the workflow based on the approved updated skeleton workflow in response to receiving the approval of the skeleton workflow; 20. The non-transitory computer-readable medium of claim 17, comprising:
19. generating the skeleton workflow, generating the first placeholder activity based on the natural language request using the one or more LLMs; using the one or more LLMs to set, for the first placeholder activity, the first placeholder value for the first property of the first placeholder activity based on the natural language request; generating the second placeholder activity based on the natural language request and the first placeholder activity using the one or more LLMs; using the one or more LLMs, for the second placeholder activity, based on the natural language request and the first placeholder activity, setting a second placeholder value for a second property of the second placeholder activity; 20. The non-transitory computer-readable medium of claim 17, comprising:
20. 20. The non-transitory computer-readable medium of claim 17, wherein the operations comprise transmitting a graphical representation of the skeleton workflow to an additional client device for display via a user interface of the additional client device.
Citation Information
Patent Citations
Information processor, workflow generation method and program
JP2007164455A
Workflow improvement system, workflow improvement method, and workflow improvement program
JP2010146091A
SYSTEM AND METHOD FOR OPTIMIZING INSTRUMENT SYSTEM WORKFLOW - Patent application
JP2022532791A
Information processing method, information processor, and program
JP2023132617A
Automatic flow implementation from text input
JP2023172931A
Cited By
Information processing device, information processing method, and program
JP7894995B1