Automatically generating chat applications from code-free application development platform

By generating codeless applications on the codeless application development platform and converting GUI views, the problem of automatic generation of chat applications on the codeless application platform is solved, and the deployment and operation of chat applications without writing code is realized, which lowers the technical threshold.

CN119968614APending Publication Date: 2025-05-09GOOGLE LLC
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202380069755.4
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Priority Date
2022-09-30
Filing Date
2023-09-28
Publication Date
2025-05-09

AI Technical Summary

Technical Problem

The prior art is difficult to automatically generate chat applications on a codeless development platform, limiting the ability of non-technical personnel to create chat applications without writing code.

Method used

By generating codeless applications on the codeless application development platform, including trigger conditions and action responses, and converting the GUI view of the codeless environment into the GUI view of the chat application, the automated deployment and operation of chat applications are achieved.

Benefits of technology

It realizes the automatic generation and deployment of chat applications on a codeless platform, lowering the technical threshold, and allowing non-technical personnel to create and publish chat applications without writing code.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119968614A_ABST
    Figure CN119968614A_ABST
Patent Text Reader

Abstract

A method (600) for generating a chat application includes receiving a deployment request (24) requesting deployment of a code-free application (191) generated by a user (12) within a code-free environment (172, 174) to a chat application environment (202, 204). The code-free application includes a trigger condition (510), an action response (520), and a code-free environment graphical user interface (GUI) view (500) based on the action response. The method comprises, upon receiving a deployment request, receiving an interaction indication indicating that a trigger condition is satisfied (30). In response to receiving the interaction indication, the method includes performing an action response, converting the code-free environment GUI view to a chat application GUI view (410), and transmitting the chat application GUI view to the user device (12). The chat application GUI view is configured to cause the user device to display the chat application GUI view within the chat application environment.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present disclosure relates to automatically generating a chat application. Background Art

[0002] No-code development platforms allow programmers and non-programmers to create application software via a graphical user interface rather than conventional programming techniques. As a result, no-code platforms enable business technologists and citizen developers of all skill levels to build powerful applications and workflows for their organizations without writing any code.

[0003] The chat application can be a web application or a service executed within a chat application. For example, the chat application can receive synchronous chat events (e.g., a message is received or a user is added to a conversation) and respond with an appropriate message (e.g., static text or a complex dialog box) or update an existing message. Chat applications are increasingly used to provide 24 / 7 support for both internal and external customers, helping many industries simplify and optimize the customer experience. Summary of the invention

[0004] One aspect of the present disclosure provides for automatically generating a chat application from a codeless application development platform or environment. The computer-implemented method causes the data processing hardware to perform an operation when executed by the data processing hardware. The operation includes generating a codeless application by an author using a codeless environment, the codeless application including a trigger condition, an action response defining an action in response to satisfying the trigger condition, and a codeless environment graphical user interface (GUI) view based on the action response. The operation includes receiving a deployment request requesting deployment of the codeless application. The operation includes: after receiving the deployment request, receiving an interaction indication indicating that the trigger condition is satisfied. In response to receiving the interaction indication, the operation includes executing the action response, converting the codeless environment GUI view to a chat application GUI view, and transmitting the chat application GUI view to a user device. The chat application GUI view is configured to cause the user device to display the chat application GUI view within the chat application environment.

[0005] Implementations of the present disclosure may include one or more of the following optional features. In some implementations, the chat application GUI view includes a chat card. In some examples, the trigger condition includes a user interaction with the chat application environment. In some of these examples, the user interaction includes a slash command, an emoticon, or a keyword.

[0006] Optionally, the trigger condition includes a modification to the data repository. The modification to the data repository may include adding or updating a row of a table. In some implementations, the operation also includes: after transmitting the chat application GUI view to the user device, receiving a user interaction indication indicating a user interaction with the chat application environment from the user device, and modifying the data repository based on the user interaction indication using the codeless application.

[0007] In some examples, the operation also includes determining that a user of the user device is authorized to access the codeless application. Converting the codeless environment GUI view to the chat application GUI view can be based on determining that the user of the user device is authorized to access the codeless application. The action response can include a direct message to a single user of the chat application environment. Additionally or alternatively, the action response includes a group message to multiple users of the chat application environment.

[0008] Another aspect of the present disclosure provides a system for automatically generating a chat application from a codeless application development platform or environment. The system includes data processing hardware and memory hardware that communicates with the data processing hardware. The memory hardware stores instructions that, when executed on the data processing hardware, cause the data processing hardware to perform an operation. The operation includes receiving a deployment request that requests the deployment of a codeless application generated by a user in a codeless environment to a chat application environment. The codeless application includes a trigger condition, an action response that defines an action in response to an action that satisfies the trigger condition, and a codeless environment graphical user interface (GUI) view based on the action response. The operation includes: after receiving the deployment request, receiving an interaction indication indicating that the trigger condition is satisfied. In response to receiving the interaction indication, the operation includes executing an action response, converting the codeless environment GUI view to a chat application GUI view, and transmitting the chat application GUI view to a user device. The chat application GUI view is configured to cause the user device to display the chat application GUI view within the chat application environment.

[0009] This aspect may include one or more of the following optional features. In some implementations, the chat application GUI view includes a chat card. In some examples, the trigger condition includes a user interaction with the chat application environment. In some of these examples, the user interaction includes a slash command, an emoticon, or a keyword.

