IP Library Granted Patent US 12,632,836
Granted Patent B2
US 12,632,836 · App. 17/654,535 · Granted May 19, 2026

Multi-service business platform system having reporting systems and methods

Inventors: Bryan Ash (Arlington, MA); Mohit Dilawari (Belmont, MA)
Assignee: HubSpot, Inc.
G06Q20/02G06F16/951G06N5/02G06Q10/06315G06Q10/0633G06Q30/01G06Q30/0201G06Q30/0203G06Q30/0246G06Q30/0255G06Q30/0271G06Q30/0643G10L15/26
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 12,632,836
App. No.
17/654,535
Filed
Mar 11, 2022
Granted
May 19, 2026
Kind
B2
Art Unit
3625
USPC
705/7.25
Abstract

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.

Claims (42)

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.

Assignments (2)
SECURITY INTEREST Recorded Feb 12, 2026
From: HUBSPOT, INC.
To: BANK OF AMERICA, N.A.
Reel/Frame 074818/0036 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 10, 2022
From: ASH, BRYAN; DILAWARI, MOHIT
To: HUBSPOT, INC.
Reel/Frame 060170/0076 →
Continuity (2)
Provisional Application 63160446 · Mar 12, 2021
Related Publication 20220292423A1 · Sep 15, 2022
References Cited (143)
US 7136941B2 · Nguyen et al. · 2006 [cited by applicant]
US 7580982B2 · Owen et al. · 2009 [cited by applicant]
US 7584114B2 · Estrada et al. · 2009 [cited by applicant]
US 7792835B2 · Bohannon et al. · 2010 [cited by applicant]
US 7831676B1 · Nagar · 2010 [cited by applicant]
US 7984297B2 · Bohannon et al. · 2011 [cited by applicant]
US 7992145B2 · Emerson et al. · 2011 [cited by applicant]
US 8006261B1 · Haberman et al. · 2011 [cited by applicant]
US 8224902B1 · Glasser et al. · 2012 [cited by applicant]
US 8442969B2 · Gross · 2013 [cited by applicant]
US 8594618B2 · Meyer et al. · 2013 [cited by applicant]
US 8706800B1 · Ahmed et al. · 2014 [cited by applicant]
US 8719356B2 · Dillingham et al. · 2014 [cited by applicant]
US 9304862B2 · Simon et al. · 2016 [cited by applicant]
US 9305104B2 · Wu et al. · 2016 [cited by applicant]
US 9317816B2 · Zeng et al. · 2016 [cited by applicant]
US 9356947B2 · Shraim et al. · 2016 [cited by applicant]
US 9881066B1 · Yousaf · 2018 [cited by examiner]
US 10115060B2 · Chestnut et al. · 2018 [cited by applicant]
US 10217058B2 · Gamon et al. · 2019 [cited by applicant]
US 10387559B1 · Wendt et al. · 2019 [cited by applicant]
US 10853082B1 · Aleti et al. · 2020 [cited by applicant]
US 10992780B1 · Rudrappa Goniwada et al. · 2021 [cited by applicant]
US 20020099697A1 · Jensen-Grey · 2002 [cited by applicant]
US 20020152254A1 · Teng · 2002 [cited by applicant]
US 20020199194A1 · Ali · 2002 [cited by applicant]
US 20030097617A1 · Goeller et al. · 2003 [cited by applicant]
US 20030208472A1 · Pham · 2003 [cited by applicant]
US 20040034652A1 · Hofmann · 2004 [cited by applicant]
US 20040111327A1 · Kidd · 2004 [cited by applicant]
US 20040122803A1 · Dom et al. · 2004 [cited by applicant]
US 20040260621A1 · Foster · 2004 [cited by applicant]
US 20050160166A1 · Kraenzel · 2005 [cited by applicant]
US 20050188028A1 · Brown, Jr. et al. · 2005 [cited by applicant]
US 20050210111A1 · Fukudome · 2005 [cited by applicant]
US 20050265319A1 · Clegg et al. · 2005 [cited by applicant]
US 20060095556A1 · Arnold et al. · 2006 [cited by applicant]
US 20060212931A1 · Shull et al. · 2006 [cited by applicant]
US 20060224673A1 · Stern et al. · 2006 [cited by applicant]
US 20060242140A1 · Wnek · 2006 [cited by applicant]
US 20070011073A1 · Gardner et al. · 2007 [cited by applicant]
US 20070136430A1 · Qureshi et al. · 2007 [cited by applicant]
US 20070203996A1 · Davitz et al. · 2007 [cited by applicant]
US 20070299777A1 · Shraim et al. · 2007 [cited by applicant]
US 20080034432A1 · Bohannon et al. · 2008 [cited by applicant]
US 20080168269A1 · Wilson · 2008 [cited by applicant]
US 20080172606A1 · White · 2008 [cited by applicant]
US 20090013041A1 · Farmer et al. · 2009 [cited by applicant]
US 20090019003A1 · Bohannon et al. · 2009 [cited by applicant]
US 20090119268A1 · Bandaru et al. · 2009 [cited by applicant]
US 20090138711A1 · Heimbigner · 2009 [cited by applicant]
US 20090248813A1 · Sawhney · 2009 [cited by applicant]
US 20100161506A1 · Bosenick et al. · 2010 [cited by applicant]
US 20100161735A1 · Sharma · 2010 [cited by applicant]
US 20100186088A1 · Banerjee et al. · 2010 [cited by applicant]
US 20100228777A1 · Imig et al. · 2010 [cited by applicant]
US 20100235915A1 · Memon et al. · 2010 [cited by applicant]
US 20100312837A1 · Bodapati et al. · 2010 [cited by applicant]
US 20110029504A1 · King et al. · 2011 [cited by applicant]
US 20110149725A1 · Zhao et al. · 2011 [cited by applicant]
US 20110179067A1 · Dalvi et al. · 2011 [cited by applicant]
US 20110225525A1 · Chasman · 2011 [cited by examiner]
US 20110258218A1 · Hayes et al. · 2011 [cited by applicant]
US 20120053887A1 · Nurmi · 2012 [cited by applicant]
US 20120191546A1 · Phelan et al. · 2012 [cited by applicant]
US 20120197862A1 · Woytowitz et al. · 2012 [cited by applicant]
US 20120198056A1 · Shama et al. · 2012 [cited by applicant]
US 20120316904A1 · Eder · 2012 [cited by applicant]
US 20130007627A1 · Monaco · 2013 [cited by applicant]
US 20130047034A1 · Salomon et al. · 2013 [cited by applicant]
US 20130054622A1 · Karmarkar et al. · 2013 [cited by applicant]
US 20130073336A1 · Heath · 2013 [cited by applicant]
US 20130138555A1 · Shishkov · 2013 [cited by applicant]
US 20130238715A1 · Sanyal et al. · 2013 [cited by applicant]
US 20130339456A1 · Nikolayev et al. · 2013 [cited by applicant]
US 20140006139A1 · Aggarwal et al. · 2014 [cited by applicant]
US 20140025683A1 · Howland et al. · 2014 [cited by applicant]
US 20140025763A1 · Furlong et al. · 2014 [cited by applicant]
US 20140105508A1 · Arora · 2014 [cited by applicant]
US 20140108309A1 · Frank et al. · 2014 [cited by applicant]
US 20140156681A1 · Lee et al. · 2014 [cited by applicant]
US 20140214974A1 · Kurzanski et al. · 2014 [cited by applicant]
US 20140236663A1 · Smith · 2014 [cited by applicant]
US 20140258169A1 · Wong et al. · 2014 [cited by applicant]
US 20140279622A1 · Bharadwaj et al. · 2014 [cited by applicant]
US 20140280453A1 · Mattison et al. · 2014 [cited by applicant]
US 20140328172A1 · Kumar et al. · 2014 [cited by applicant]
US 20140372363A1 · Chestnut et al. · 2014 [cited by applicant]
US 20140372566A1 · Milne et al. · 2014 [cited by applicant]
US 20150006647A1 · Steinberg et al. · 2015 [cited by applicant]
US 20150032826A1 · Gunaratnam · 2015 [cited by applicant]
US 20150032827A1 · Tyler et al. · 2015 [cited by applicant]
US 20150081611A1 · Shivakumar · 2015 [cited by applicant]
US 20150100896A1 · Shmarovoz et al. · 2015 [cited by applicant]
US 20150154664A1 · Mae · 2015 [cited by applicant]
US 20150188874A1 · Feinstein · 2015 [cited by applicant]
US 20150248490A1 · Myslinski · 2015 [cited by applicant]
US 20150286357A1 · Penha et al. · 2015 [cited by applicant]
US 20150312187A1 · Menna et al. · 2015 [cited by applicant]
US 20150324469A1 · Keyngnaert et al. · 2015 [cited by applicant]
US 20150347924A1 · Zeng et al. · 2015 [cited by applicant]
US 20150379018A1 · Gur et al. · 2015 [cited by applicant]
US 20150381552A1 · Vijay et al. · 2015 [cited by applicant]
US 20160012364A1 · Filgueiras · 2016 [cited by applicant]
US 20160020917A1 · Tuatini et al. · 2016 [cited by applicant]
US 20160021181A1 · Ianakiev · 2016 [cited by examiner]
US 20160026720A1 · Lehrer et al. · 2016 [cited by applicant]
US 20160036750A1 · Yuan · 2016 [cited by applicant]
US 20160063560A1 · Hameed et al. · 2016 [cited by applicant]
US 20160078455A1 · O'Donnell et al. · 2016 [cited by applicant]
US 20160119260A1 · Ghafourifar et al. · 2016 [cited by applicant]
US 20160156858A1 · Lee et al. · 2016 [cited by applicant]
US 20160180248A1 · Regan · 2016 [cited by applicant]
US 20160226808A1 · Lin · 2016 [cited by applicant]
US 20160232540A1 · Gao et al. · 2016 [cited by applicant]
US 20160307191A1 · Turgeman et al. · 2016 [cited by applicant]
US 20160315969A1 · Goldstein · 2016 [cited by applicant]
US 20160359793A1 · Kraios · 2016 [cited by applicant]
US 20170005954A1 · Shaltiel et al. · 2017 [cited by applicant]
US 20170031894A1 · Bettersworth et al. · 2017 [cited by applicant]
US 20170068982A1 · Vangala et al. · 2017 [cited by applicant]
US 20170103439A1 · Kolb et al. · 2017 [cited by applicant]
US 20170103441A1 · Kolb et al. · 2017 [cited by applicant]
US 20170186042A1 · Wong et al. · 2017 [cited by applicant]
US 20170221089A1 · Zhu et al. · 2017 [cited by applicant]
US 20170264577A1 · Ganin et al. · 2017 [cited by applicant]
US 20170289287A1 · Modi et al. · 2017 [cited by applicant]
US 20170317962A1 · Chen · 2017 [cited by applicant]
US 20170337569A1 · Sasson · 2017 [cited by applicant]
US 20170353410A1 · Gonzales · 2017 [cited by applicant]
US 20180039399A1 · Kaltegaertner · 2018 [cited by examiner]
US 20180039696A1 · Zhai et al. · 2018 [cited by applicant]
US 20180097759A1 · Brechbuhl et al. · 2018 [cited by applicant]
US 20180097828A1 · Coskun · 2018 [cited by applicant]
US 20180121986A1 · Akkiraju et al. · 2018 [cited by applicant]
US 20180336495A1 · Chestnut et al. · 2018 [cited by applicant]
US 20190044902A1 · Teplow · 2019 [cited by examiner]
US 20190108291A1 · Spencer-Harper · 2019 [cited by examiner]
US 20190138944A1 · Sinha · 2019 [cited by examiner]
US 20190347668A1 · Williams · 2019 [cited by examiner]
US 20200067861A1 · Leddy et al. · 2020 [cited by applicant]
US 20200371825A1 · Mathew · 2020 [cited by examiner]
Tableau Tips: Dynamic charts (By leveraging Parameter & Layout container) Rigor Data Solutions. May 26, 2018. https://www.rigordatasolutions.com/post/2018/05/26/tableau-tips-dynamic-charts-by-leveraging-parameter-layout… [cited by examiner]