IP Library Granted Patent US 10,771,589
Granted Patent B1
US 10,771,589 · App. 16/399,730 · Granted Sep 8, 2020

Systems and methods for initiating processing actions utilizing automatically generated data of a group-based communication system

Inventors: Diogenes Brito (San Francisco, CA); Salman Suhail (San Francisco, CA); Bruce Sullivan (San Francisco, CA); Patricia Ang (Oakland, CA); Hye Jung Choi (San Mateo, CA); Prajna Shetty (San Francisco, CA); Andrew Fong (Menlo Park, CA); Michael Deng (San Francisco, CA); Stephen Sowole (San Francisco, CA); Tolga Akin (San Francisco, CA); Pranay Agarwal (San Francisco, CA)
Assignee: Slack Technologies, Inc.
H04L67/32H04L67/2842H04L67/42
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 10,771,589
App. No.
16/399,730
Granted
Sep 8, 2020
Kind
B1
Abstract

A group-based communication platform is configured to initialize processing actions executable via validated external resources. Moreover, the group-based communication platform may recommend specific processing actions to a user based at least in part on the user's activity in interacting with the group-based communication platform (e.g., via a client device), wherein such activity may be represented as environmental contextual data. Moreover, once the user selects a particular processing action for execution, the group-based communication retrieves at least a portion of the generated environmental contextual data to be passed to the validated external resource for use in executing the selected processing action.

Claims (65)

1. A system configured for initializing a processing action via a group-based communication platform in communication with an validated external resource, wherein the group-based communication platform comprises:

one or more non-transitory memory storage repositories, wherein the one or more non-transitory memory storage repositories comprise a processing action table identifying one or more processing actions; and

one or more processors, wherein the one or more processors are collectively configured to:

receive a selection of a processing action for initialization from a client device, wherein the processing action is selected from the processing action table;

generate a container comprising routing data and payload data, wherein the routing data identifies the processing action selected from the processing action table to be performed by an validated external resource and the payload data comprises environmental contextual data generated based at least in part on interactions of the client device with the group-based communication platform during a current connection session;

provide the container to the validated external resource to initialize the identified processing action based at least in part on the payload data;

receive a response from the validated external resource, wherein the response comprises data identifying one or more interactive dialogs for presentation to the client device;

based at least in part on the response, cause the client device to display the one or more interactive dialogs;

receive additional data from the client device via the one or more interactive dialogs; and

transmit the additional data to the validated external resource to utilize the additional data to execute the processing action.

2. The system of claim 1 , wherein the one or more processors are further configured to receive the environmental contextual data generated at the client device.

3. The system of claim 1 , wherein the one or more processors are further configured to:

generate the environmental contextual data to represent user interactions with a group-based communication interface transmitted to the client device during the current communication session; and

store the environmental contextual data within a cache memory portion of the one or more non-transitory memory storage repositories; and

wherein the environmental contextual data provided within the payload data is retrieved from the cache memory portion of the one or more non-transitory memory storage repositories.

4. The system of claim 1 , wherein the processing action is selected from a contextual processing action list populated from the processing action table, wherein the contextual processing action list is populated with a plurality of available processing actions selected based at least in part on the environmental contextual data.

5. The system of claim 4 , wherein the available processing actions within the contextual processing action list are ranked based on a determined relevance score generated for each available processing action based at least in part on the environmental contextual data.

6. The system of claim 1 , wherein the processing action is selected from one of a plurality of available processing action types, and wherein the processing action is selected from a contextual processing action list populated from the processing action table, wherein the contextual processing action list is populated with a plurality of available processing actions of the selected processing action type.

7. The system of claim 1 , wherein the environmental contextual data is selected for inclusion with the payload data based at least in part on the selected processing action.

8. The system of claim 1 , wherein the environmental contextual data comprises one or more of: a current session identifier, an active group identifier, or an active channel identifier.