[0010] Optionally, the trigger condition includes a modification to the data repository. The modification to the data repository may include adding or updating a row of a table. In some implementations, the operation also includes: after transmitting the chat application GUI view to the user device, receiving a user interaction indication indicating a user interaction with the chat application environment from the user device, and modifying the data repository based on the user interaction indication using the codeless application.

[0011] In some examples, the operation also includes determining that a user of the user device is authorized to access the codeless application. Converting the codeless environment GUI view to the chat application GUI view can be based on determining that the user of the user device is authorized to access the codeless application. The action response can include a direct message to a single user of the chat application environment. Additionally or alternatively, the action response includes a group message to multiple users of the chat application environment.

[0012] The details of one or more implementations of the present disclosure are set forth in the accompanying drawings and the description below. Other aspects, features, and advantages will be apparent from the description and drawings, and from the claims. BRIEF DESCRIPTION OF THE DRAWINGS

[0013] Figure 1 is a schematic diagram of an example system for automatically generating a chat application from a no-code application development platform or environment.

[0014] Figure 2 yes Figure 1 Schematic diagram of exemplary components of a system.

[0015] Figure 3 yes Figure 1 An exemplary sequence diagram of the system.

[0016] FIG. 4A to FIG. 4C is a schematic diagram of an exemplary graphical user interface of a chat application environment.

[0017] Figure 5 is a schematic diagram of an exemplary graphical user interface of a no-code environment.

[0018] Figure 6 is a flowchart of an example arrangement of operations of a method for automatically generating a chat application from a no-code application development platform or environment

[0019] Figure 7 is a schematic diagram of an example computing device that can be used to implement the systems and methods described herein.

[0020] Like reference numerals in the various drawings indicate like elements. DETAILED DESCRIPTION

[0021] The chat application can be a web application or a service executed within a chat application. For example, the chat application can receive synchronous chat events (e.g., a message is received or a user is added to a conversation) and respond with an appropriate message (e.g., static text or a complex dialog box) or update an existing message. Chat applications are increasingly used to provide 24 / 7 support for both internal and external customers, helping many industries simplify and optimize the customer experience.

[0022] Chat applications (i.e., chat "apps") are common types of chat applications. At a basic level, chat applications are computer programs that simulate and process human conversations (written or oral), thereby allowing users to interact with digital devices as if they were communicating with real people. Chat application users can interact with chat applications via free-form natural language or by more structured methods (such as slash commands). In many respects, chat applications can be considered as "chat wrappers" around applications, automation, and third-party integrations with external data sources, which allow these functions to be called and interacted with in chats, so that users never have to leave their conversations to get data or perform tasks. An ideal chat application allows users to perform almost any data push, pull, or push and pull interactions with almost any data source without taking the user out of their current context.

[0023] Chat apps can be divided into two main categories. First, public, consumer-facing chat apps provide customer service, such as providing feedback on a recent purchase. These are often referred to as external chat apps. Private, organization-specific chat apps can be designed to address specific needs within a company, such as file vacation requests, assist with inventory inquiries, manage approval processes, post new sales deals, or provide information about bugs or service outages. These are often referred to as internal chat apps.

[0024] External chat applications are primarily served by purpose-built products and the organizations that built them. In contrast, internal chat applications are often add-ons to a company's synchronous messaging platform (native or otherwise). This allows chat applications to "meet users where they are" to provide quick, on-demand answers or complete otherwise time-consuming tasks, saving significant resources.

[0025] No-code development platforms allow programmers and non-programmers to create application software via a graphical user interface rather than conventional programming techniques. As a result, no-code platforms enable business technicians and citizen developers of all skill levels to build powerful applications and workflows for their organizations without writing any code. Combining a no-code development platform with a chat application democratizes the chat application creation process, allowing anyone, in any role, to have the skills needed to set up a chat application.

[0026] Implementations herein include systems and methods that provide application creators with the ability to publish and deploy chat applications in one click to allow end users to interact with automation without leaving the chat application environment. Within the chat application environment, users interact with the chat application using, for example, chat cards and / or dialog boxes. Based on events initiated by users within the chat application environment, the chat application executes automation that can interact with external data sources (e.g., tables, databases, etc.). The chat application can send messages to users or chat spaces based on automation triggers.

[0027] refer to Figure 1 In some implementations, the chat application generation system 100 includes a remote system 140 that communicates with one or more user devices 10 via a network 112, each user device being associated with a corresponding user 12. The remote system 140 may be a single computer, multiple computers, or a distributed system (e.g., a cloud environment) with scalable / elastic resources 142, including computing resources 144 (e.g., data processing hardware) and / or storage resources 146 (e.g., memory hardware). The data storage area 148 (i.e., remote storage device) may be overlaid on the storage resource 146 to allow the storage resource 146 to be scalably used by one or more of the client (e.g., user device 10) or computing resource 144.

[0028] The remote system 140 is configured to communicate with the user device 10 via, for example, the network 112. The user device 10 may correspond to any computing device such as a desktop workstation, a laptop workstation, or a mobile device (i.e., a smart phone). Each user device 10 includes computing resources 18 (e.g., data processing hardware) and / or storage resources 16 (e.g., memory hardware). The data processing hardware 18 executes a graphical user interface (GUI) 14 for display on a screen 15 in communication with the data processing hardware 18.

