IP Library Granted Patent US 12,235,865
Granted Patent B1
US 12,235,865 · App. 17/878,821 · Granted Feb 25, 2025

No-code configuration of data visualization actions for execution of parameterized remote workflows with data context via API

Inventors: Matthew Mark Miller (Wheaton, IL); Kaushal Manhar Joshi (Sunnyvale, CA); Ridhima Gupta (Seattle, WA)
Assignee: Salesforce, Inc.
G06F16/26G06F9/547
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,235,865
App. No.
17/878,821
Granted
Feb 25, 2025
Kind
B1
Abstract

A computing device displays, in a graphical user interface corresponding to a data visualization application, a dashboard having one or more data visualizations related to a data source. The device receives a user interaction with a first data visualization of the dashboard. The device compares the user interaction to a set of stored trigger actions and determines, based on the comparing, that the user interaction corresponds to a predefined trigger to initiate a workflow action to be executed by an external service, distinct from the data visualization application. In accordance with the determination, the device identifies parameters of a predefined action template corresponding to the workflow action. The device extracts a subset of data from the data source, corresponding to the parameters. The device maps the subset of data to the parameters of the action template and initiates execution of the external service.

Claims (75)

1. A method for executing remote workflows using analytical dashboards, comprising:

at a computing device having a display, one or more processors, and memory storing one or more programs configured for execution by the one or more processors:

displaying, in a graphical user interface corresponding to a data visualization application, a dashboard having one or more data visualizations related to a data source;

receiving a user interaction with a first data mark of a first data visualization of the dashboard;

comparing the user interaction to a set of stored trigger actions;

determining, based on the comparing, that the user interaction corresponds to a predefined trigger to initiate a workflow action to be executed by an external service, distinct from the data visualization application:

in accordance with the determination:

identifying a predefined action template corresponding to the workflow action, the predefined action template specifying a plurality of parameters for execution of the workflow action by the external service;

extracting a subset of data from the data source, corresponding to the parameters;

mapping the subset of data to the parameters of the action template, including converting a data array of the first data mark to a scalar input field; and

causing the external service to execute the workflow action in accordance with the action template and the mapped subset of data, including the scalar input field that is mapped to the parameters.

2. The method of claim 1 , wherein the user interaction includes:

user selection of the first data mark in the first data visualization; and/or

user selection of a predefined interface element of the dashboard.

3. The method of claim 1 , wherein the predefined trigger includes one of:

user selection of a data mark in the first data visualization;

detection of a parameter change in the one or more data visualizations; or

user selection of an interactive element in the dashboard.

4. The method of claim 1 , wherein the subset of data includes:

data values and/or data fields of the first data visualization;

metadata associated with data values and/or data fields of the first data visualization; and/or

one or more filters defined in the action template.

5. The method of claim 1 , wherein extracting the subset of data from the data source includes collecting data from locally stored tuples corresponding to data marks of the one or more data visualizations.

6. The method of claim 1 , wherein:

the subset of data includes data having a first data type; and

mapping the subset of data to the parameters includes transforming the data having the first data type to a data type that is compatible with a format of the parameters.

7. The method of claim 1 , wherein mapping the subset of data to the parameters includes:

transforming a cardinality of a first attribute in the first data visualization from a first cardinality to a second cardinality specified in the action template.

8. The method of claim 7 , wherein:

the first cardinality corresponds to a count of data marks in the first data visualization; and

the second cardinality corresponds to a number of trigger actions.

9. The method of claim 1 , wherein the mapping is performed automatically via a semantic model of the data source.

10. The method of claim 1 , wherein the user interaction comprises user selection of one data mark in the first data visualization.

11. The method of claim 1 , wherein:

the user interaction comprises user selection of multiple data marks in the first data visualization; and

the method further comprises aggregating the multiple data marks into one workflow action to be executed by the external service.

12. The method of claim 1 , wherein:

the user interaction comprises user selection of multiple data marks in the first data visualization; and

the external service is caused to execute multiple workflows, each of the workflows corresponding to a respective selected data mark.

13. The method of claim 1 , wherein initiating execution of the external service comprises:

calling one or more API functions provided by the external service.

14. The method of claim 13 , further comprising:

after calling the one or more API functions, receiving from the external service a response indicating that the workflow action has been executed.

15. The method of claim 1 , further comprising:

after initiating execution of the external service, displaying a notification that the workflow action has been executed.

16. A computing device, comprising:

a display;

one or more processors; and

memory coupled to the one or more processors, the memory storing one or more programs configured to be executed by the one or more processors, the one or more programs including instructions for:

displaying, in a graphical user interface corresponding to a data visualization application, a dashboard having one or more data visualizations related to a data source;

receiving a user interaction with a first data mark of a first data visualization of the dashboard;

comparing the user interaction to a set of stored trigger actions;

determining, based on the comparing, that the user interaction corresponds to a predefined trigger to initiate a workflow action to be executed by an external service, distinct from the data visualization application:

in accordance with the determination:

