IP Library Granted Patent US 11,706,168
Granted Patent B2
US 11,706,168 · App. 17/171,367 · Granted Jul 18, 2023

Triggering event identification and application dialog validation

Inventors: Allen James Ferrick (San Francisco, CA); Edward Ishaq (Alameda, CA); Hye Jung Choi (San Mateo, CA); Jason Norris (Oakland, CA); Kefan Xie (Toronto, CA); Prajna Shetty (San Francisco, CA); Pranay Agarwal (San Francisco, CA)
Assignee: Salesforce, Inc.
H04L51/046H04L12/1813
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 11,706,168
App. No.
17/171,367
Granted
Jul 18, 2023
Kind
B2
Abstract

Various embodiments of the disclosure are directed to updating a selected group-based communication interface of a plurality of group-based communication interfaces with an application dialog received from an external application. In an example, user interaction data associated with a group-based communication system can be received from a client device, and a triggering event, associated with an application external to the group-based communication system, can be identified from within the user interaction data. An application dialog request, associated with the triggering event, can be sent to the application and, in response to sending the application dialog request to the application, an application dialog can be received from the application. Based at least partly on a determination that the application is validated for communication with the client device, the application dialog can be output to the client device for display via a group-based communication user interface associated with the group-based communication system.

Claims (52)

1. A computer-implemented method comprising:

receiving, from a client device associated with a group-based communication system, user interaction data associated with the group-based communication system;

inputting the user interaction data to a machine learning model, wherein the machine learning model is generated based at least in part on historical triggering event identification data, wherein the machine learning model is trained on first data that includes a labeled user representing a user profile associated with an application dialog data and on second data that includes the user profile associated with a type of the user interaction data, wherein the machine learning model includes a normalization function to parse the user interaction data into data units;

receiving, from the machine learning model, a triggering event associated with an application external to the group-based communication system;

sending an application dialog request, associated with the triggering event, to the application;

in response to sending the application dialog request to the application, receiving an application dialog from the application, wherein the application dialog includes instructions for rendering, via a group-based communication user interface associated with the group-based communication system, a group-based message including a template associated with the application; and

based at least in part on a determination that the application is validated for communication with the client device, outputting the application dialog to the client device for display via the group-based communication user interface.

2. The computer-implemented method of claim 1 , wherein the user interaction data is associated with at least one of a message, an input, an upload, or another user engagement with the group-based communication user interface.

3. The computer-implemented method of claim 1 , wherein the triggering event is stored with the historical triggering event identification data by the group-based communication system for training the machine learning model and updating a trigger event registry.

4. The computer-implemented method of claim 1 , further comprising identifying the triggering event from within the user interaction data based at least in part on parsing the user interaction data.

5. The computer-implemented method of claim 1 , further comprising comparing the user interaction data to a trigger event registry to identify the triggering event.

6. The computer-implemented method of claim 5 , further comprising determining an application address associated with the application and the triggering event, wherein the application dialog request is sent to the application address.

7. The computer-implemented method of claim 1 , wherein the application dialog request is associated with at least one of a trigger token, an indication of the application dialog, or an application dialog content indicator.

8. The computer-implemented method of claim 1 , wherein the application dialog, when received from the application, is associated with dialog validation data.

9. The computer-implemented method of claim 8 , wherein the determination that the application is validated is based at least in part on:

comparing the dialog validation data to one or more validation parameters; and

determining that the dialog validation data satisfies the one or more validation parameters.

10. The computer-implemented method of claim 9 , wherein the application dialog request is associated with a first time stamp, the dialog validation data is associated with a second time stamp, and wherein the one or more validation parameters comprise a response time threshold, the computer-implemented method further comprising:

comparing the response time threshold to a time period between the second time stamp and the first time stamp; and

determining that the application is validated based at least in part on the time period between the second time stamp and the first time stamp being within the response time threshold.

11. A system comprising:

one or more processors; and

one or more non-transitory storing computer-readable instructions that, when executed by the one or more processors, cause the system to perform operations comprising:

receiving, from a client device associated with a group-based communication system, user interaction data associated with the group-based communication system;

inputting the user interaction data to a machine learning model, wherein the machine learning model is generated based at least in part on historical triggering event identification data, wherein the machine learning model is trained on first data that includes a labeled user representing a user profile associated with an application dialog data and on second data that includes the user profile associated with a type of the user interaction data;

receiving, from the machine learning model, a triggering event associated with an application external to the group-based communication system;