9. The system of claim 1 , wherein the one or more interactive dialogs each comprise one or more fillable form fields and at least one of the one or more fillable form fields of at least one of the one or more interactive dialogs comprise data generated automatically based at least in part on the environmental contextual data.

10. The system of claim 9 , wherein at least a portion of the additional data comprises user input.

11. The system of claim 10 , wherein at least a portion of the additional data comprises user input confirming the data generated automatically based at least in part on the environmental contextual data.

12. A computer-program product for initializing a processing action via a group-based communication platform in communication with an validated external resource, the computer program product comprising at least one non-transitory computer-readable storage medium having computer-readable program code portions stored therein, the computer-readable program code portions comprising an executable portion configured to:

receive a selection of a processing action for initialization from a client device, wherein the processing action is selected from a processing action table identifying one or more processing actions;

generate a container comprising routing data and payload data, wherein the routing data identifies the processing action selected from the processing action table to be performed by an validated external resource and the payload data comprises environmental contextual data generated based at least in part on interactions of the client device with the group-based communication platform during a current connection session;

provide the container to the validated external resource to initialize the identified processing action based at least in part on the payload data;

receive a response from the validated external resource, wherein the response comprises data identifying one or more interactive dialogs for presentation to the client device;

based at least in part on the response, cause the client device to display the one or more interactive dialogs;

receive additional data from the client device via the one or more interactive dialogs; and

transmit the additional data to the validated external resource to utilize the additional data to execute the processing action.

13. The computer program product of claim 12 , wherein the computer-readable program code portions further comprise an executable portion to receive the environmental contextual data generated at the client device.

14. The computer program product of claim 12 , wherein the computer-readable program code portions further comprise an executable portion to:

generate the environmental contextual data to represent user interactions with a group-based communication interface transmitted to the client device during the current communication session; and

store the environmental contextual data within a cache memory portion of the one or more non-transitory memory storage repositories; and

wherein the environmental contextual data provided within the payload data is retrieved from the cache memory portion of the one or more non-transitory memory storage repositories.

15. The computer program product of claim 12 , wherein the processing action is selected from a contextual processing action list populated from the processing action table, wherein the contextual processing action list is populated with a plurality of available processing actions selected based at least in part on the environmental contextual data.

16. The computer program product of claim 15 , wherein the available processing actions within the contextual processing action list are ranked based on a determined relevance score generated for each available processing action based at least in part on the environmental contextual data.

17. The computer program product of claim 12 , wherein the processing action is selected from one of a plurality of available processing action types, and wherein the processing action is selected from a contextual processing action list populated from the processing action table, wherein the contextual processing action list is populated with a plurality of available processing actions of the selected processing action type.

18. The computer program product of claim 12 , wherein the environmental contextual data is selected for inclusion with the payload data based at least in part on the selected processing action.

19. The computer program product of claim 12 , wherein the environmental contextual data comprises one or more of: a current session identifier, an active group identifier, or an active channel identifier.

20. The computer program product of claim 12 , wherein the one or more interactive dialogs each comprise one or more fillable form fields and at least one of the one or more fillable form fields of at least one of the one or more interactive dialogs comprise data generated automatically based at least in part on the environmental contextual data.

21. The computer program product of claim 19 , wherein at least a portion of the additional data comprises user input.

22. The computer program product of claim 20 , wherein at least a portion of the additional data comprises user input confirming the data generated automatically based at least in part on the environmental contextual data.

23. A computer-implemented method for initializing a processing action via a group-based communication platform in communication with an validated external resource, the method comprising:

receiving, via one or more processors, a selection of a processing action for initialization from a client device, wherein the processing action is selected from a processing action table stored within one or more non-transitory memory storage repositories and wherein the processing action table identifies one or more processing actions;

generating, via the one or more processors, a container comprising routing data and payload data, wherein the routing data identifies the processing action selected from the processing action table to be performed by an validated external resource and the payload data comprises environmental contextual data generated based at least in part on interactions of the client device with the group-based communication platform during a current connection session;

providing, via the one or more processors, the container to the validated external resource to initialize the identified processing action based at least in part on the payload data;