identifying a predefined action template corresponding to the workflow action, the predefined action template specifying a plurality of parameters for execution of the workflow action by the external service;

extracting a subset of data from the data source, corresponding to the parameters;

mapping the subset of data to the parameters of the action template, including converting a data array of the first data mark to a scalar input field; and

causing the external service to execute the workflow action in accordance with the action template and the mapped subset of data, including the scalar input field that is mapped to the parameters.

17. The computing device of claim 16 , wherein the instructions for extracting the subset of data from the data source includes instructions for collecting data from locally stored tuples corresponding to data marks of the one or more data visualizations.

18. The computing device of claim 16 , wherein the instructions for mapping the subset of data to the parameters includes instructions for:

transforming a cardinality of a first attribute in the first data visualization from a first cardinality to a second cardinality specified in the action template.

19. The computing device of claim 16 , wherein:

the user interaction comprises user selection of multiple data marks in the first data visualization; and

the one or more programs further include instructions for:

aggregating the multiple data marks into one workflow action to be executed by the external service.

20. A non-transitory computer-readable storage medium storing one or more programs, the one or more programs comprising instructions, which when executed by a computing device having a display, cause the computing device to perform operations comprising:

displaying, in a graphical user interface corresponding to a data visualization application, a dashboard having one or more data visualizations related to a data source;

receiving a user interaction with a first data mark of a first data visualization of the dashboard;

comparing the user interaction to a set of stored trigger actions;

determining, based on the comparing, that the user interaction corresponds to a predefined trigger to initiate a workflow action to be executed by an external service, distinct from the data visualization application:

in accordance with the determination:

identifying a predefined action template corresponding to the workflow action, the predefined action template specifying a plurality of parameters for execution of the workflow action by the external service;

extracting a subset of data from the data source, corresponding to the parameters;

mapping the subset of data to the parameters of the action template, including converting a data array of the first data mark to a scalar input field; and

