# US 2025/0165631 A1 · Cross-domain triggers for executing data operations across data domains

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

- Number: US 2025/0165631 A1
- Document ID: US20250165631A1
- Status: Published application
- Kind: A1
- Application number: 18/512,905
- Filed: 2023-11-17
- Published: 2025-05-22
- Earliest claimed: 2023-11-17
- Assignees: Zendesk, Inc.
- Applicants: Zendesk, Inc.
- Inventors: Sanjeev Kumar Biswas; Jakub Konik; Prakruti Hindia
- Web page: https://patentgrep.com/patent/US20250165631A1

## CPC

- G06F 21/6218: {to a system of files or objects, e.g. local or distributed file system or database}
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

A system and methods are provided for executing data operations across data domain boundaries without sharing a domain's data outside of the domain. A coordinator computer, module, or mechanism receives a trigger (or other automated process) and logically divides it into multiple fragments, each fragment corresponding to one domain and comprising data operations that require access to the corresponding domain's data. When the trigger is activated, the coordinator calls or invokes trigger engines within each domain to execute, in order, each fragments' data operations and receive an indication as to whether they completed successfully. A following fragment and its data operations may not be invoked unless and until the preceding fragments operations succeeded. If all fragments' data operations along a path from a root of the trigger to an end of the trigger complete successfully, one or more associated actions are executed.

## Claims

### Claim 1

A method of executing data operations across multiple domains, the method comprising:
obtaining a trigger comprising ordered data operations involving data residing in multiple domains;
defining multiple fragments within the trigger, wherein each fragment corresponds to one domain and comprises data operations involving data residing in the corresponding domain;
for each of one or more paths through the trigger, executing each fragment's data operations, in order, until:
at least one data operation of at least one fragment fails; or
all data operations of all fragments in at least one path succeed; and
when all data operations of all fragments in at least one path succeed, executing one or more actions associated with the trigger.

### Claim 2 (depends on 1)

The method of claim 1, wherein the trigger comprises:
a root node that specifies an event that activates the trigger; and
an end node that specifies the one or more actions.

### Claim 3 (depends on 1)

The method of claim 1, wherein each path comprises the root node, the end node, and one or more data operations of one or more of the multiple fragments.

### Claim 4 (depends on 1)

The method of claim 1, wherein:
each data operation includes an expression comprising:
a parameter;
a set of target values; and
an operator specifying a relationship between a current value of the parameter and the set of target values; and
execution of the data operation is successful when the relationship is true.

### Claim 5 (depends on 1)

The method of claim 1, wherein said defining comprises:
for each data operation of the trigger, identifying a domain in which data required for the data operation resides; and
for each domain in which data required for at least one data operation of the trigger resides, grouping into a corresponding fragment all data operations of the trigger that involve data residing in the domain.

### Claim 6 (depends on 1)

The method of claim 1, further comprising:
distributing the multiple fragments to their corresponding domains.

### Claim 7 (depends on 1)

The method of claim 1, wherein the data operations of the trigger are coupled via Boolean operators and the method further comprises:
when the trigger includes at least one OR operator, decomposing the trigger into a plurality of paths.

### Claim 8 (depends on 7)

The method of claim 7, further comprising, when different data operations of a first fragment are included in different paths of the trigger, defining subfragments of the first fragment to comprise, for each different path, the data operations of the first fragment included in the path.

### Claim 9 (depends on 1)

The method of claim 1, wherein executing each fragment's data operations comprises:
calling a trigger engine operating in the corresponding domain with an identifier of the fragment; and
receiving a response indicating whether the data operations completed successfully.

### Claim 10 (depends on 1)

The method of claim 1, wherein obtaining the trigger comprises:
identifying a user initiating creation of a new trigger;
determining the user's data access permissions;
presenting the user with an interface for creating the new trigger, wherein all users that initiate creation of new triggers receive the same interface, customized according to each user's access permissions; and
receiving the new trigger as the trigger.

### Claim 11 (depends on 1)

The method of claim 1, further comprising:
within each of the multiple domains, hosting a different set of services;
wherein the data residing in each domain comprises data associated with operation of the domain's set of services.

### Claim 12

A system for executing data operations across multiple domains, comprising:
multiple logically distinct domains;
a coordinator computer system comprising one or more processors and memory storing instructions that, when executed by the one or more processors, cause the coordinator computer system to:
obtain a trigger comprising ordered data operations involving data residing in the multiple domains;
define multiple fragments within the trigger, wherein each fragment corresponds to one domain and comprises data operations involving data 10 residing in the corresponding domain;
for each of one or more paths through the trigger, execute each fragment's data operations, in order, until:
at least one data operation of at least one fragment fails; or
all data operations of all fragments in at least one path succeed; and
when all data operations of all fragments in at least one path succeed, execute one or more actions associated with the trigger.

### Claim 13 (depends on 12)

The system of claim 12, further comprising:
a configurator computer system for facilitating creation of triggers;
wherein obtaining the trigger includes receiving the trigger from the configurator computer system.

### Claim 14 (depends on 12)

The system of claim 12, further comprising:
a configurator computer system for facilitating creation of triggers and comprising at least one processor and memory storing instructions that, when executed by the at least one processor, cause the configurator computer system to:
identify to the coordinator computer system a user initiating creation of a new trigger;
receive from the coordinator computer system the user's data access permissions;
present the user with an interface for creating the new trigger, customized according to the user's access permissions; and
transmit the new trigger to the coordinator computer system;
wherein the new trigger is the trigger.

### Claim 15 (depends on 12)

The system of claim 12, further comprising:
within each of the multiple domains, a unique set of services accessed by users;
wherein data residing in each of the multiple domains includes data associated with the domain's unique set of services.

### Claim 16 (depends on 12)

The system of claim 12, wherein the trigger comprises:
a root node that specifies an event that activates the trigger; and
an end node that specifies the one or more actions.

### Claim 17 (depends on 16)

The system of claim 16, wherein each path comprises the root node, the end node, and one or more data operations of one or more of the multiple fragments.

### Claim 18 (depends on 12)

The system of claim 12, wherein:
each data operation includes an expression comprising:
a parameter;
a set of target values; and
an operator specifying a relationship between a current value of the parameter and the set of target values; and
execution of the data operation is successful when the relationship is true.

### Claim 19 (depends on 12)

The system of claim 12, wherein said defining comprises:
for each data operation of the trigger, identifying a domain in which data required for the data operation resides; and
for each domain in which data required for at least one data operation of the trigger resides, grouping into a corresponding fragment all data operations of the trigger that involve data residing in the domain.

### Claim 20 (depends on 12)

The system of claim 12, further comprising:
distributing the multiple fragments to their corresponding domains.

### Claim 21 (depends on 12)

The system of claim 12, wherein the data operations of the trigger are coupled via Boolean operators and the method further comprises:
when the trigger includes at least one OR operator, decomposing the trigger into a plurality of paths.

### Claim 22 (depends on 21)

The system of claim 21, further comprising, when different data operations of a first fragment are included in different paths of the trigger, defining subfragments of the first fragment to comprise, for each different path, the data operations of the first fragment included in the path.

### Claim 23 (depends on 12)

The system of claim 12, further comprising:
within each domain, a trigger engine for executing data operations;
wherein executing each fragment's data operations comprises:
calling a trigger engine operating in the corresponding domain with an identifier of the fragment; and
receiving a response indicating whether the data operations completed successfully.
