# US 12,217,104 B2 · System and method for managing user interaction flows within third party applications

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

- Number: US 12,217,104 B2
- Document ID: US12217104B2
- Status: Granted
- Kind: B2
- Application number: 18/342,988
- Filed: 2023-06-28
- Published: 2023-10-26
- Granted: 2025-02-04
- Earliest claimed: 2020-08-18
- Assignees: Plaid Inc.
- Applicants: Plaid Inc.
- Inventors: William Fredrick Kiefer; Michael Brian Jacokes; Jan Maksymilian Dudek; Nathan James Tindall
- Web page: https://patentgrep.com/patent/US12217104B2

## CPC

- G06F 9/5038: {considering the execution order of a plurality of tasks, e.g. taking priority or time dependency constraints into consideration (scheduling strategies G06F9/4881 and subgroups)}
- G06F 9/541: {via adapters, e.g. between incompatible applications}
- G06F 9/4881: {Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues}
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

A system and method for cloud management of user interactions on a client device comprising: initiating, in response to an initiation request of a client application, processing of a workflow configuration with an initial session state, wherein the workflow is a data model of a graph of nodes connected with directed edges, where the nodes include a set of node types that includes at least a pane node; iteratively processing the workflow configuration, initially using the initial session state, and thereby generating rendered panes for use in a user interaction flow of a client application, which comprises: following a next edge of the workflow configuration to determine a next workflow node, processing the next workflow node, which comprises, when the next workflow node is a pane node, rendering the pane node into a rendered pane, and sending the rendered panes to the client device.

## Claims

### Claim 1

A method, comprising:
transmitting, by a device, an initiation request to a first application programming interface (API) universal resource identifier (URI) endpoint of a workflow service,
wherein a workflow associated with the initiation request is a graph model of a workflow interaction that includes a pane node of a plurality of nodes that are connected;
generating, by the device and based on processing a workflow configuration, a plurality of rendered panes,
wherein the pane node is configured to take input data to generate a rendered pane, of the plurality of rendered panes, that specifies parameters for a user interface, and
wherein processing the workflow configuration comprises:
following a next edge of the workflow configuration to determine a next workflow node, and
rendering the next workflow node into the rendered pane when a type of the next workflow node is a pane node type,
wherein rendering the next workflow node into the rendered pane when the type of the next workflow node is the pane node type comprises rendering a set of pane nodes, that includes the next workflow node and one or more neighboring pane nodes, into a set of rendered panes;
displaying, by the device, the plurality of rendered panes;
determining, by the device and based on evaluating pane transitions, that a workflow update is required,
wherein evaluating pane transitions comprises determining whether an existing rendered pane of the set of rendered panes can be used to update a current pane of the workflow; and
transmitting, by the device, an update request to a second API URI endpoint of the workflow service.

### Claim 2 (depends on 1)

The method of claim 1, wherein rendering the next workflow node into the rendered pane when the type of the next workflow node is the pane node type comprises:
rendering an inbound input of the next workflow node; and
generating the rendered pane based on a session state.

### Claim 3 (depends on 1)

The method of claim 1, wherein a version of the workflow configuration is selected from a set of different versions of the workflow configuration.

### Claim 4 (depends on 1)

The method of claim 1, wherein the plurality of nodes are connected by one or more directed edges that define possible paths for navigating the graph model during the workflow interaction.

### Claim 5 (depends on 1)

The method of claim 1, wherein the graph model includes a starting edge associated with the workflow.

### Claim 6 (depends on 1)

The method of claim 1, further comprising:
transmitting at least one of an acknowledgement or an exit command.

### Claim 7 (depends on 1)

The method of claim 1, wherein a type of node of the plurality of nodes includes at least one of:
the pane node type,
a processor node type, or
a switch node type.

### Claim 8