[0029] The remote system 140 executes the application controller 150. The application controller 150 includes a no-code environment backend 172 (e.g., a no-code application development environment). The first user 12, 12a can communicate with the no-code environment backend 172 via, for example, the first user device 10, 10a and the no-code environment frontend 174 provided by the no-code environment backend 172. For example, the user 12a uses the first GUI 14, 14a displayed on the screen 15 to interact with the no-code environment frontend 174. The combination of the no-code environment backend 172 and the no-code environment frontend 174 constitutes a no-code environment. As discussed in more detail below, the GUI 14a provided by the no-code environment backend 172 can be a web-based GUI 14 (e.g., accessed via a web browser), and provides the user 12a with an interactive visual workspace to build, execute and publish a no-code application 190. In other examples, the no-code environment frontend 174 is executed by an application executed on the first user device 10a. The GUI 14a allows the user 12a to drag and drop application routines or subroutines into an editing area where they can be connected to form an application 190. Notably, the user 12 does not need programming skills to generate the application 190. For example, the user 12a selects one or more trigger conditions 510 such as modifications to a data repository (e.g., a row is added to a table or database, or a row is updated / modified) and an action response 520 (e.g., sending a notification) that the application 190 performs in response to satisfying the trigger condition 510. The application 190 can interact with data stored at the data store 148. For example, the application 190 can monitor changes in data stored at the data store 148 for the trigger condition 510 and / or modify the data stored at the data store 148 for the action response 520. The user 12a can select a data source for the application 190. For example, when generating the application 190, the user 12a directs the application controller 150 to one or more data elements (e.g., tables, databases, etc.) stored at the data store 148. Application 190 can support many different use cases, such as email automation (e.g., sending customized messages to internal or external users), creating invoices / card decks / reports (e.g., generating files at specified locations using templated content), connecting to services (e.g., sending / returning data from external services), and / or scheduling automated data manipulation / logic (e.g., running advanced business logic on data).

[0030] The application 190 includes a no-code environment GUI view 500 based on the action response 520. The no-code environment GUI view 500 represents a user interface (UI) view of the application 190 within the no-code environment. That is, the no-code environment GUI view 500 represents the UI that the first user 12a views when authoring, configuring, and otherwise interacting with the application 190 via the first GUI 14a.

[0031] In some examples, the application controller 150 receives a trigger interaction indication 20 indicating a graphical user interaction by the user 12a with the GUI 14 via the no-code environment front end 174 (i.e., within the no-code environment), wherein the user 12a sets / defines a trigger condition 510. In response to receiving the trigger interaction indication 20, the application controller 150 establishes the trigger condition 510 for the application 190 generated by the no-code environment 172, 174. The application controller 150 also receives an action interaction indication 22 indicating another graphical user interaction by the user 12a with the GUI 14 via the no-code environment front end 174. In response to receiving the action interaction indication 22, the application controller 150 defines an action response 520 for the application 190 when the trigger condition 510 is met. That is, as described in more detail below, the action response 520 defines the behavior of the application 190 when the trigger condition 510 is met. For example, when the trigger condition 510 indicates that a value within a table stored in the data store 148 changes, the application controller 150 defines an action response 520 for the application 190 that includes generating a notification to the user 12. The user 12a may publish or otherwise deploy the application 190 (e.g., via the chat application deployment backend 202 and / or the chat application deployment frontend 204) so ​​that the application controller 150 executes the application 190.

[0032] In some implementations, during or after the user 12a configures the application 190 (e.g., sets one or more trigger conditions 510 and one or more action responses 520), the user 12a may publish and / or deploy the application 190 as a chat application 191 using the chat application deployment backend 202 via the deployment request 24. For example, the user 12a may configure the application 190 as a chat application based on setting the trigger conditions 510 and / or the action responses 520. In other examples, the user 12a selects the chat application option when selecting the deploy or publish option, thereby causing the application controller 150 to deploy the application 190 as a chat application 191 in addition to deploying the application 190 as a traditional application instead.

[0033] The chat application deployment backend 202 can execute the chat application 191 and present the chat application 191 to the second user 12, 12b via the chat application deployment frontend 204 (i.e., the chat application environment frontend). The combination of the chat application deployment backend 202 and the chat application deployment frontend 204 together provide a chat application environment. The second user 12b can be the same as or different from the first user 12a. That is, the application controller 150 can deploy the chat application 191 for a user 12 different from the user 12 who authored the chat application 191. For example, the second user 12a interacts with the chat application 191 via the second GUI 14, 14b executed on the second user device 10, 10b. The second GUI 14b allows the second user 12b to interact with the chat application deployment frontend 204, such as sending and receiving messages with other users 12. The chat application deployment frontend 204 can be executed on the second user device 10b, the first user device 10a, another user device (not shown), the remote system 140, or any combination thereof.

[0034] Once the chat application 191 is deployed to the chat application environment, the application controller 150 receives an application interaction indication 30 indicating that a trigger condition 510 of the chat application 191 is satisfied. As described in more detail below, in some examples, the application interaction indication 30 originates from the second user 12b interacting with the chat application 191 via the chat application deployment front end 204. In other examples, the application interaction indication 30 originates from another source, such as from an interaction with the data store 148 or from an interaction with the application 190 from a non-chat user. In response to receiving the application interaction indication 30 indicating that the trigger condition 510 is satisfied, the application controller 150 performs a corresponding action response 520 and converts the no-code environment GUI view 500 to a chat application GUI view 410. Here, the chat application GUI view 410 is configured to cause the user device 10 to display the chat application GUI view 410 within the chat application environment (e.g., on the screen 15 of the user device 10). The application controller 150 can transmit the chat application GUI view 410 to the second user device 10, which then displays the chat application GUI view 410 to the second user 12b via the second GUI 14b. That is, the second user 12b views the graphical representation of the chat application 191 via the chat application GUI view 410.

