IP Library Granted Patent US 11,848,936
Granted Patent B2
US 11,848,936 · App. 17/380,580 · Granted Dec 19, 2023

Method, apparatus, and computer program product for selectively granting permissions to group-based objects in a group-based communication system

Inventors: Meagan Gamache (Palo Alto, CA); Diogenes Brito (Brooklyn, NY); Buster Benson (Berkeley, CA); Kefan Xie (Toronto, CA); Paul Matthew Jennings (Redwood City, CA); Christopher Sullivan (Wellesley, MA); Benjamin William Scholey Redman (Seattle, WA)
Assignee: Salesforce, Inc.
H04L63/104H04L63/0853H04L67/53
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,848,936
App. No.
17/380,580
Granted
Dec 19, 2023
Kind
B2
Abstract

Embodiments of the present disclosure provide methods, systems, apparatuses, and computer program products that provide for an improved, more efficient, and more stable system of networked computing devices. The embodiments disclose an apparatus and system that enable client devices to selectively grant to third party applications permissions to access group-based communication objects of a group-based communication system. The apparatus and system further enable client devices to selectively grant to third party applications permissions to take specific actions with regards to the group-based communication objects within the system. To accomplish the improvements, the disclosed systems, apparatuses, and computing devices maintain a record of the permissions granted to third party applications in a permissions table stored in a computer storage device. The permissions table may be modified to expand the permissions granted to the third party application without requiring a new authentication process that issues a new authenticating token. Further, third party applications are installed at a group level and not at a user level within the system, which increases system stability and efficiency.

Claims (58)

1. One or more non-transitory computer-readable media storing computer-executable instructions that, when executed by a processor, perform a method of controlling access to a third-party application (app) on a group-based communication platform, the method comprising:

providing a group-based communication channel on the group-based communication platform,

wherein the group-based communication channel is accessible by a plurality of channel members and provides communication between the plurality of channel members;

providing the third-party app on the group-based communication platform;

receiving a request to access the third-party app by a user of the group-based communication channel;

adding the third-party app to the group-based communication channel based on the request of the user,

wherein the third-party app is accessible to the plurality of channel members;

generating a plurality of app tokens associated with the plurality of channel members; and

granting, to the third-party app, access to group-based communication objects within the group-based communication channel based on the plurality of app tokens.

2. The one or more non-transitory computer-readable media of claim 1 , wherein the user is an administrator of the group-based communication platform and manages installation of the third-party app across a plurality of group-based communication channels.

3. The one or more non-transitory computer-readable media of claim 1 , wherein the method further comprises:

initiating installation of the third-party app to the group-based communication channel by selection of a third-party app identifier.

4. The one or more non-transitory computer-readable media of claim 1 , wherein the user is an administrator of the group-based communication platform and controls accessibility of the plurality of channel members to the third-party app.

5. The one or more non-transitory computer-readable media of claim 1 , wherein interaction of the third-party app with the plurality of channel members is only permitted to the plurality of channel members within the group-based communication channel.

6. The one or more non-transitory computer-readable media of claim 1 , wherein one or more app tokens from the plurality of app tokens comprise:

an app identifier associated with one or more channel members from the plurality of channel members; and

a group identifier associated with the group-based communication channel.

7. The one or more non-transitory computer-readable media of claim 1 , wherein the method further comprises:

retrieving the plurality of app tokens from a group-based communication repository communicatively connected to the group-based communication platform.

8. A method of controlling access to a third-party application (app) on a group-based communication platform, the method comprising:

providing a group-based communication channel on the group-based communication platform,

wherein the group-based communication channel is accessible by a plurality of channel members and provides communication between the plurality of channel members;

providing the third-party app on the group-based communication platform;

receiving a request to access the third-party app by a user of the group-based communication channel;

adding the third-party app to the group-based communication channel based on the request of the user,

wherein the third-party app is accessible to the plurality of channel members;

generating a plurality of app tokens associated with the plurality of channel members; and

granting, to the third-party app, access to group-based communication objects within the group-based communication channel based on the plurality of app tokens.

9. The method of claim 8 , wherein the user is an administrator of the group-based communication platform and manages installation of the third-party app across a plurality of group-based communication channels.

10. The method of claim 8 , wherein the method further comprises:

initiating installation of the third-party app to the group-based communication channel by selection of a third-party app identifier.

11. The method of claim 8 , wherein the user is an administrator of the group-based communication platform and controls accessibility of the plurality of channel members to the third-party app.

12. The method of claim 8 , wherein interaction of the third-party app with the plurality of channel members is only permitted to the plurality of channel members within the group-based communication channel.

13. The method of claim 8 , wherein one or more app tokens from the plurality of app tokens comprise:

an app identifier associated with one or more channel members from the plurality of channel members; and

a group identifier associated with the group-based communication channel.

14. The method of claim 8 , wherein the method further comprises:

retrieving the plurality of app tokens from a group-based communication repository communicatively connected to the group-based communication platform.

15. A system for controlling access to a third-party application (app) on a group-based communication platform, the system comprising:

a memory; and

a hardware processor executing instructions programmed to perform a method for controlling access to the third-party app on the group-based communication platform, the method comprising:

providing a group-based communication channel on the group-based communication platform,

wherein the group-based communication channel is accessible by a plurality of channel members and provides communication between the plurality of channel members;

providing the third-party app on the group-based communication platform;

receiving a request to access the third-party app by a user of the group-based communication channel;

adding the third-party app to the group-based communication channel based on the request of the user,

wherein the third-party app is accessible to the plurality of channel members;

generating a plurality of app tokens associated with the plurality of channel members; and

granting, to the third-party app, access to group-based communication objects within the group-based communication channel based on the plurality of app tokens.

16. The system of claim 15 , wherein the user is an administrator of the group-based communication platform and manages installation of the third-party app across a plurality of group-based communication channels.

17. The system of claim 15 , wherein the method further comprises:

initiating installation of the third-party app to the group-based communication channel by selection of a third-party app identifier.

18. The system of claim 15 , wherein the user is an administrator of the group-based communication platform and controls accessibility of the plurality of channel members to the third-party app.

19. The system of claim 15 , wherein one or more app tokens from the plurality of app tokens comprise:

an app identifier associated with one or more channel members from the plurality of channel members; and

a group identifier associated with the group-based communication channel.

20. The system of claim 15 , wherein the method further comprises:

retrieving the plurality of app tokens from a group-based communication repository communicatively connected to the group-based communication platform.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 18, 2023
From: SLACK TECHNOLOGIES, LLC
To: SALESFORCE, INC.
Reel/Frame 064642/0564 →
MERGER Recorded Jul 29, 2021
From: SLACK TECHNOLOGIES, INC.
To: SLACK TECHNOLOGIES, LLC
Reel/Frame 057475/0404 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 20, 2021
From: GAMACHE, MEAGAN; BRITO, DIOGENES; BENSON, BUSTER; XIE, KEFAN; JENNINGS, PAUL MATTHEW; SULLIVAN, CHRISTOPHER; REDMAN, BENJAMIN WILLIAM SCHOLEY
To: SLACK TECHNOLOGIES, INC.
Reel/Frame 056916/0421 →
Continuity (2)
Continuation 15894821 · Feb 12, 2018
Related Publication 20210385228A1 · Dec 9, 2021