sending an application dialog request, associated with the triggering event, to the application;

in response to sending the application dialog request to the application, receiving an application dialog and dialog validation data from the application, wherein the application dialog includes instructions for rendering, via a group-based communication user interface associated with the group-based communication system, a group-based message including a template associated with the application; and

based at least in part on a determination, using the dialog validation data, that the application is validated for communication with the client device, outputting the application dialog to the client device for display via the group-based communication user interface.

12. The system of claim 11 , wherein the user interaction data is associated with at least one of a message, an input, an upload, or another user engagement with the group-based communication user interface, the operations further comprising identifying the triggering event from within the user interaction data based at least in part on parsing the user interaction data.

13. The system of claim 11 , wherein the triggering event is stored with the historical triggering event identification data by the group-based communication system for training the machine learning model and the historical triggering event identification data includes historical user interaction data.

14. The system of claim 11 , the operations further comprising:

comparing the user interaction data to a trigger event registry to identify the triggering event; and

determining an application address associated with the application and the triggering event, wherein the application dialog request is sent to the application address.

15. The system of claim 11 , wherein the application dialog, when received from the application, is associated with the dialog validation data, and wherein the determination that the application is validated is based at least in part on:

comparing the dialog validation data to one or more validation parameters; and

determining that the dialog validation data satisfies the one or more validation parameters.

16. One or more non-transitory computer-readable media storing instructions that, when executed by one or more processors, cause the one or more processors to perform operations comprising:

receiving, from a client device associated with a group-based communication system, user interaction data associated with the group-based communication system;

inputting the user interaction data to a machine learning model, wherein the machine learning model is generated based at least in part on historical triggering event identification data, wherein the machine learning model is trained on first data that includes a labeled user representing a user profile associated with an application dialog data and on second data that includes the user profile associated with a type of the user interaction data;

receiving, from the machine learning model, a triggering event associated with an application external to the group-based communication system;

sending an application dialog request, associated with the triggering event, to the application;

in response to sending the application dialog request to the application, receiving an application dialog from the application, wherein the application dialog includes instructions for rendering, via a group-based communication user interface associated with the group-based communication system, a group-based message including a template associated with the application; and

based at least in part on a determination that the application is validated for communication with the client device, outputting the application dialog to the client device for display via the group-based communication user interface.

17. The one or more non-transitory computer-readable media of claim 16 , wherein the user interaction data is associated with at least one of a message, an input, an upload, or another user engagement with the group-based communication user interface, the operations further comprising identifying the triggering event from within the user interaction data based at least in part on parsing the user interaction data.

18. The one or more non-transitory computer-readable media of claim 16 , wherein the triggering event is stored with the historical triggering event identification data by the group-based communication system for training the machine learning model.

19. The one or more non-transitory computer-readable media of claim 16 , the operations further comprising:

comparing the user interaction data to a trigger event registry to identify the triggering event; and

determining an application address associated with the application and the triggering event, wherein the application dialog request is sent to the application address.

20. The one or more non-transitory computer-readable media of claim 16 , wherein the application dialog, when received from the application, is associated with dialog validation data, and wherein the determination that the application is validated is based at least in part on:

comparing the dialog validation data to one or more validation parameters; and

determining that the dialog validation data satisfies the one or more validation parameters.

Assignments (4)
MERGER Recorded Nov 21, 2022
From: SLACK TECHNOLOGIES, LLC
To: SALESFORCE.COM, INC.
Reel/Frame 061972/0569 →
CHANGE OF NAME Recorded Nov 21, 2022
From: SALESFORCE.COM, INC.
To: SALESFORCE, INC.
Reel/Frame 061972/0769 →
MERGER AND CHANGE OF NAME Recorded Oct 1, 2021
From: SLACK TECHNOLOGIES, INC.; SLACK TECHNOLOGIES, LLC
To: SLACK TECHNOLOGIES, LLC
Reel/Frame 057683/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 9, 2021
From: FERRICK, ALLEN JAMES; ISHAQ, EDWARD; CHOI, HYE JUNG; NORRIS, JASON; XIE, KEFAN; SHETTY, PRAJNA; AGARWAL, PRANAY
To: SLACK TECHNOLOGIES, INC.
Reel/Frame 055198/0581 →
Continuity (3)
Continuation 15783647 · Oct 13, 2017
Provisional Application 62564045 · Sep 27, 2017
Related Publication 20210168102A1 · Jun 3, 2021