[0035] Reference now Figure 2, the schematic 200 includes exemplary components of a chat application deployment backend 202. Here, the chat application deployment backend 202 includes a UI converter 220 that converts the no-code environment GUI view 500 to a chat application GUI view 410. As described in more detail below, the chat application GUI view 410 may include a "chat card" or dialog box (e.g., a UI JavaScript Object Notation (JSON) object). A chat card represents a graphic that is rendered directly within the chat application environment that provides visual information to the user 12. A chat card may include an "inline card" (e.g., a UI widget with chat text embedded inline) rendered within a chat box UI (e.g., a UI widget with chat text embedded inline) Figure 4A ). Alternatively, the chat card may include a "popup" ( Figure 4B ). In some implementations, the pop-up window chat card can be moved and / or resized by the user. In some examples, the chat card is interactive and allows the user to select the chat card or otherwise interact with the chat card to retrieve additional information or provide information to the chat application 191.

[0036] The chat application GUI view 410 may be dependent on or based on the action response 520. For example, the action response 520 may include generating an approval request, and then the chat application GUI view 410 may provide the user 12 with the ability to approve or deny the approval request. In this example, the chat application 191 renders a chat card that details the approval request and requests the user 12 to approve or deny the approval request. The UI converter 220 may provide / convert the chat application GUI view 410 based on an action by the user 12 (e.g., by interacting with the chat application 191 via the chat application deployment front end 204) or based on satisfying one or more trigger conditions 510 of the action response 520. For example, adding a row to a table stored in the data store 148 triggers the chat application 191 to send a notification to the user 12 via the chat application environment. As another example, changing an element (e.g., column or field) of a row (such as by changing the approval status in a column in an approval entry row of a pending approval table) triggers the chat application 191 to send a notification (e.g., indicating that the change is approved) to the user 12 via the chat application environment.

[0037] In this example, the chat application deployment backend 202 also includes an action handler 222 that is responsible for all user interactions with the chat application 191. The action handler 222 can interact with the UI converter 220 to instruct the UI converter 220 to build the chat application GUI view 410 based on, for example, chat actions 223. The chat actions 223 include any interactions that the user 12 can have with the chat application 191, such as navigation actions, data exchange actions, external communications, or composite actions. That is, the chat actions 223 define how the user 12 interacts with the chat application 191. The chat actions 223 can include any interactions of the user 12 with the chat application 191 (i.e., actions implicitly included by the chat application 191, such as clicking on an action in a chat card), which are not explicitly defined by the action response 520.

[0038] The action handler 222 maintains the current application state of the chat application 191. That is, the action handler 222 tracks and stores all information generated by user interaction with the chat application 191 required to move the chat application 191 to a subsequent state. The action handler 222 can also (e.g., in response to a navigation command from the user 12) direct the UI converter 220 to generate a specific chat application GUI view 410. Additionally or alternatively, the action handler 222 performs a data change action, such as by updating the data underlying the view and instructing the UI converter 220 to generate a chat application GUI view 410 that reflects the updated data.

[0039] In some examples, the chat application deployment backend 202 includes an automation handler 224. When a trigger condition 510 is met by a user 12 interacting with a chat application 191 within the chat application environment frontend 204, the automation handler 224 processes or executes "automation" (e.g., an action response 520). For example, if a user 12 sends a specific emoticon configured by the chat application author (i.e., the first user 12a), the automation handler 224 can execute an appropriate action response 520 (e.g., modifying data in a data repository, generating an approval request for another user 12, displaying a chat card, etc.).

[0040] In some implementations, the chat application deployment backend 202 includes a backend application programming interface (API) 210, 210a that receives all incoming chat messages 212 from the chat application environment (i.e., chat messages entered by the user 12 via the chat application deployment frontend 204). The backend API 210a includes a lightweight processor for processing incoming chat messages 212 and chat actions 223 with minimal logic to forward requests to other modules (e.g., action handlers 222, automation handlers 224, etc.) of the chat application deployment backend 202 based on the content of the chat message 212 and / or chat action 223. The backend API 210a may include an authorization and / or authentication process for ensuring that the user 12 is authorized for a particular action or response. For example, the backend API 210a verifies whether the user 12 has authorization to access the chat application 191 (e.g., via user credentials, tokens, access lists, etc.) before forwarding the chat action 223 from the user 12 to the action handler 222 and / or converting the codeless environment GUI view 500.

[0041] The backend API 210a can communicate with the chat application frontend 204 via the chat application 191 and the frontend APIs 210, 210b. The frontend API 210b can receive and process the chat application GUI view 410 from the chat application deployment backend 202 and provide the chat message 212 and / or chat action 223 to the chat application deployment backend 202.

[0042] Reference now Figure 3 , sequence diagram 300 depicts an exemplary sequence of steps 302-316 detailing deployment and use of a chat application 191. Here, at step 302, a user 12a transmits a deployment request 24 to a no-code environment backend 172 via a no-code environment frontend 174, the deployment request requesting deployment of a chat application 191 authored by the user 12a within the no-code environment frontend 174. The no-code environment backend 172 responds to the deployment request 24 by providing settings for the chat application 191 and publishing the chat application 191 at step 304. In some examples, publishing of the chat application 191 includes publishing the chat application 191 to a marketplace or other application repository accessible to the chat application deployment backend 202. In other examples, publishing of the chat application 191 includes publishing the chat application 191 directly to the chat application deployment backend 202. Regardless, publishing of the chat application 191 allows the chat application deployment backend 202 to access the chat application 191.

