DETAILED ACTION
Notice of Pre-AIA or AIA Status
The present application, filed on or after March 16, 2013, is being examined under the first inventor to file provisions of the AIA .
Status of Claims
1. Claims 1, 8, and 15 are currently amended.
Claims 1-20 are pending.
Claims 1-20 are rejected.
Continued Examination Under 37 CFR 1.114
2. A request for continued examination under 37 CFR 1.114, including the fee set forth in 37 CFR 1.17(e), was filed in this application after final rejection. Since this application is eligible for continued examination under 37 CFR 1.114, and the fee set forth in 37 CFR 1.17(e) has been timely paid, the finality of the previous Office action has been withdrawn pursuant to 37 CFR 1.114. Applicant's submission filed on March 3, 2026 has been entered.
Information Disclosure Statement
3. The information disclosure statement (IDS) submitted on March 18, 2026 is in compliance with the provisions of 37 CFR 1.97. Accordingly, the information disclosure statement is being considered by the examiner.
Response to Arguments
4. Regarding 35 U.S.C. 101 Rejections:
Applicant’s arguments have been fully considered and are persuasive. The 35 U.S.C. 101 rejections have been withdrawn.
5. Regarding 35 U.S.C. 102(a)(1) Rejections:
The arguments regarding the rejections under 35 U.S.C. § 102(a)(1) challenge certain limitations. These limitations are newly added and were therefore not addressed in the previous rejection; therefore, the arguments are moot. The amendments are newly addressed by the new grounds of rejection under 35 U.S.C. § 103.
6. Regarding 35 U.S.C. 103 Rejections:
Applicant argues in remarks:
The Motivation to Combine Is Insufficient
The Examiner's stated rationale for combining Chang and Addala is that "both references teach field-to-field mappings" and that combining them "enables mappings via transmitted data objects." This rationale does not support the specific combination the Examiner proposes. Chang's trigger-action automation context and Addala's application-builder UI component context are distinct technical domains with different design objectives. A person of ordinary skill in the art would not look to Addala's UI component dynamic interaction framework to improve a trigger- action automation system like Chang's PIAR. Moreover, neither reference's teachings, alone or in combination, would lead a skilled artisan to the claimed architecture of destination-declared API definitions driving dynamic UI generation for event data routing configuration in a cloud-based analytics pipeline. For these reasons, the proposed combination of Chang and Addala does not render the dependent claims obvious. Applicant respectfully requests reconsideration and withdrawal of the § 103 rejection.
Examiner respectfully disagrees. Applicant’s assertion that the fields are 'distinct' is flawed. A POSITA in automation engineering is routinely tasked with designing user-friendly interfaces (UIs) to configure said automations. Therefore, Addala’s UI component framework is directly analogous art to Chang’s PIAR system, as both address the common problem of mapping inputs to outputs. A POSITA seeking to enhance the usability of Chang’s system would look to Addala’s known, robust, and dynamic UI component interaction framework to create user-driven data routing. Chang’s trigger-action system requires a configuration interface to define how ‘triggers’ map to ‘actions.’ Adala’s teaching of a multi-tenant cloud platform that supports ‘analytics’ and ‘applications’ ([0022]) provides the environment where such routing occurs.
Claim Rejections - 35 USC § 103
The following is a quotation of 35 U.S.C. 103 which forms the basis for all obviousness rejections set forth in this Office action:
A patent for a claimed invention may not be obtained, notwithstanding that the claimed invention is not identically disclosed as set forth in section 102, if the differences between the claimed invention and the prior art are such that the claimed invention as a whole would have been obvious before the effective filing date of the claimed invention to a person having ordinary skill in the art to which the claimed invention pertains. Patentability shall not be negated by the manner in which the invention was made.
7. Claims 1-20 are rejected under 35 U.S.C. 103 as being unpatentable over Chang et al. US 20190004879 A1 in view of Addala et al. US 20230103896 A1.
8. Chang et al. US 20190004879 A1 and Addala et al. US 20230103896 A1 were cited in IDS filed on 11/06/2025.
9. With regard to claim 1, Chang teaches:
A system comprising:
one or more computer processors ([0088] In an embodiment, a non-transitory computer readable storage medium comprises instructions which, when executed by one or more hardware processors, [...]);
one or more computer memories ([0092] Computer system 400 also includes a main memory 406, such as a random access memory (RAM) or other dynamic storage device, coupled to bus 402 for storing information and instructions to be executed by processor 404. Main memory 406 also may be used for storing temporary variables or other intermediate information during execution of instructions to be executed by processor 404. Such instructions, when stored in non-transitory storage media accessible to processor 404, render computer system 400 into a special-purpose machine that is customized to execute the operations specified in the instructions; [0093] Computer system 400 further includes a read only memory (ROM) 408 or other static storage device coupled to bus 402 for storing static information and instructions for processor 404. A storage device 410, such as a magnetic disk or optical disk, is provided and coupled to bus 402 for storing information and instructions.);
a set of instructions stored in the one or more computer memories, the set of instructions configuring the one or more computer processors to perform operations ([0088] In an embodiment, a non-transitory computer readable storage medium comprises instructions which, when executed by one or more hardware processors, causes performance of any of the operations described herein and/or recited in any of the claims.), the operations comprising:
receiving, from a destination system, a definition of a destination via an API provided by the destination system, the definition being declared by the destination system to describe capabilities of the destination system, including a definition of an action, the definition of the action representing an interaction with an API associated with the destination, the definition of the action including one or more definitions of one or more input fields associated with the action, wherein the one or more input fields are configured to receive mapping configuration data for transforming event data from a source format to a destination format compatible with the API associated with the destination ([0030] A mapping may include functionality to send a request to a third-party application. A mapping may include functionality to transmit and/or store information retrieved from the third-party application. In general, a mapping describes a correspondence between a field of a triggering application in a PAIR and a field of another application that executes an action in the PIAR, where a value of the field of the triggering application is supplied as input to the field of the application executing the action; [0037] In an embodiment, the PIAR modification component 106 includes hardware and/or software configured to modify a PIAR. The PIAR modification component may monitor a third-party application for changes to any relevant third-party application fields. For example, a plugged-in service may monitor an application for changes to several third-party application fields. The PIAR modification component 106 may periodically poll the third-party application for input requirements for a third-party application field that are exposed by an API of the third-party application. Responsive to detecting a new or modified third-party application field, the PIAR modification component 106 may adjust the corresponding mapping, PIAR, and/or user-exposed field. For example, an existing PIAR may map a date, in MMDDYYYY format, to an application-exposed field that requires the date in that format. The PIAR management system 100 detects that the third-party application has modified the third-party application field to require the date in DDMMYYYY format. Responsive to detecting the modification, the PIAR modification component 106 stores a modified application-exposed mapping. The modified mapping maps the user-exposed field to the modified application-exposed field, while reformatting the date; [0045] The third-party application field may be exposed to the PIAR management engine 102 via an API of the third-party application; [0050] In an embodiment, a PIAR management system stores a data structure comprising an initial mapping between a user-exposed field and an initial third-party application field (Operation 202). The PIAR management system may store one or more mappings between a user-exposed field and a third-party application field to the data repository. The PIAR management system may generate the mappings. For example, the PIAR management system may access metadata exposed by the third-party application, and use the metadata to generate a mapping to a user-exposed field; Examiner’s Note: The PIAR system accesses metadata exposed by the third-party application to generate mappings. The metadata acts as the declaration of what the API can do. The PIAR consumes this metadata to know how to connect to the third-party app; therefore, the third-party app is a capability-declaring API provider.);
surfacing the action in a user interface, the surfacing including presenting a graphical representation of the one or more input fields based on the one or more definitions of the one or more input fields, wherein the graphical representation enables configuration of data transformation parameters for routing event data to the destination ([0051] In an embodiment, the PIAR management system receives a PIAR definition based on the initial mapping between the user-exposed field and the initial third-party application field (Operation 204). The PIAR management system may receive the PIAR definition via a PIAR creation interface such as a graphical user interface (GUI) associated with the PIAR management system. For example, the PIAR creation interface may obtain, from user input to a user-exposed field, a selected trigger or action defining a PIAR. The PIAR management engine may then query the data repository to find a mapping of the selected user-exposed field to the corresponding third-party application field. The mapping between the user-exposed field and a third-party application field may not be exposed to a user via the PIAR creation interface; [0080] The user interface 330 may additionally allow a user to customize certain actions. For example, although the email application 308 does not include an “importance” flag in the email header, the user interface 330 may include a user-exposed field labeled, for example, “Importance.” In this example, the “Importance” user-exposed field displays a drop-down menu, with the options: extremely urgent, urgent, and normal. The PIAR management system 300 receives the input “Urgent” from a user interaction with the “Importance” drop-down menu. The PIAR management system 300 adds “**Urgent**” to the subject field of the email header input array before transmitting the email header input array to the email application 308. Resultantly, the tag “**Urgent**” is displayed in the generated email header.);
receiving one or more inputs via the graphical representation of the one or more input fields, wherein the one or more inputs specify how event data fields from the one or more data sources are to be mapped to corresponding fields expected by the API associated with the destination ([0051] In an embodiment, the PIAR management system receives a PIAR definition based on the initial mapping between the user-exposed field and the initial third-party application field (Operation 204). The PIAR management system may receive the PIAR definition via a PIAR creation interface such as a graphical user interface (GUI) associated with the PIAR management system. For example, the PIAR creation interface may obtain, from user input to a user-exposed field, a selected trigger or action defining a PIAR. The PIAR management engine may then query the data repository to find a mapping of the selected user-exposed field to the corresponding third-party application field.); and
routing event data received from one or more tracking libraries executing on one or more source devices from one or more data sources to the destination via a cloud-based data processing service, the routing including mapping the event data to the destination based on the one or more inputs, wherein the mapping transforms the event data according to the mapping configuration data received via the one or more input fields to generate a payload compatible with the API associated with the destination ([0037] In an embodiment, the PIAR modification component 106 includes hardware and/or software configured to modify a PIAR. The PIAR modification component may monitor a third-party application for changes to any relevant third-party application fields. For example, a plugged-in service may monitor an application for changes to several third-party application fields. The PIAR modification component 106 may periodically poll the third-party application for input requirements for a third-party application field that are exposed by an API of the third-party application. Responsive to detecting a new or modified third-party application field, the PIAR modification component 106 may adjust the corresponding mapping, PIAR, and/or user-exposed field. For example, an existing PIAR may map a date, in MMDDYYYY format, to an application-exposed field that requires the date in that format. The PIAR management system 100 detects that the third-party application has modified the third-party application field to require the date in DDMMYYYY format. Responsive to detecting the modification, the PIAR modification component 106 stores a modified application-exposed mapping. The modified mapping maps the user-exposed field to the modified application-exposed field, while reformatting the date; Examiner’s Note: The tracking library is analogous with the plugged-in service to monitor an application for changes.).
Although Chang teaches of routing event data received from a tracking library to a destination, and reformatting data with the destination API changes, Chang fails to explicitly teach that the event data is routed to the destination via a cloud-based data processing service.
However, in analogous art, Addala teaches:
via a cloud-based data processing service ([0022] Cloud platform 115 may offer an on-demand database service to the cloud client 105. In some cases, cloud platform 115 may be an example of a multi-tenant database system. In this case, cloud platform 115 may serve multiple cloud clients 105 with a single instance of software. However, other types of systems may be implemented, including—but not limited to—client-server systems, mobile device systems, and mobile network systems. In some cases, cloud platform 115 may support CRM solutions. This may include support for sales, service, marketing, community, analytics, applications, and the Internet of Things. Cloud platform 115 may receive data associated with contact interactions 130 from the cloud client 105 over network connection 135, and may store and analyze the data. In some cases, cloud platform 115 may receive data directly from an interaction 130 between a contact 110 and the cloud client 105. In some cases, the cloud client 105 may develop applications to run on cloud platform 115.).
It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to combine the teachings of Chang with the teachings of Addala where the event data is routed to the destination via a cloud-based data processing service. As mentioned above, it would be obvious to one of ordinary skill in the art to combine Chang and Addala in order to enhance the usability of Chang’s system by using Addala’s known, robust, and dynamic UI component interaction framework to create user-driven data routing. Moreover, Addala teaches of a cloud-based processing service that routes event data from the cloud client to the cloud platform. The cloud platform then offers an on-demand database service to the cloud client that aids in storing and analyzing the data. This process allows a user to extract meaningful information about their data, as discussed in Addala ([0014]; [0022]).
10. With regard to claim 2, Chang further teaches:
wherein the definition of the action includes one or more definitions of one or more steps associated with the action ([0022] In an embodiment, the data repository stores one or more PIAR definitions 114a-114n. A PIAR is a sequence of steps and mappings, which may operate between various services and/or applications; [0026] A PIAR management system 100 may include functionality to communicate with different APIs of different applications using different protocols. A PIAR management system 100 may include functionality to execute multiple steps in an action, without the need for user interaction or exposing the steps to a user; [0029] In an embodiment, an action (e.g., 118a-118n) is an operation to be executed in a PIAR. An action may be associated with multiple fields and parameters. Exemplary actions include sending an email, saving a file, preheating an oven, updating a database, or any other type of action that may be executed or initiated by a computer system, without user intervention, in response to detecting a triggering condition. A third-party application that is linked or plugged-in to a PIAR management engine 102 may execute an action. Alternatively or additionally, the PIAR management engine 102 itself may execute an action.).
11. With regard to claim 3, Chang teaches the system of claim 2 but fails to explicitly teach wherein each of the one or more steps is passed a data object that propagates an incoming payload or settings across the one or more steps.
However, in analogous art, Addala teaches:
wherein each of the one or more steps is passed a data object that propagates an incoming payload or settings across the one or more steps ([0004] A database system may store data objects, such as objects corresponding to contacts or business data, and the objects may be requested by external client systems (e.g., chat applications, client devices, etc.). Database systems may also support application builder programs. Current systems may define a static connection between multiple application elements in the application builder programs; [0018] A user interacting with the application may select a source component and an event associated with the source component. The event may define transmission of the data packet associated with the source component. For instance, the event may include transmission of a data packet from the source component in response to a trigger at the source component. In some examples, the event and a payload of the data packet are configured in accordance with the metadata associated with the source component. The user may further select a target component and an input field for the target component, where the input field may correspond to the event associated with the source component. Upon receiving the configuration for the source component and the target component, the system may store a dynamic interaction between the source component and the target component for the application. At runtime, a user may select the source component and the event corresponding to the source component. Utilizing the stored dynamic interactions, the system may transmit an interaction associated with the target component based on receiving the selection of the source component and the event during the runtime of the application.).
It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to combine the teachings of Chang with the teachings of Addala wherein each of the one or more steps is passed a data object that propagates an incoming payload or settings across the one or more steps. Chang teaches of mappings between a user selected field and a third-party application field. Similarly, Addala teaches of using a payload of a data packet in order to store a dynamic interaction between the source element and the target element for an application. In order for an interaction associated with the target component to be initiated, a data packet has to be transmitted from the source component, as discussed in Addala ([0018]). Together, Chang and Addala teach of enabling mappings between a user selected field and a third-party application field by transmitting a data object that propagates an incoming payload.
12. With regard to claim 4, Chang further teaches:
wherein the one or more steps include a performance step ([0023] In an embodiment, a PIAR may involve multiple actions performed in response to detecting a trigger. Two or more actions (which may be separate instances of the same action) may be performed concurrently or in a fixed sequence.).
13. With regard to claim 5, Chang teaches the system of claim 4 but fails to explicitly teach wherein the performance step is invoked after a payload has been resolved based on a configuration associated with the destination.
However, in analogous art, Addala teaches:
wherein the performance step is invoked after a payload has been resolved based on a configuration associated with the destination ([0036] Upon receiving the configuration 204, the application server 210 may store the dynamic interaction between the source component and the target component. For example, the user may configure that upon selection of an account (e.g., Account 1) from the account list component 214, the user interface 224 may display the account details corresponding to the Account 1 (e.g., Account Details 1) in the account details components 218. In some cases, the user or administrator may configure different dynamic interactions for different components as well as for different services. Based on the configuration by the administrator at the user interface 224, a set of interaction details may be stored in a dynamic interaction library supported by the application server 210. The dynamic interaction library may be associated with an organization, a particular client system used by the organization, etc; [0037] In FIG. 2, a user may utilize an application (e.g., Lightning App Builder) with a user interface at user device 225. The user may select a source component (via request 206) and may input a trigger (e.g., an event designated as trigger by the administrator) associated with source component. For example, the user may select “Account 2” from the source component “Account List.” That is, the application server 210 may determine that the event “item selected” is triggered by the user. Upon detecting the trigger, the application server 210 may retrieve metadata associated with the source component and a corresponding target component (e.g., the component designated as the target by the administrator). The application server 210 may determine that a data packet is transmitted in response to the “item selected” trigger. A payload of the data packet may be configured in accordance with the metadata associated with the source component. The application server 210 may then transmit a response 208 indicating an interaction associated with the target component. For example, the application server 210 may display the account details in the target component “Account Details” corresponding to the selected “Account 2” from the source component “Account List.”).
It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to combine the teachings of Chang with the teachings of Addala wherein the performance step is invoked after a payload has been resolved based on a configuration associated with the destination. Chang teaches of mappings between a user selected field and a third-party application field. Similarly, Addala teaches of using a payload of a data packet in order to store a dynamic interaction between the source element and the target element for an application. In order for an interaction associated with the target component to be initiated, a dynamic interaction between the source component and target component has to be stored based on the configuration, as discussed in Addala ([0036]). Together, Chang and Addala teach of enabling mappings between a user selected field and a third-party application field by transmitting a data object where the performance step is invoked after the payload has been resolved based on the destination configuration.
14. With regard to claim 6, Chang teaches the system of claim 4 but fails to explicitly teach wherein the performance step is invoked after a payload has been validated against a data schema associated with the destination.
However, in analogous art, Addala teaches:
wherein the performance step is invoked after a payload has been validated against a data schema associated with the destination ([0032] The component developers may also declare additional declarative metadata to expose this event to users. In some examples, the component developers may generate the event using the following code (where the event is pressing a button and the schema represents a payload of the event); Claim 1, wherein the event comprises transmission of a data packet from the source element in response to a trigger at the source element, and wherein the event and a payload of the data packet comprising a schema for the event are configured in accordance with the metadata associated with the source element; receiving, via a second user input in the user interface, a selection of a target element from the one or more target elements and an input field for the target element, wherein the input field comprises the corresponding trigger that is to be invoked in response to receiving the event associated with the source element; and storing a file for generating a dynamic interaction between the source element and the target element for the application builder program.).
It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to combine the teachings of Chang with the teachings of Addala wherein the performance step is invoked after a payload has been validated against a data schema associated with the destination. Chang teaches of mappings between a user selected field and a third-party application field. Similarly, Addala teaches of using a payload of a data packet in order to store a dynamic interaction between the source element and the target element for an application. In order for an interaction associated with the target component to be initiated, a dynamic interaction between the source component and target component has to be stored based on the schema associated with the destination, as discussed in Addala (Claim 1). Together, Chang and Addala teach of enabling mappings between a user selected field and a third-party application field by transmitting a data object where the performance step is invoked after the payload has been resolved based on the destination schema.
15. With regard to claim 7, Chang teaches the system of claim 1 but fails to explicitly teach
However, in analogous art, Addala teaches:
wherein the definition is developed according to a recommended structure ([0048] The application server 210 may load, in a user interface of an application configuration program, a set of elements configured for use in an application. In some examples, a subset of the set of elements may include metadata enabling dynamic interactions between the subset of the set of elements. The dynamic interactions may include dynamically inputting data at one or more target elements based on data packets that are transmitted from one or more source elements. At 515, the user device 505 may transmits a selection of a source element and an event associated with the source element. In some examples, the user device 505 may transmit a selection of an interaction associated with the source element; Examiner’s Note: The configuration of elements used in the application is dynamic. Data is dynamically put into target elements based on data packets.).
It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to combine the teachings of Chang with the teachings of Addala wherein the definition is developed according to a recommended structure. Chang teaches of mappings between a user selected field and a third-party application field. Similarly, Addala teaches of using a payload of a data packet in order to store a dynamic interaction between the source element and the target element for an application. In order for the configuration of the application to be initiated, data needs to dynamically be inputted into the elements configured for use in the application. This is done based on the data packets, as discussed in Addala ([0048]). Together, Chang and Addala teach of enabling mappings between a user selected field and a third-party application field by transmitting a data object wherein the definition is developed according to a recommended structure.
16. Regarding claim 8, it is rejected under the same reasoning as claim 1 above. Therefore, it is rejected under the same rationale.
17. Regarding claim 9, it is rejected under the same reasoning as claim 2 above. Therefore, it is rejected under the same rationale.
18. Regarding claim 10, it is rejected under the same reasoning as claim 3 above. Therefore, it is rejected under the same rationale.
19. Regarding claim 11, it is rejected under the same reasoning as claim 4 above. Therefore, it is rejected under the same rationale.
20. Regarding claim 12, it is rejected under the same reasoning as claim 5 above. Therefore, it is rejected under the same rationale.
21. Regarding claim 13, it is rejected under the same reasoning as claim 6 above. Therefore, it is rejected under the same rationale.
22. Regarding claim 14, it is rejected under the same reasoning as claim 7 above. Therefore, it is rejected under the same rationale.
23. Regarding claim 15, it is rejected under the same reasoning as claim 1 above. Therefore, it is rejected under the same rationale.
24. Regarding claim 16, it is rejected under the same reasoning as claim 2 above. Therefore, it is rejected under the same rationale.
25. Regarding claim 17, it is rejected under the same reasoning as claim 3 above. Therefore, it is rejected under the same rationale.
26. Regarding claim 18, it is rejected under the same reasoning as claim 4 above. Therefore, it is rejected under the same rationale.
27. Regarding claim 19, it is rejected under the same reasoning as claim 5 above. Therefore, it is rejected under the same rationale.
28. Regarding claim 20, it is rejected under the same reasoning as claim 6 above. Therefore, it is rejected under the same rationale.
Conclusion
Any inquiry concerning this communication or earlier communications from the examiner should be directed to AN-AN N NGUYEN whose telephone number is (571)272-6147. The examiner can normally be reached Monday-Friday 8:00-5:00 ET.
Examiner interviews are available via telephone, in-person, and video conferencing using a USPTO supplied web-based collaboration tool. To schedule an interview, applicant is encouraged to use the USPTO Automated Interview Request (AIR) at http://www.uspto.gov/interviewpractice.
If attempts to reach the examiner by telephone are unsuccessful, the examiner’s supervisor, AIMEE LI can be reached at (571) 272-4169. The fax phone number for the organization where this application or proceeding is assigned is 571-273-8300.
Information regarding the status of published or unpublished applications may be obtained from Patent Center. Unpublished application information in Patent Center is available to registered users. To file and manage patent submissions in Patent Center, visit: https://patentcenter.uspto.gov. Visit https://www.uspto.gov/patents/apply/patent-center for more information about Patent Center and https://www.uspto.gov/patents/docx for information about filing in DOCX format. For additional questions, contact the Electronic Business Center (EBC) at 866-217-9197 (toll-free). If you would like assistance from a USPTO Customer Service Representative, call 800-786-9199 (IN USA OR CANADA) or 571-272-1000.
/AN-AN NGOC NGUYEN/Examiner, Art Unit 2195
/Aimee Li/ Supervisory Patent Examiner, Art Unit 2195