# US 2025/0156784 A1 · Customizable state-machine-based event processing

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

- Number: US 2025/0156784 A1
- Document ID: US20250156784A1
- Status: Published application
- Kind: A1
- Application number: 18/506,785
- Filed: 2023-11-10
- Published: 2025-05-15
- Earliest claimed: 2023-11-10
- Assignees: Stripe, Inc.
- Applicants: Stripe, Inc.
- Inventors: Alexander THIEMANN; Calvin GRUNEWALD; Jason HORMAN; Dmitry ALEXEENKO
- Web page: https://patentgrep.com/patent/US20250156784A1

## CPC

- G06Q 10/0633: Workflow analysis
- G06Q: INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR

## Abstract

Aspects of the subject technology include receiving a request to generate an event-based workflow associated with a first event type, which includes a state machine that includes at least a state and an associated transition and receiving an event including a second event type and an event attribute. Aspects also include determining whether the event attribute satisfies the triggering condition of the transition associated with the state, in response to determining that the second event type corresponds to the first event type, and when a current state of the event-based workflow corresponds to the state. Aspects also include performing the transition action of the transition and updating the current state based at least in part on the performed transition action, in response to determining that the event attribute satisfies the triggering condition of the transition associated with the state.

## Claims

### Claim 1

A method comprising:
receiving a request to generate an event-based workflow associated with a first event type, wherein the event-based workflow comprises a state machine that includes at least a state and an associated transition, the transition comprising a triggering condition and a transition action;
generating and storing the event-based workflow comprising the state machine based at least in part on the request;
receiving an event including a second event type and an event attribute;
in response to determining that the second event type of the event corresponds to the first event type of the event-based workflow, and when a current state of the event-based workflow corresponds to the state, determining whether the event attribute satisfies the triggering condition of the transition associated with the state; and
in response to determining that the event attribute satisfies the triggering condition of the transition associated with the state, performing the transition action of the transition and updating the current state of the event-based workflow based at least in part on the performed transition action.

### Claim 2 (depends on 1)

The method of claim 1, further comprising:
receiving a second request to generate and add a new transition to the state machine, wherein the new transition is associated with a second state of the state machine; and
generating and adding the new transition to the state machine based at least in part on the second request.

### Claim 3 (depends on 1)

The method of claim 1, further comprising:
receiving a second request to modify the transition; and
modifying the transition based at least in part on the second request.

### Claim 4 (depends on 1)

The method of claim 1, further comprising:
receiving a second request to generate and add a new state to the state machine; and
generating and adding the new state to the state machine based at least in part on the second request.

### Claim 5 (depends on 1)

The method of claim 1, further comprising:
receiving a second request to modify the state of the state machine; and
modifying the state of the state machine based at least in part on the second request.

### Claim 6 (depends on 1)

The method of claim 1, wherein the transition action comprises generating a second event and transmitting the second event to a remote device.

### Claim 7 (depends on 1)

The method of claim 1, wherein the transition action comprises transmitting at least part of the event to a remote device for processing the at least part of the event.

### Claim 8 (depends on 1)

The method of claim 1, wherein the transition action comprises:
transmitting a second request to a remote device based on the event; and
receiving a second event from the remote device.

### Claim 9 (depends on 1)

The method of claim 1, wherein the triggering condition comprises a custom conditional expression input by a user via a user interface.

### Claim 10

An electronic device comprising:
a memory; and
a processor configured to:
receive a request to generate an event-based workflow associated with a first event type, wherein the event-based workflow comprises a state machine that includes at least a state and an associated transition, the transition comprising a triggering condition and a transition action;
generate and store the event-based workflow comprising the state machine based at least in part on the request;
receive an event including a second event type and an event attribute;
in response to determining that the second event type of the event corresponds to the first event type of the event-based workflow, and when a current state of the event-based workflow corresponds to the state, determine whether the event attribute satisfies the triggering condition of the transition associated with the state; and
in response to determining that the event attribute satisfies the triggering condition of the transition associated with the state, perform the transition action of the transition and update the current state of the event-based workflow based at least in part on the performed transition action.

### Claim 11 (depends on 10)

The electronic device of claim 10, wherein the processor is further configured to:
receive a second request to generate and add a new transition to the state machine, wherein the new transition is associated with a second state of the state machine; and
generate and add the new transition to the state machine based at least in part on the second request.

### Claim 12 (depends on 10)

The electronic device of claim 10, wherein the processor is further configured to:
receive a second request to modify the transition; and
modify the transition based at least in part on the second request.

### Claim 13 (depends on 10)

The electronic device of claim 10, wherein the processor is further configured to:
receive a second request to generate and add a new state to the state machine; and
generate and add the new state to the state machine based at least in part on the second request.

### Claim 14 (depends on 10)

The electronic device of claim 10, wherein the processor is further configured to:
receive a second request to modify the state of the state machine; and
modify the state of the state machine based at least in part on the second request.

### Claim 15 (depends on 10)

The electronic device of claim 10, wherein the triggering condition comprises a custom conditional expression input by a user via a user interface.

### Claim 16

A non-transitory computer-readable medium comprising:
computer-readable instructions that, when executed by a processor, cause the processor to perform one or more operations comprising:
receiving a request to generate an event-based workflow associated with a first event type, wherein the event-based workflow comprises a state machine that includes at least a state and an associated transition, the transition comprising a triggering condition and a transition action;
generating and storing the event-based workflow comprising the state machine based at least in part on the request;
receiving an event including a second event type and an event attribute;
in response to determining that the second event type of the event corresponds to the first event type of the event-based workflow, and when a current state of the event-based workflow corresponds to the state, determining whether the event attribute satisfies the triggering condition of the transition associated with the state; and
in response to determining that the event attribute satisfies the triggering condition of the transition associated with the state, performing the transition action of the transition and updating the current state of the event-based workflow based at least in part on the performed transition action.

### Claim 17 (depends on 16)

The non-transitory computer-readable medium of claim 16, further comprising:
receiving a second request to generate and add a new transition to the state machine, wherein the new transition is associated with a second state of the state machine; and
generating and adding the new transition to the state machine based at least in part on the second request.

### Claim 18 (depends on 16)

The non-transitory computer-readable medium of claim 16, further comprising:
receiving a second request to modify the transition; and
modifying the transition based at least in part on the second request.

### Claim 19 (depends on 16)

The non-transitory computer-readable medium of claim 16, further comprising:
receiving a second request to generate and add a new state to the state machine; and
generating and adding the new state to the state machine based at least in part on the second request.

### Claim 20 (depends on 16)

The non-transitory computer-readable medium of claim 16, wherein the triggering condition comprises a custom conditional expression input by a user via a user interface.