[0043] After the chat application 191 has been published to the chat application deployment backend 202, the chat application deployment backend 202 receives an application interaction indication 30 indicating that a trigger condition 510 of the chat application 191 has been satisfied at step 306. The application interaction indication 30 may satisfy a trigger condition 510 explicitly defined by the author of the chat application 191 (e.g., a row is added to a table or a user provides a specific slash command) or an interaction inherent or implicit to the chat application 191 (e.g., clicking an action in a chat card).

[0044] The chat application deployment backend 202 processes the application interaction indication 30 at step 308 to determine whether the interaction indication requires action (e.g., a trigger condition 510 is met or another chat action 223 requires a response). When the trigger condition 510 is met or the chat application deployment backend 202 determines that a response is necessary, the chat application deployment backend 202 executes the response at step 310 (e.g., an action response 520 or other appropriate response determined by the action handler 222 or the automation handler 224). In addition to executing the response, the chat application deployment backend 202 also converts the no-code environment GUI view 500 to the chat application GUI view 410 at step 312 (e.g., at the UI converter 220). The user device 10 will render the chat application GUI view 410 for viewing by the user 12 of the user device 10.

[0045] The chat application deployment backend 202 sends the chat application GUI view 410 to the chat application environment frontend 204 at step 314. The chat application environment frontend 204 displays the chat application GUI view 410 on the user device 10b for viewing by the user 12b at step 316. For example, as described in more detail below, the chat application GUI view 410 renders a chat card with information based on an action response (e.g., providing an action to the user, confirming an action performed by the application controller 150, etc.).

[0046] Reference now Figure 4A, schematic diagram 400a includes an exemplary GUI 14b displayed on the screen 15 of the second user device 10b when the user 12b is interacting with the chat application environment front end 204. Here, the GUI 14b is divided into a user pane 402a, a room pane 402b, and a chat pane 402c. The user pane 402a allows the user 12b to select a single individual to directly transmit a message (e.g., a text message, image, voice message, emoticon, etc.). For example, the user 12b can select "Jane Smith" to send a message directly to a user associated with the "Jane Smith" profile and receive a message directly from the user. The room pane 402b allows the user to send and receive messages to a group of people at the same time (i.e., "group messaging"). The chat pane 402c displays the history of the currently selected chat location (i.e., from the user pane 402a or the room pane 402b) and the input option to provide additional messages.

[0047] In some examples, the chat application 191 can be represented in the GUI 14b as an individual that the user 12b can interact with and pass messages. In this example, the user pane 402a includes the "ApprovalsApp" chat application 191. The ApprovalsApp is a chat application 191 that is authored and published by the user 12 and deployed to the chat application environment front end 204 by, for example, the user 12b, the author or administrator of the chat application 191, etc. In this example, the user 12b (i.e., "AnnBrown") has selected the ApprovalsApp in the user pane 402a, and the history of communications with the ApprovalsApp is visible in the chat pane 402c. Ann Brown initially communicated with the ApprovalsApp via a direct message 212, 212a "Hey! (Hey!)", which was transmitted by the chat application environment front end 204 to the chat application deployment back end 202. Here, the Approvals App (ie, the chat application 191 ) responds to the message 212a with a response message 212 , 212b “Hello, I’m the Approvals App. What would you like to see?” and the chat application GUI view 410 .

[0048] In this example, the chat application GUI view 410 takes the form of an interactive chat card 420, 420a. The chat card 420a provides three separate interactions for the user 12b (i.e., a "Requests" action, a "New Request" action, and a "Request Calendar" action). In response to the user 12b interacting with the chat application 191 (i.e., the message 212 in this example), the chat card 420a is rendered directly into the chat pane 402c. In this case, the chat card 420a allows the user 12b to select the "New Request" action using a cursor 430. The chat card 420a may allow other forms of user interaction (e.g., touch, voice commands, etc.).

[0049] Reference now Figure 4B , schematic diagram 400b continues Figure 4A , where chat application GUI view 410 responds to user 12b selecting a “New Request” action ( Figure 4A ) and updated to include a data request card 440. In this example, the data request card 440 requests the user 12b to provide "Request Title", "Request Description" and "Price". Each request includes a corresponding text field that allows the user 12b to enter the requested data. Although in this example, the user 12b enters the data via text (e.g., using a keyboard), any form of data input (e.g., voice command) can be supported. Here, the user 12b uses a cursor 430 to select the "Save" option, so the request is submitted to the chat application 191. The submission of data (i.e., the new request data in this example) can cause any number of action responses 520 to be executed. Here, the new request can be added to a request table including a column for the title, a column for the description, and a column for the price. Adding a row to the table can trigger other trigger conditions 510 of the same chat application 191 or other applications 190 (which may or may not include the chat application 191).

[0050] Thus, in some implementations, after transmitting the chat application GUI view 410 to the user device 10, the application controller 150 receives a user interaction indication from the user device 10 indicating a user interaction with the chat application environment. In response, the application controller 150 modifies the data repository via an action response 520 of the chat application 191 and based on the user interaction indication. For example, the user interaction indication includes Figure 4B The data provided in the data request card 440 and the selection of "Save" user input causes the chat application 191 to modify the data repository by adding a row to the table.