causing the external service to execute the workflow action in accordance with the action template and the mapped subset of data, including the scalar input field that is mapped to the parameters.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 15, 2024
From: MILLER, MATTHEW MARK; JOSHI, KAUSHAL MANHAR; GUPTA, RIDHIMA
To: SALESFORCE, INC.
Reel/Frame 067112/0478 →
References Cited (76)
US 7703021B1 · Flam · 2010 [cited by applicant]
US 8099674B2 · Mackinlay · 2012 [cited by examiner]
US 8375014B1 · Brocato et al. · 2013 [cited by applicant]
US 10515121B1 · Setlur et al. · 2019 [cited by applicant]
US 10546001B1 · Nguyen · 2020 [cited by applicant]
US 10558688B1 · Nguyen et al. · 2020 [cited by applicant]
US 10949444B2 · Keahey · 2021 [cited by applicant]
US 11270483B1 · Chilamakuri · 2022 [cited by applicant]
US 11604794B1 · Nallapati · 2023 [cited by applicant]
US 20050080770A1 · Lueder et al. · 2005 [cited by applicant]
US 20060069605A1 · Hatoun · 2006 [cited by examiner]
US 20090313576A1 · Neumann et al. · 2009 [cited by applicant]
US 20100312602A1 · McLoughlin · 2010 [cited by applicant]
US 20110173680A1 · Bates · 2011 [cited by examiner]
US 20140040871A1 · Schwan et al. · 2014 [cited by applicant]
US 20140229497A1 · Wolfram · 2014 [cited by applicant]
US 20140244625A1 · Seghezzi et al. · 2014 [cited by applicant]
US 20140317155A1 · Treibach-Heck · 2014 [cited by applicant]
US 20150100588A1 · Allen et al. · 2015 [cited by applicant]
US 20160224804A1 · Carasso · 2016 [cited by applicant]
US 20160232537A1 · Nonez et al. · 2016 [cited by applicant]
US 20160283091A1 · Hang et al. · 2016 [cited by applicant]
US 20170308571A1 · McCurley · 2017 [cited by examiner]
US 20180329948A1 · Nijor et al. · 2018 [cited by applicant]
US 20190179495A1 · Watanabe et al. · 2019 [cited by applicant]
US 20190362009A1 · Miseldine et al. · 2019 [cited by applicant]
US 20200012638A1 · Luo et al. · 2020 [cited by applicant]
US 20200089700A1 · Ericson et al. · 2020 [cited by applicant]
US 20200089760A1 · Ericson et al. · 2020 [cited by applicant]
US 20200097302A1 · Deutch · 2020 [cited by applicant]
US 20200104401A1 · Burnett et al. · 2020 [cited by applicant]
US 20200110779A1 · Setlur · 2020 [cited by examiner]
US 20200110803A1 · Djalali et al. · 2020 [cited by applicant]
US 20200134103A1 · Mankovskii · 2020 [cited by applicant]
US 20200134641A1 · Morgan et al. · 2020 [cited by applicant]
US 20200134683A1 · Boren et al. · 2020 [cited by applicant]
US 20200174755A1 · Rose et al. · 2020 [cited by applicant]
US 20200236013A1 · Mocanu · 2020 [cited by examiner]
US 20200293167A1 · Blyumen · 2020 [cited by applicant]
US 20200334238A1 · Sherman · 2020 [cited by applicant]
US 20200380432A1 · Wang et al. · 2020 [cited by applicant]
US 20210117056A1 · Kuo et al. · 2021 [cited by applicant]
US 20210182283A1 · Carney et al. · 2021 [cited by applicant]
US 20210224328A1 · Schrupp et al. · 2021 [cited by applicant]
US 20210225529A1 · Viengkham et al. · 2021 [cited by applicant]
US 20210232920A1 · Parangi et al. · 2021 [cited by applicant]
US 20210342125A1 · Burnett · 2021 [cited by applicant]
US 20210342338A1 · Nocedal de la Garza · 2021 [cited by applicant]
US 20210342785A1 · Mann · 2021 [cited by applicant]
US 20210349581A1 · Egozi · 2021 [cited by examiner]
US 20210406325A1 · Sinn et al. · 2021 [cited by applicant]
US 20220050695A1 · Gajendran et al. · 2022 [cited by applicant]
US 20220358286A1 · Wilson-Thomas et al. · 2022 [cited by applicant]
US 20220405314A1 · Du · 2022 [cited by applicant]
US 20230109718A1 · Polen · 2023 [cited by examiner]
Atallah, Office Action, U.S. Appl. No. 17/368,783, Dec. 27, 2021, 38 pgs. [cited by applicant]
Atallah, Final Office Action, U.S. Appl. No. 17/368,783, Jul. 25, 2022, 26 pgs. [cited by applicant]
Atallah, Office Action, U.S. Appl. No. 17/357,912, Feb. 1, 2022, 25 pgs. [cited by applicant]
Atallah, Notice of Allowance, U.S. Appl. No. 17/357,912, Jul. 8, 2022, 12 pgs. [cited by applicant]
Atallah, Office Action, U.S. Appl. No. 17/473,992, Jun. 14, 2023, 42 pgs. [cited by applicant]
D. Song et al., “Building and Querying an Enterprise Knowledge Graph,” in IEEE Transactions on Services Computing, Vpl. 12, No. 3, pp. 356-369, May 1-Jun. 2019, doi: 10.1109/TSC.2017.2711600, (Year 2019). [cited by applicant]
F.Siasar Djahantighi, M. Norouzifard, S.H. Davarpanah and M.H. Shenassa, “Using Natural Language Processing in Order to Create SQL queries,” 2008 International Conference on Computer and Communication Engineering, 2008,… [cited by applicant]
Gao, Tong, et al. “Datatone: Managing ambiguity in natural language interfaces for data visualization.” Proceedings of the 28th annual acm symposium on user interface software & technology. 2015, pp. 489-500. (Year: 201… [cited by applicant]
Mannheimer, Office Action, U.S. Appl. No. 17/521,820, Jan. 13, 2023, 18 pgs. [cited by applicant]
Mannheimer, Final Office Action, U.S. Appl. No. 17/521,820, May 8, 2023, 21 pgs. [cited by applicant]
Mavin, Alistair, et al. “Easy approach to requirements syntax (EARS).” 2009 17th IEEE International Requirements Engineering Conference. IEEE, 2009, pp. 317-322 (Year: 2009). [cited by applicant]
Mazo, Rall, et al. “Towards a new template for the specification of requirements in semi-structured natural language.” Journal of Software Engineering Research and Development 8 (2020), pp. 1-16 (Year: 2020). [cited by applicant]
Setlur, Vidya, et al. “Eviza: A natural language interface for visual analysis.” Proceedings of the 29th annual symposium on user interface software and technology. 2016, p. 365-377. (Year: 2016). [cited by applicant]
Atallah, Office Action, U.S. Appl. No. 17/368,783, Oct. 6, 2023, 30 pgs. [cited by applicant]
Atallah, Final Office Action, U.S. Appl. No. 17/473,992, Nov. 2, 2023, 50 pgs. [cited by applicant]
Atallah, Notice of Allowance, U.S. Appl. No. 17/473,992, Jul. 5, 2024, 16 pgs. [cited by applicant]
Atallah, Final Office Action, U.S. Appl. No. 17/474,018, Sep. 5, 2024, 26 pgs. [cited by applicant]
Atallah, Notice of Allowance U.S. Appl. No. 17/368,783, Mar. 28, 2024, 9 pgs. [cited by applicant]
Atallah, Office Action, U.S. Appl. No. 17/474,018, Jan. 3, 2024, 17 pgs. [cited by applicant]
Atallah, Office Action, U.S. Appl. No. 17/474,018, May 30, 2024, 22 pgs. [cited by applicant]
Dashevsky, “23 Cool Non-Math Things You Can Do With Wolfram Alpha”, https://www.pcmag.com/news/23-cool-non-math-things-you-can-do-with-wolfram-alpha, May 16, 2016. (Year: 2016). [cited by applicant]