IP Library Granted Patent US 12670181
Granted Patent B2
US 12670181 · App. 18/963,094 · Granted Jun 30, 2026

Automatic data retrieval and synchronization based on crawling and indexing private API data

Inventors: Ankit Gordhandas (San Francisco, CA); Bryan Helmig (San Francisco, CA); Matthew Plachter (San Francisco, CA); Reid Robinson (San Francisco, CA); Ryan Dunnewold (San Francisco, CA); Simon Charette (San Francisco, CA); Sinchan Banerjee (San Francisco, CA); Sean Pitstick (San Francisco, CA); Tal Peretz (San Francisco, CA); Taylor Halliday (San Francisco, CA); Vitor Balocco (San Francisco, CA); Benjamin Kempe (San Francisco, CA)
Assignee: Zapier, Inc.
G06F16/27G06F16/951
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12670181
App. No.
18/963,094
Granted
Jun 30, 2026
Kind
B2
Abstract

A method and system for automatic data retrieval and synchronization is disclosed. In some embodiments, the method includes receiving a selection of an application from a plurality of connected applications. The method also includes determining, using one or more trained artificial intelligence (AI) models, an action to be performed on the selected application, retrieving data used to perform the action from the selected application, including automatically fetching new data updates of the selected application, and performing the action to generate a result based on the retrieved data. The method further includes automatically transferring the new data and the result to remaining applications of the plurality of connected applications for synchronization.

Claims (43)

1 . A method for automatic data retrieval and synchronization comprising:

receiving a selection of an application from a plurality of connected applications;

determining, using one or more trained artificial intelligence (AI) models, an action to be performed on the selected application;

retrieving data used to perform the action from the selected application by crawling and indexing the data using at least one authenticated private application programming interface (API) of the selected application, wherein retrieving the data includes automatically fetching new data updates of the selected application;

performing the action to generate a result based on the retrieved data; and

automatically transferring the new data updates and the result to remaining applications of the plurality of connected applications for synchronization.

2 . The method of claim 1 , wherein the data is retrieved from the selected application using embeddings and one or more vector indices.

3 . The method of claim 1 , further comprising bulk-transferring a large amount of data among the plurality of connected applications at one time or on a regular basis.

4 . The method of claim 3 , further comprising, prior to the new data updated on the selected application, populating the application with existing information using the bulk transfer.

5 . The method of claim 1 , further comprising:

creating one or more automation flows to establish data connections between the plurality of connected applications,

wherein the data is retrieved from the selected application based on the data connections between the plurality of connected applications.

6 . The method of claim 5 , further comprising performing a semantic search on data received from the plurality of connected applications through the data connections.

7 . The method of claim 5 , wherein creating the one or more automation flows further comprises:

generating one or more user interfaces to provide instructions and receive user input for configuring one or more trigger events and one or more subsequent actions performed upon receiving the one or more trigger events.

8 . The method of claim 5 , wherein the one or more automation flows are created using one or more AI models, wherein the one or more AI models are trained to provide parameters or input required for creating the one or more automation flows to reduce manual operations.

9 . The method of claim 1 , further comprising training the one or more AI models through natural language processing and machine learning to determine the action to be performed.

10 . The method of claim 1 , wherein the action is included in a natural language instruction, and the result is a natural language answer generated from performing the action.

11 . A system for automatic data retrieval and synchronization comprising:

a processor; and

a memory in communication with the processor and comprising instructions which, when executed by the processor, program the processor to:

receive a selection of an application from a plurality of connected applications;

determine, using one or more trained artificial intelligence (AI) models, an action to be performed on the selected application;

retrieve data used to perform the action from the selected application by crawling and indexing the data using at least one authenticated private application programming interface (API) of the selected application, wherein retrieving the data includes automatically fetching new data updates of the selected application;

perform the action to generate a result based on the retrieved data; and

automatically transfer the new data updates and the result to remaining applications of the plurality of connected applications for synchronization.

12 . The system of claim 11 , wherein the data is retrieved from the selected application using embeddings and one or more vector indices.

13 . The system of claim 11 , wherein the instructions further program the processor to bulk-transfer a large amount of data among the plurality of connected applications at one time or on a regular basis.

14 . The system of claim 13 , wherein, prior to the new data updated on the selected application, the instructions further program the processor to populate the application with existing information using bulk-transfer.

15 . The system of claim 11 , wherein the instructions further program the processor to:

create one or more automation flows to establish data connections between the plurality of connected applications,

wherein the data is retrieved from the selected application based on the data connections between the plurality of connected applications.

16 . The system of claim 15 , wherein the instructions further program the processor to perform one or more of a semantic search on data received from the plurality of connected applications through the data connections.

17 . The system of claim 15 , wherein, to create the one or more automation flows, the instructions further program the processor to:

generate one or more user interfaces to provide instructions and receive user input for configuring one or more trigger events and one or more subsequent actions performed upon receiving the one or more trigger events.

18 . The system of claim 11 , wherein the instructions further program the processor to train the one or more AI models through natural language processing and machine learning to determine the action to be performed.

19 . The system of claim 11 , wherein the action is included in a natural language instruction, and the result is a natural language answer generated from performing the action.

20 . A computer program product for automatic data retrieval and synchronization, the computer program product comprising a non-transitory computer-readable medium having computer readable program code stored thereon, the computer readable program code configured to:

receive a selection of an application from a plurality of connected applications;

determine, using one or more trained artificial intelligence (AI) models, an action to be performed on the selected application;

retrieve data used to perform the action from the selected application by crawling and indexing the data using at least one authenticated private application programming interface (API) of the selected application, wherein retrieving the data includes automatically fetching new data updates of the selected application;

perform the action to generate a result based on the retrieved data; and

automatically transfer the new data updates and the result to remaining applications of the plurality of connected applications for synchronization.