[0051] Reference now Figure 4C , schematic diagram 400c continued Figure 4B Here, the message history of the chat pane 402c has been updated to include another message 212, 212c from the Approvals App after the user 12b submitted the new request, and a second chat card 420, 420b acknowledging and confirming the submission of the request. In this example, the Approvals App responds to the new request with a non-interactive chat card 420b confirming that the request titled "Education Reimbursement" has been successfully submitted.

[0052] although FIG. 4A to FIG. 4C The example involves user 12 exchanging messages directly with chat application 191, but in addition or alternatively, chat application 191 can be added to a "room" or "group" or "space" where multiple users 12 chat or pass messages at the same time. In these and other examples, any number of interactive commands can be used to call or interact with chat application 191. In some examples, user 12 uses one or more "slash commands" to interact with the chat application. For example, user 12b in the previous example can call Approvals App by providing a message including " / approvals" in the chat space. Such commands can trigger message 212b and chat card 420. Chat application 191 can support any number of slash commands or other inputs. For example, user 12b directly calls data request card 440 via slash command " / newrequest". Although slash commands are used as examples, any other way can be used to call or interact with the chat application, which allows (for example, using other separators, such as @ symbols, hyphens, periods, emoticons, etc.) to distinguish messages to chat application 191 from messages to other users 12. In some examples, the chat application is invoked using one or more specified keywords. The author of the chat application 191 can explicitly define interaction commands (e.g., slash commands) during configuration or release of the chat application 191. In other examples, the chat application 191 uses default interaction commands or automatically derived interaction commands.

[0053] Reference now Figure 5, when user 12a interacts with the no-code environment front end 174 provided by the no-code environment back end 172 to create a chat application 191 (including the chat application 191), an exemplary no-code environment view 500 is displayed within the GUI 14a displayed on the screen 15 of the first user device 10a. Here, the GUI 14 is divided into an event pane 530, a run pane 540, and a settings pane 550. The event pane 530 displays a graphical representation of the trigger condition 510. The user 12a specifies the details that will satisfy the trigger condition 510. Here, the trigger condition 510 is satisfied when a new row is added to the "Leads" table. The user 12 defines the trigger condition 510 via interaction with the GUI 14a. For example, the user 12a selects a user input with a cursor (e.g., via a mouse, keyboard, touch screen, voice command, or any other user input). Here, the run pane 540 displays a graphical representation of the action response 520. In this example, an action response 520 (i.e., an action response to a trigger condition 510 added to a new row of "Leads") is sending a request in the form of a chat card. The user 12 defines the action response 520 that will occur when the trigger condition 510 is met via interaction with the GUI 14a. In some examples, the action response 520 includes executing one or more scripts selected or defined by the user 12. The user 12 can add any number of action responses 520 based on one or more trigger conditions 510. The settings pane 550 may include a variety of options that allow the user 12 to configure, publish, and / or deploy the application 190 in a code-free environment. Here, the settings pane 550 includes options for the user 12 to select an event type, a data source, and an action source.

[0054] Figure 6is a flowchart of an exemplary arrangement of operations of a method 600 for automatically generating a chat application from a no-code application development platform or environment. The computer-implemented method 600, when executed by the data processing hardware 144, causes the data processing hardware 144 to perform operations. The method 600 includes, at operation 602, receiving a deployment request 24 requesting deployment of a no-code application 190 generated by a user 12 within the no-code environment front end 174 to the chat application environment front end 204. The no-code application includes a trigger condition 510, an action response 520 defining an action in response to satisfying the trigger condition 510, and a no-code environment graphical user interface (GUI) view 500 based on the action response 520. At operation 604, the method 600 includes, after receiving the deployment request 24, receiving an application interaction indication 30 indicating that the trigger condition 510 is satisfied. In response to receiving the application interaction indication 30, the method 600 includes, at operation 606, executing the action response 520, and at operation 608, converting the no-code environment GUI view 500 to the chat application GUI view 410. At operation 610, the method 600 includes transmitting the chat application GUI view 410 to the user device 10. The chat application GUI view 410 is configured to cause the user device 10 to display the chat application GUI view 410 within the chat application environment front end 204.

[0055] Figure 7 is a schematic diagram of an example computing device 700 that can be used to implement the systems and methods described in this document. Computing device 700 is intended to represent various forms of digital computers, such as laptops, desktops, workstations, personal digital assistants, servers, blade servers, mainframes, and other appropriate computers. The components shown here, their connections and relationships, and their functions are intended to be exemplary only and are not intended to limit implementations of the inventions described and / or claimed in this document.

[0056] The computing device 700 includes a processor 710, a memory 720, a storage device 730, a high-speed interface / controller 740 connected to the memory 720 and a high-speed expansion port 750, and a low-speed interface / controller 760 connected to a low-speed bus 770 and the storage device 730. Each of the components 710, 720, 730, 740, 750, and 760 is interconnected using various buses and can be installed on a common motherboard or installed in other ways as appropriate. The processor 710 can process instructions for execution within the computing device 700, including instructions stored in the memory 720 or on the storage device 730, to display graphical information of a graphical user interface (GUI) on an external input / output device (such as a display 780 coupled to the high-speed interface 740). In other implementations, multiple processors and / or multiple buses and multiple memories and multiple types of memories can be used as appropriate. In addition, multiple computing devices 700 can be connected (for example, as a server bank, a blade server group, or a multi-processor system), where each device provides part of the necessary operations.