receiving, via the one or more processors, a response from the validated external resource, wherein the response comprises data identifying one or more interactive dialogs for presentation to the client device;

based at least in part on the response, causing the client device to display the one or more interactive dialogs;

receiving, via the one or more processors, additional data from the client device via the one or more interactive dialogs; and

transmitting, via the one or more processors, the additional data to the validated external resource to utilize the additional data to execute the processing action.

24. The computer-implemented method of claim 23 , further comprising receiving the environmental contextual data generated at the client device.

25. The computer-implemented method of claim 23 , further comprising:

generate the environmental contextual data to represent user interactions with a group-based communication interface transmitted to the client device during the current communication session; and

store the environmental contextual data within a cache memory portion of the one or more non-transitory memory storage repositories; and

wherein the environmental contextual data provided within the payload data is retrieved from the cache memory portion of the one or more non-transitory memory storage repositories.

26. The computer-implemented method of claim 23 , wherein the processing action is selected from a contextual processing action list populated from the processing action table, wherein the contextual processing action list is populated with a plurality of available processing actions selected based at least in part on the environmental contextual data.

27. The computer-implemented method of claim 26 , wherein the available processing actions within the contextual processing action list are ranked based on a determined relevance score generated for each available processing action based at least in part on the environmental contextual data.

28. The computer-implemented method of claim 23 , wherein the processing action is selected from one of a plurality of available processing action types, and wherein the processing action is selected from a contextual processing action list populated from the processing action table, wherein the contextual processing action list is populated with a plurality of available processing actions of the selected processing action type.

29. The computer-implemented method of claim 23 , wherein the environmental contextual data is selected for inclusion with the payload data based at least in part on the selected processing action.

30. The computer-implemented method of claim 23 , wherein the environmental contextual data comprises one or more of: a current session identifier, an active group identifier, or an active channel identifier.

31. The computer-implemented method of claim 23 , wherein the one or more interactive dialogs each comprise one or more fillable form fields and at least one of the one or more fillable form fields of at least one of the one or more interactive dialogs comprise data generated automatically based at least in part on the environmental contextual data.

32. The computer-implemented method of claim 31 , wherein at least a portion of the additional data comprises user input.

33. The computer-implemented method of claim 32 , wherein at least a portion of the additional data comprises user input confirming the data generated automatically based at least in part on the environmental contextual data.

Assignments (6)
MERGER Recorded Jan 11, 2023
From: SLACK TECHNOLOGIES, LLC
To: SALESFORCE.COM, INC.
Reel/Frame 062354/0073 →
CHANGE OF NAME Recorded Jan 11, 2023
From: SALESFORCE.COM, INC.
To: SALESFORCE, INC.
Reel/Frame 062354/0100 →
MERGER AND CHANGE OF NAME Recorded Oct 1, 2021
From: SLACK TECHNOLOGIES, INC.; SLACK TECHNOLOGIES, LLC
To: SLACK TECHNOLOGIES, LLC
Reel/Frame 057683/0001 →
RELEASE OF SECURITY INTEREST IN PATENT COLLATERAL AT REEL/FRAME NO. 49332/0349 Recorded Jul 19, 2021
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: SLACK TECHNOLOGIES, INC.
Reel/Frame 057649/0882 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 20, 2020
From: BRITO, DIOGENES; SUHAIL, SALMAN; SULLIVAN, BRUCE; ANG, PATRICIA; CHOI, HYE JUNG; SHETTY, PRAJNA; FONG, ANDREW; DENG, MICHAEL; SOWOLE, STEPHEN; AKIN, TOLGA; AGARWAL, PRANAY
To: SLACK TECHNOLOGIES, INC.
Reel/Frame 052177/0330 →
PATENT SECURITY AGREEMENT Recorded May 30, 2019
From: SLACK TECHNOLOGIES, INC.
To: MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL AGENT
Reel/Frame 049332/0349 →
Cited By (2)
US 12,373,229 US 12,474,926