A device, comprising:
one or more memories; and
one or more processors, coupled to the one or more memories, configured to:
transmit an initiation request to a first application programming interface (API) universal resource identifier (URI) endpoint of a workflow service,
wherein a workflow associated with the initiation request is a model of a workflow interaction that includes a pane node of a plurality of nodes that are connected;
generate, based on processing a workflow configuration, a plurality of rendered panes,
wherein the pane node is configured to take input data to generate a rendered pane, of the plurality of rendered panes, that specifies parameters for a user interface, and
wherein the one or more processors, to process the workflow configuration, are configured to:
follow a next edge of the workflow configuration to determine a next workflow node, and
render the next workflow node into the rendered pane when a type of the next workflow node is a pane node type,
wherein rendering the next workflow node into the rendered pane when the type of the next workflow node is the pane node type, are configured to render a set of pane nodes, that includes the next workflow node and one or more neighboring pane nodes, into a set of rendered panes;
display the plurality of rendered panes;
determine, based on evaluating pane transitions, that a workflow update is required,
wherein evaluating the pane transitions comprises determining whether an existing rendered pane of the set of rendered panes can be used to update a current pane of the workflow; and
transmit an update request to a second API URI endpoint of the workflow service.

### Claim 9 (depends on 8)

The device of claim 8, wherein the one or more processors, to render the next workflow node into the rendered pane when the type of the next workflow node is the pane node type, are configured to:
render an inbound input of the next workflow node; and
generate the rendered pane based on a session state.

### Claim 10 (depends on 8)

The device of claim 8, wherein a version of the workflow configuration is selected from a set of different versions of the workflow configuration.

### Claim 11 (depends on 8)

The device of claim 8, wherein the plurality of nodes are connected by one or more directed edges that define possible paths for navigating the model during the workflow interaction.

### Claim 12 (depends on 8)

The device of claim 8, wherein the model includes a starting edge associated with the workflow.

### Claim 13 (depends on 8)

The device of claim 8, wherein a type of node of the plurality of nodes includes at least one of:
the pane node type,
a processor node type, or
a switch node type.

### Claim 14 (depends on 8)

The device of claim 8, wherein the one or more processors are configured to:
transmit at least one of an acknowledgement or an exit command.

### Claim 15

A non-transitory computer-readable medium storing a set of instructions, the set of instructions comprising:
one or more instructions that, when executed by one or more processors of a device, cause the device to:
transmit an initiation request to a first application programming interface (API) universal resource identifier (URI) endpoint of a workflow service,
wherein a workflow associated with the initiation request is a model of a workflow interaction that includes a pane node of a plurality of nodes that are connected;
generate, based on processing a workflow configuration, a plurality of rendered panes,
wherein the pane node is configured to take input data to generate a rendered pane, of the plurality of rendered panes, that specifies parameters for a user interface, and
wherein the one or more instructions, that cause the device to process the workflow configuration, cause the device to:
follow a next edge of the workflow configuration to determine a next workflow node, and
render the next workflow node into the rendered pane when a type of the next workflow node is a pane node type,
wherein rendering the next workflow node into the rendered pane when the type of the next workflow node is the pane node type comprises rendering a set of pane nodes, that includes the next workflow node and one or more neighboring pane nodes, into a set of rendered panes;
display the rendered panes;
determine, based on evaluating pane transitions, that a workflow update is required,
wherein evaluating pane transitions comprises determining whether an existing rendered pane of the set of rendered panes can be used to update a current pane of the workflow; and
transmit an update request to a second API URI endpoint of the workflow service.

### Claim 16 (depends on 15)

The non-transitory computer-readable medium of claim 15, wherein the one or more instructions, that cause the device to render the next workflow node into the rendered pane when the type of the next workflow node is the pane node type, cause the device to:
render an inbound input of the next workflow node; and
generate the rendered pane based on a session state.

### Claim 17 (depends on 15)

The non-transitory computer-readable medium of claim 15, wherein a version of the workflow configuration is selected from a set of different versions of the workflow configuration.

### Claim 18 (depends on 15)

The non-transitory computer-readable medium of claim 15, wherein the plurality of nodes are connected by one or more directed edges that define possible paths for navigating the model during the workflow interaction.

### Claim 19 (depends on 15)

The non-transitory computer-readable medium of claim 15, wherein the model includes a starting edge associated with the workflow.

### Claim 20 (depends on 15)

The non-transitory computer-readable medium of claim 15, wherein the one or more instructions cause the device to:
transmit at least one of an acknowledgement or an exit command.