[0057] The memory 720 stores information non-temporarily within the computing device 700. The memory 720 may be a computer-readable medium, a volatile memory unit, or a non-volatile memory unit. The non-temporary memory 720 may be a physical device for storing programs (e.g., instruction sequences) or data (e.g., program state information) on a temporary or permanent basis for use by the computing device 700. Examples of non-volatile memory include, but are not limited to, flash memory and read-only memory (ROM) / programmable read-only memory (PROM) / erasable programmable read-only memory (EPROM) / electrically erasable programmable read-only memory (EEPROM) (e.g., typically used for firmware, such as bootloaders). Examples of volatile memory include, but are not limited to, random access memory (RAM), dynamic random access memory (DRAM), static random access memory (SRAM), phase change memory (PCM), and disk or tape.

[0058] The storage device 730 is capable of providing mass storage for the computing device 700. In some implementations, the storage device 730 is a computer-readable medium. In various implementations, the storage device 730 may be a floppy disk device, a hard disk device, an optical disk device, or a tape device, a flash memory or other similar solid-state memory device, or an array of devices (including devices in a storage area network or other configuration). In additional implementations, a computer program product is tangibly embodied in an information carrier. The computer program product includes instructions that, when executed, perform one or more methods, such as those described above. The information carrier is a computer-readable medium or a machine-readable medium, such as the memory 720, the storage device 730, or a memory on the processor 710.

[0059] The high-speed controller 740 manages bandwidth-intensive operations of the computing device 700, while the low-speed controller 760 manages less bandwidth-intensive operations. This division of responsibilities is exemplary only. In some implementations, the high-speed controller 740 is coupled to the memory 720, the display 780 (e.g., through a graphics processor or accelerator), and the high-speed expansion port 750 that can accept various expansion cards (not shown). In some implementations, the low-speed controller 760 is coupled to the storage device 730 and the low-speed expansion port 790. The low-speed expansion port 790, which may include various communication ports (e.g., USB, Bluetooth, Ethernet, wireless Ethernet), can be coupled to one or more input / output devices, such as a keyboard, a pointing device, a scanner; or to a networking device, such as a switch or a router, for example, through a network adapter.

[0060] As shown, computing device 700 can be implemented in a variety of different forms. For example, the computing device can be implemented as a standard server 700a or multiple implementations in a group of such servers 700a, as a laptop computer 700b, or as part of a rack server system 700c.

[0061] Various implementations of the systems and techniques described herein can be implemented in digital electronic and / or optical circuit systems, integrated circuit systems, specially designed ASICs (application specific integrated circuits), computer hardware, firmware, software, and / or combinations thereof. These various implementations may include implementations in one or more computer programs that can be executed and / or interpreted on a programmable system that includes at least one programmable processor that can be either special purpose or general purpose and can be coupled to receive data and instructions from and transmit data and instructions to a storage system, at least one input device, and at least one output device.

[0062] A software application (i.e., software resource) may refer to computer software that enables a computing device to perform tasks. In some examples, a software application may be referred to as an "application," "app," or "program." Example applications include, but are not limited to, system diagnostic applications, system management applications, system maintenance applications, word processing applications, spreadsheet applications, messaging applications, media streaming applications, social networking applications, and gaming applications.

[0063] These computer programs (also referred to as programs, software, software applications, or code) include machine instructions for a programmable processor and may be implemented in high-level procedural and / or object-oriented programming languages ​​and / or in assembly / machine languages. As used herein, the terms "machine-readable medium" and "computer-readable medium" refer to any computer program product, non-transitory computer-readable medium, apparatus, and / or device (e.g., disk, optical disk, memory, programmable logic device (PLD)) for providing machine instructions and / or data to a programmable processor, including a machine-readable medium that receives machine instructions as a machine-readable signal. The term "machine-readable signal" refers to any signal for providing machine instructions and / or data to a programmable processor.

[0064] The processes and logic flows described in this specification can be performed by one or more programmable processors (also referred to as data processing hardware), which execute one or more computer programs to perform functions by operating on input data and generating outputs. The processes and logic flows can also be performed by a dedicated logic circuit system, such as an FPGA (field programmable gate array) or an ASIC (application-specific integrated circuit). For example, processors suitable for executing computer programs include both general-purpose microprocessors and special-purpose microprocessors, and any one or more processors of any type of digital computer. Typically, the processor will receive instructions and data from a read-only memory or a random access memory or both. The basic elements of a computer are a processor for executing instructions and one or more memory devices for storing instructions and data. Typically, a computer will also include one or more mass storage devices for storing data, such as a magnetic disk, a magneto-optical disk, or an optical disk, or be operably coupled to receive data from one or more mass storage devices or transfer data to one or more mass storage devices or both. However, a computer does not have to have such a device. Computer-readable media suitable for storing computer program instructions and data include all forms of nonvolatile memory, media, and memory devices, including, for example, semiconductor memory devices (e.g., EPROM, EEPROM, and flash memory devices), magnetic disks (e.g., internal hard disks or removable disks), magneto-optical disks, and CD ROM and DVD-ROM disks. The processor and memory may be supplemented by, or incorporated in, special purpose logic circuitry.

[0065] To provide interaction with a user, one or more aspects of the present disclosure may be implemented on a computer having a display device (e.g., a CRT (cathode ray tube), LCD (liquid crystal display) monitor, or touch screen) for displaying information to the user, and possibly a keyboard and pointing device (e.g., a mouse or trackball) by which the user can provide input to the computer. Other kinds of devices may also be used to provide interaction with the user; for example, the feedback provided to the user may be any form of sensory feedback, such as visual feedback, auditory feedback, or tactile feedback; and input from the user may be received in any form, including sound, speech, or tactile input. In addition, the computer may interact with the user by sending documents to and receiving documents from a device used by the user; for example, by sending a web page to a web browser on a user's client device in response to a request received from the web browser.

