Multi-service business platform system having reporting systems and methods
The disclosure is directed to various ways of improving the functioning of computer systems, information networks, data stores, search engine systems and methods, and other advantages. Among other things, provided herein are methods, systems, components, processes, modules, blocks, circuits, sub-systems, articles, and other elements (collectively referred to in some cases as the “platform” or the “system”) that collectively enable, in one or more datastores (e.g., where each datastore may include one or more databases) and systems. A system and method for providing reporting-related services to client entities. These services may determine a set of reportable properties based on a type of chart and at least one data source selected by a user. A report plan may be executed on a knowledge graph to obtain a reporting dataset. A custom chart may be generated based on the type of chart selected, the reporting dataset, and a set of reporting parameters.
1 . A multi-service platform comprising memory storing instructions which when executed by a processor causes the processor to perform operations comprising:
storing, by a customer relationship management (CRM) system hosted by a multi-service business platform, a knowledge data structure structured based upon an ontology that defines a plurality of different types of objects within a CRM database and relationships between the different types of objects;
storing, within the CRM database by the CRM system, event records that track occurrences of different types of events that occur with respect to the objects;
modifying an electronic communication message to include a message tracking mechanism that triggers the transmission of event feedback data, over a network from a client device receiving the message, to an event reporting service of the of the multi-service business platform, wherein the message tracking mechanism detects an action performed by a recipient for the electronic communication message;
monitoring, by the event reporting service over the network, for a packet from the message tracking mechanism;
in response to receiving the packet, parsing the packet to extract the event feedback data describing an occurrence of the event relating to the action performed by the recipient of the message;
updating an event record, defined to track the event occurring for the object, with the event feedback data;
in response to detecting the instance of the event occurring for the object based upon the event record being updated, triggering, by the event reporting service, a workflow service of the multi-service business platform to perform workflow automation to execute a computer implemented action defined by the object for the event, wherein the workflow automation executes the computer implemented action for a workflow updated and automatically synchronized with information stored within at least one of the object or the event record;
generating a report plan based on a data source selection of data sources corresponding to different types of objects that include the objects corresponding to the event records, a set of reportable properties associated with a type of chart, and the ontology, wherein a secondary data source is selected as the data sources based upon objects and events related to a primary data source of the data sources; and
generating and outputting a custom chart based on the type of chart, a reporting dataset obtained from the knowledge data structure using the reporting plan, and a set of reporting parameters assigned to a chart component of the type of chart.
2 . The multi-service platform of claim 1 , wherein the ontology defines a set of default objects that are tracked by the multi-service platform.
3 . The multi-service platform of claim 2 , wherein the ontology further defines custom objects that are defined by a client entity.
4 . The multi-service platform of claim 1 , wherein the instructions, when executed, further provide:
a schema service that determines a set of selectable secondary data sources in response to a user selection of a primary data source based on the ontology and the primary data source.
5 . The multi-service platform of claim 4 , wherein the schema service is further configured to receive the primary data source and determine the set of selectable secondary data sources based on the respective relationships of the primary data source defined in the ontology.
6 . The multi-service platform of claim 4 , wherein the schema service is further configured to determine the set of reportable properties based on types of objects indicated by selected data sources and respective object properties of the types of objects.
7 . The multi-service platform of claim 6 , wherein the schema service is further configured to receive a first reporting property selected by the user and to constrain the set of reportable properties based on the first reporting property.
8 . The multi-service platform of claim 1 , wherein the set of reporting parameters further include filter parameters that are applied to a plurality of reportable properties used to determine the set of reportable properties.
9 . The multi-service platform of claim 1 , wherein set of reportable properties include aggregated properties.
10 . The multi-service platform of claim 1 , comprising a reporting system configured to provide a data set selection graphical user interface (GUI), and wherein the data set selection GUI presents a plurality of selectable data sources and receives a selection of a primary data source via the GUI.
11 . The multi-service platform of claim 10 , wherein the data selection GUI constrains the plurality of selectable data sources to a subset of selectable data sources based on the primary data source and relationships of a corresponding object.
12 . The multi-service platform of claim 10 , wherein in response to receiving the data source selection via the data set selection GUI, the reporting system provides a report configuration GUI that provides an interface that receives the set of reporting parameters.
13 . The multi-service platform of claim 1 , wherein each event record corresponds to a respective object instance of a particular object defined in the ontology.
14 . The multi-service platform of claim 13 , wherein the instructions, when executed, further provide:
an event reporting system that is configured to monitor different services of the multi-service platform and, in response to detecting an instance of a particular type of event, updating event records implicated by a detected instance of the particular type of event.
15 . The multi-service platform of claim 1 , wherein the instructions, when executed, further provide a set of client-facing services that leverage the knowledge data structure.
16 . The multi-service platform of claim 15 , wherein the set of client-facing services include a customer relationship management system and a content management system.
17 . The multi-service platform of claim 15 , wherein the set of client-facing services include a payment system that facilitates payments from customers of a client entity using a third-party payment processor.
18 . The multi-service platform of claim 1 , wherein the report plan is a structured query language query.
19 . The multi-service platform of claim 18 , wherein the report plan defines a pre-query database operation, a query database operation, and a post query database operation.
20 . The multi-service platform of claim 1 , comprising a storage system that includes a third-party data warehouse that is accessed via an application programming interface.
21 . A computer-implemented method for providing services to a plurality of different client entities, the method comprising:
storing, by a customer relationship management (CRM) system hosted by a multi-service business platform, a knowledge data structure structured based upon an ontology that defines a plurality of different types of objects within a CRM database and relationships between the different types of objects;
storing, within the CRM database by the CRM system, event records that track occurrences of different types of events that occur with respect to the objects;
modifying an electronic communication message to include a message tracking mechanism that triggers the transmission of event feedback data, over a network from a client device receiving the message, to an event reporting service of the of the multi-service business platform, wherein the message tracking mechanism detects an action performed by a recipient for the electronic communication message;
monitoring, by the event reporting service over the network, for a packet from the message tracking mechanism;
in response to receiving the packet, parsing the packet to extract the event feedback data describing an occurrence of the event relating to the action performed by the recipient of the message;
updating an event record, defined to track the event occurring for the object, with the event feedback data;
in response to detecting the instance of the event occurring for the object based upon the event record being updated, triggering, by the event reporting service, a workflow service of the multi-service business platform to perform workflow automation to execute a computer implemented action defined by the object for the event, wherein the workflow automation executes the computer implemented action for a workflow updated and automatically synchronized with information stored within at least one of the object or the event record;
generating a report plan based on a data source selection of data sources corresponding to different types of objects that include the objects corresponding to the event records, a set of reportable properties associated with a type of chart, and the ontology, wherein a secondary data source is selected as the data sources based upon objects and events related to a primary data source of the data sources; and
generating and outputting a custom chart based on the type of chart, a reporting dataset obtained from the knowledge data structure using the reporting plan, and a set of reporting parameters assigned to a chart component of the type of chart.
22 . The computer-implemented method of claim 21 , further comprising determining a set of selectable secondary data sources in response to a user selection of a primary data source.