# US 2020/0401430 A1 · Generation of bots based on observed behavior

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 2020/0401430 A1
- Document ID: US20200401430A1
- Status: Published application
- Kind: A1
- Application number: 16/447,033
- Filed: 2019-06-20
- Published: 2020-12-24
- Earliest claimed: 2019-06-20
- Assignees: Sap SE
- Applicants: Sap SE
- Inventors: Gregor Berg; Andre Niklas Wenz; Bernhard Hoeppner; Thomas Bodner; Olga Cherepanova; Lasse Steffen; Jan Siebert; David Hennemann; Pascal Schulze; Konstantin Dobler; Kris-Fillip Kahl; Paul Udo Beneke; Philipp Bernhard Hoberg
- Web page: https://patentgrep.com/patent/US20200401430A1

## CPC

- G06F 9/451: Execution arrangements for user interfaces
- G06F 3/0482: Interaction with lists of selectable items, e.g. menus
- G06F 9/45512: {Command shells}
- G06V 30/153: {using recognition of characters or words}
- G06V 30/10: Character recognition
- H04L 51/046: Interoperability with other network applications or services
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- G06V: IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

An application server provides an application to client devices. Users of the client devices interact with the application to perform a business process. Data regarding user interactions with the application is transmitted from the client devices to the application server. Based on an analysis of the received data, a bot generation server generates a bot to automate a process step. The bot generation server provides a heatmap user interface (UI) that provides information regarding the process steps. Using the heatmap UI, the administrator selects a process step for automation. In response to the selection, the bot generation server identifies, based on the observed behavior, relationships between input fields, typical values for input fields, typical order of data entry into input fields, or any suitable combination thereof. Based on the identified patterns, the bot generation server generates a bot to automate some or all of the process step.

## Claims

### Claim 1

A method comprising:
receiving, from a set of client devices and via a network, a data set, each element of the data set comprising:
a process instance identifier and a business object type for a process instance comprising a plurality of tasks;
a duration of time to perform at least a first subset of the plurality of tasks by a user; and
a clickstream identifying fields modified by the user;
based on the received process instance identifiers, durations of time, and clickstreams, causing a user interface to be presented that comprises:
an element corresponding to each task of at least a second subset of the plurality of tasks, each element comprising a visual indicator that provides information regarding the corresponding task:
receiving, via the user interface, a selection of a task of the plurality of tasks for automation; and
based on a subset of the data set that comprises data for the selected task, generating a bot to automatically perform the selected task.

### Claim 2 (depends on 1)

The method of claim 1, further comprising:
running the bot; and
receiving, by the bot, interactive user input to modify the default value.

### Claim 3 (depends on 1)

The method of claim 1, further comprising:
running the bot; and
accessing, by the bot, data from a data file to modify the default value.

### Claim 4 (depends on 3)

The method of claim 3, wherein the accessing of the data from the data file comprises processing a known field location in the data file using optical character recognition (OCR).

### Claim 5 (depends on 1)

The method of claim 1, wherein:
the generating of the bot comprises determining a default value for a parameter of the bot; and
further comprising:
accessing, by the bot, data to modify the default value of the parameter; and
validating the modified value of the parameter using parameter validation code for the parameter based on the data set.

### Claim 6 (depends on 1)

The method of claim 1, wherein the generating of the bot comprises determining a relationship between two fields of a user interface of a task.

### Claim 7 (depends on 6)

The method of claim 6, wherein the determining of the relationship between the two fields comprises determining that the two fields have the same value.

### Claim 8 (depends on 1)

The method of claim 1, further comprising:
determining a probability that a first field of a user interface of the selected task has a value that is a sum of two other fields of the user interface of the selected task; and
based on the probability and a threshold, configuring the bot to set the value of the first field to the sum of the two other fields.

### Claim 9 (depends on 1)

The method of claim 1, wherein the clickstream comprises a number of mouse clicks.

### Claim 10 (depends on 1)

The method of claim 1, wherein;
the visual indicator of each element is further based on an average number of pastes of information in clickstreams for the corresponding task.

### Claim 11 (depends on 1)

The method of claim 1, further comprising:
providing, to a client device, instructions that, when executed by one or more processors of the client device, cause the client device to perform operations comprising:
displaying a second user interface for performing the selected task; and
automatically interacting with the second user interface by executing the bot.

### Claim 12

A system comprising:
a memory that stores instructions; and
one or more processors configured by the instructions to perform operations comprising:
receiving, from a set of client devices and via a network, a data set, each element of the data set comprising:
a process instance identifier and a business object type for a process instance comprising a plurality of tasks;
a duration of time to perform at least a subset of the plurality of tasks by a user; and
a clickstream identifying fields modified by the user;
based on the received process instance identifiers, durations of time, and clickstreams, causing a user interface to be presented that comprises:
an element corresponding to each task of at least a second subset of the plurality of tasks, each element comprising a visual indicator that provides information regarding the corresponding task;
receiving, via the user interface, a selection of a task of the plurality of tasks for automation;
based on a subset of the data set that comprises data for the selected task, generating a bot to automatically perform the selected task; and
providing, to a client device of the set of client devices and via the network, the bot.

### Claim 13 (depends on 12)

The system of claim 12, wherein:
the system further comprises the client device; and
the client device is configured to perform operations comprising:
running the bot; and
receiving, by the bot, interactive user input to modify the default value.

### Claim 14 (depends on 12)

The system of claim 12, wherein:
the system further comprises the client device; and
the client device is configured to perform operations comprising:
running the bot; and
accessing, by the bot, data from a data file to modify the default value.

### Claim 15 (depends on 14)

The system of claim 14, wherein the accessing of the data from the data file comprises processing a known field location in the data file using optical character recognition (OCR).

### Claim 16 (depends on 12)

The system of claim 12, wherein;
the generating of the bot comprises determining a default value for a parameter of the bot; and
the operations further comprise:
accessing, by the bot, data to modify the default value of the parameter; and
validating the modified value of the parameter using parameter validation code for the parameter based on the data set.

### Claim 17 (depends on 12)

The system of claim 12, wherein the generating of the bot comprises determining a relationship between two fields of a user interface of the selected task.

### Claim 18

(canceled)

### Claim 19

(canceled)

### Claim 20

A non-transitory computer-readable medium that stores instructions that, when executed by one or more processors, cause the one or more processors to perform operations comprising:
receiving, from a set of client devices and via a network, a data set, each element of the data set comprising:
a process instance identifier and a business object type for a process instance comprising a plurality of tasks;
a duration of time to perform at least a subset of the plurality of tasks by a user; and
a clickstream identifying fields modified by the user;
based on the received process instance identifiers, durations of time, and clickstreams, causing a user interface to be presented that comprises:
an element corresponding to each task of at least a second subset of the plurality of tasks, each element comprising a visual indicator that provides information regarding the corresponding task;
receiving, via the user interface, a selection of a task of the plurality of tasks for automation;
based on a subset of the data set that comprises data for the selected task, generating a bot to automatically perform the selected task; and
providing, to a client device of the set of client devices and via the network, the bot.

### Claim 21 (depends on 1)

The method of claim 1, wherein:
the visual indicator of each element indicates a likelihood that the corresponding task would benefit from automation.

### Claim 22 (depends on 21)

The method of claim 21, further comprising:
determining, for each task of the first subset of tasks, the likelihood that the task benefits from automation based on a degree of repetition of the task.