[0066] A variety of implementations have been described. However, it should be understood that various modifications may be made without departing from the spirit and scope of the present disclosure. Therefore, other implementations are within the scope of the following claims.

Claims

1. A computer-implemented method (600) performed by data processing hardware (144), characterized in that: The method causes the data processing hardware (144) to perform operations comprising: The author (12) generates a no-code application (190) using a no-code application development environment (172, 174), wherein the no-code application (190) includes: Trigger condition (510); an action response (520), the action response (520) defining an action in response to satisfying the trigger condition (510); and a codeless environment graphical user interface (GUI) view (500) based on the action response (520); Receiving a deployment request (24), the deployment request (24) requesting deployment of the codeless application (190) within a chat application environment (202, 204); After receiving the deployment request (24), receiving an interaction indication (30) indicating that the trigger condition (510) is satisfied; and In response to receiving the interaction indication (30): Executing the action response (520); converting the no-code environment GUI view (500) into a chat application GUI view (410); and The chat application GUI view (410) is transmitted to a user device (10), and the chat application GUI view (410) is configured to cause the user device (10) to display the chat application GUI view (410) within the chat application environment (202, 204).

2. The method (600) of claim 1, characterized in that: The chat application GUI view (410) includes a chat card (420).

3. The method (600) according to claim 1 or claim 2, characterized in that: The triggering condition (510) includes a user interaction with the chat application environment (202, 204).

4. The method (600) of claim 3, characterized in that: The user interaction includes slash commands, emoticons, or keywords.

5. The method (600) according to any one of claims 1 to 4, characterized in that: The triggering condition (510) includes a modification to a data repository (148).

6. The method (600) of claim 5, characterized in that: The modification to the data store (148) includes adding or updating a row of a table.

7. The method (600) according to any one of claims 1 to 5, characterized in that: The operations further include, after transmitting the chat application GUI view (410) to the user device (10): receiving, from the user device (10), a user interaction indication indicating a user interaction with the chat application environment (202, 204); and A data repository (148) is modified using the no-code application (190) based on the user interaction indication.

8. The method (600) according to any one of claims 1 to 7, characterized in that: The operations also include: determining that a user (12) of the user device (10) is authorized to access the codeless application (190), Wherein converting the no-code environment GUI view (500) to the chat application GUI view (410) is based on determining that the user (12) of the user device (10) is authorized to access the no-code application (190).

9. The method (600) according to any one of claims 1 to 8, characterized in that: The action response (520) includes a direct message (212) to a single user of the chat application environment (202, 204).

10. The method (600) according to any one of claims 1 to 9, characterized in that: The action response (520) includes a group message (212) to a plurality of users (12) of the chat application environment (202, 204).

11. A system (100), characterized in that: include: Data processing hardware (144); as well as Memory (146) hardware in communication with the data processing hardware (144), the memory (146) hardware storing instructions that, when executed on the data processing hardware (144), cause the data processing hardware (144) to perform operations, the operations comprising: The author (12) generates a no-code application (190) using a no-code application development environment (172, 174), wherein the no-code application (190) includes: Trigger condition (510); an action response (520), the action response (520) defining an action in response to satisfying the trigger condition (510); and a codeless environment graphical user interface (GUI) view (500) based on the action response (520); Receiving a deployment request (24), the deployment request (24) requesting deployment of the codeless application (190) within a chat application environment (202, 204); After receiving the deployment request (24), receiving an interaction indication (30) indicating that the trigger condition (510) is satisfied; and In response to receiving the interaction indication (30): Executing the action response (520); converting the no-code environment GUI view (500) into a chat application GUI view (410); and The chat application GUI view (410) is transmitted to a user device (10), and the chat application GUI view (410) is configured to cause the user device (10) to display the chat application GUI view (410) within the chat application environment (202, 204).

12. The system (100) according to claim 11, characterized in that The chat application GUI view (410) includes a chat card (420).

13. The system (100) of claim 11 or claim 12, characterized in that The triggering condition (510) includes a user interaction with the chat application environment (202, 204).

14. The system (100) according to claim 13, characterized in that The user interaction includes slash commands, emoticons, or keywords.

15. The system (100) according to any one of claims 11 to 14, characterized in that The triggering condition (510) includes a modification to a data repository (148).

16. The system (100) of claim 15, wherein: The modification to the data store (148) includes adding or updating a row of a table.

17. The system (100) according to any one of claims 11 to 16, characterized in that The operations further include, after transmitting the chat application GUI view (410) to the user device (10): receiving, from the user device (10), a user interaction indication indicating a user interaction with the chat application environment (202, 204); and A data repository (148) is modified using the no-code application (190) based on the user interaction indication.

18. The system (100) according to any one of claims 11 to 17, characterized in that The operations also include: determining that a user (12) of the user device (10) is authorized to access the codeless application (190), Wherein converting the no-code environment GUI view (500) to the chat application GUI view (410) is based on determining that the user (12) of the user device (10) is authorized to access the no-code application (190).

19. The system (100) according to any one of claims 11 to 18, characterized in that The action response (520) includes a direct message (212) to a single user of the chat application environment (202, 204).

20. The system (100) according to any one of claims 11 to 19, characterized in that The action response (520) includes a group message (212) to a plurality of users (12) of the chat application environment (202, 204).