US 12,292,889 B2
Programmable data layer for graphical user interfaces
Kentaro Kinebuchi, San Francisco, CA (US); Andrea Zornada, San Francisco, CA (US); Ryan Kennedy, San Francisco, CA (US); and Ajey Shah, San Francisco, CA (US)
Assigned to Twilio Inc., San Francisco, CA (US)
Filed by Twilio Inc., San Francisco, CA (US)
Filed on May 17, 2023, as Appl. No. 18/198,747.
Prior Publication US 2024/0386018 A1, Nov. 21, 2024
Int. Cl. G06F 16/2455 (2019.01); G06F 16/2453 (2019.01)
CPC G06F 16/24556 (2019.01) [G06F 16/24542 (2019.01)] 20 Claims
OG exemplary drawing
 
1. A system comprising:
one or more computer processors;
one or more computer memories;
a set of instructions incorporated into the one or more computer memories, the set of instructions configuring the one or more computer processors to perform operations, the operations comprising:
receiving a plurality of connectors, each of the plurality of connectors implementing one or more endpoints for aggregating data corresponding to a plurality of applications into a connection resource accessible via a plurality of server-side Application Programming Interfaces (APIs), each of the plurality of connectors having a type that indicates a type of mapping for integrating user profile data between a communication platform and one or more external systems, wherein the type of mapping defines how to map incoming communications to user profiles, create new user profiles, update existing user profiles, and search for users based on input parameters;
generating a schema definition from the plurality of server-side APIs, each of the plurality of server-side APIs corresponding to a different server-side data store of a plurality of server-side data stores, the schema definition defining a hierarchy of supported types, the hierarchy of supported types including one or more custom object types, each of the one or more custom object types having a plurality of fields;
providing the schema definition to a client system;
receiving at least a portion of a query from the client system, the at least the portion of the query built according to the schema definition, the at least the portion of the query specifying a custom object type of the one or more custom object types;
determining to resolve a first field of the plurality of fields corresponding to the specified custom object type using a data item stored in a first server-side data store of the plurality of server-side data stores, the determining to resolve the first field based on an accessing of a first server-side resolver, the first server-side resolver associated with the first field;
determining to resolve a second field of the plurality of fields corresponding to the specified custom object type using a data item stored in a second server-side data store of the plurality of server-side data stores, the determining to resolve the second field based on an accessing of a second server-side resolver, the second server-side resolver associated with the second field; and
aggregating the data item stored in the first server-side data store with the data item stored in the second server-side data store into the connection resource for including in a response to the at least the portion of the query for sending to the client system, the aggregating performed using the one or more endpoints corresponding to the plurality of connectors.