IP Library Granted Patent US 11,489,932
Granted Patent B2
US 11,489,932 · App. 16/927,214 · Granted Nov 1, 2022

System, method, and apparatus for generating a third party resource usage map in a group based communication system

Inventors: Meagan Gamache (San Francisco, CA); Buster Benson (San Francisco, CA)
Assignee: Slack Technologies, LLC
H04L67/53H04L63/0807H04L67/535H04L63/10
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,489,932
App. No.
16/927,214
Granted
Nov 1, 2022
Kind
B2
Abstract

Embodiments of the present disclosure provide methods, systems, apparatuses, and computer program products for generating a third-party resource usage map in a group based communication system, where the third-party resource usage map comprises a plurality of third party resource usage records and each third-party resource usage record comprises a user identifier, a third-party resource provider identifier, and a third-party resource access token.

Claims (73)

1. A method, implemented at least in part by a server computing device associated with a communication platform, comprising:

receiving, from a computing device associated with a first third-party resource, an access token associated with access to the first third-party resource;

sending, to the computing device, an instruction for the first third-party resource to generate a first user account associated with a first user of the communication platform, the instruction comprising the access token and a first user identifier associated with the first user;

receiving, from the computing device and based at least in part on sending the instruction, an indication that the first user account has been generated by the first third-party resource;

generating, based at last in part on receiving the indication, a first record indicating an association between the first user identifier and the first user account;

determining that the first user is associated with one of a communication channel or a group identifier;

identifying a second user that is associated with the one of the communication channel or the group identifier; and

in response to determining that the second user is associated with a second record indicating an association between the second user and a second third-party resource, sending, to a user computing device associated with the first user, a recommendation to access the second third-party resource.

2. The method of claim 1 , further comprising:

associating the first record with a plurality of records corresponding to a plurality of users associated with the communication platform.

3. The method of claim 1 , further comprising:

receiving, from a user computing device associated with the first user, a request to access the first third-party resource; and

sending, to the computing device associated with the first third-party resource, the access token to enable the first user to access the first third-party resource.

4. The method of claim 1 , further comprising:

receiving, from the user computing device associated with the first user, a request to access the second third-party resource; and

receiving, from a computing device associated with the second third-party resource, an access token associated with access to the second third-party resource.

5. The method of claim 4 , further comprising:

sending, to the computing device associated with the second third-party resource, the access token to enable the first user to access the second third-party resource; and

generating a new record indicating an association between the first user and the second third-party resource.

6. The method of claim 1 , wherein the instruction to generate the first user account is sent at a first time, the method further comprising:

receiving, from a user computing device associated with the first user and at a second time prior to the first time, a request to access the first third-party resource; and

sending the instruction for the first third-party resource to generate the first user account based at least in part on a determination that a database does not include the first record indicating the association between the first user identifier and the first user account.

7. A system comprising:

one or more processors; and

computer readable media storing instructions that, when executed, cause the system to perform operations comprising:

receiving, from a computing device associated with a first third-party resource, a first access token associated with access to the first third-party resource;

sending, to the computing device, an instruction for the first third-party resource to generate a first user account associated with a first user of a communication platform, the instruction comprising the first access token and a first user identifier associated with the first user;

receiving, from the computing device and based at least in part on sending the instruction, an indication that the first user account has been generated by the first third-party resource;

generating, based at last in part on receiving the indication, a first record indicating an association between the first user identifier and the first user account;

determining that the first user is associated with at least one of a communication channel, an organization, or a group identifier;

identifying a second user that is associated with the at least one of the communication channel, the organization, or the group identifier; and

in response to determining that the second user is associated with a second record indicating an association between the second user and a second third-party resource, sending, to a user computing device associated with the first user, a recommendation to access the second third-party resource.

8. The system of claim 7 , the operations further comprising:

associating the first record with a plurality of records corresponding to a plurality of users associated with the communication platform.

9. The system of claim 7 , wherein the first record is stored in association with at least one of:

the first user identifier;

a group associated with the first user;

the organization; or

the communication channel.

10. The system of claim 7 , the operations further comprising:

receiving, from the user computing device and based at least in part on the recommendation, a request to access the second third-party resource; and

sending, to a second computing device associated with the second third-party resource, an instruction for the second third-party resource to generate a second user account associated with the first user, the instruction comprising a second access token and the first user identifier associated with the first user.

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

in response to receiving the request to access the second third-party resource, determining that the second user account has been generated by the second third-party resource; and

storing a second record in the database indicating an association between the first user identifier and the second user account.

12. The system of claim 7 , wherein the instruction to generate the first user account is sent at a first time, the operations further comprising:

receiving, from a user computing device associated with the first user at a second time prior to the first time, a request to access the first third-party resource; and

sending the instruction for the first third-party resource to generate the first user account based at least in part on a determination that a database does not include the first record indicating the association between the first user identifier and the first user account.

13. The system of claim 7 , the operations further comprising:

sending, to the computing device associated with the first third-party resource, a request for usage information associated with the first third-party resource; and

receiving, from the computing device and based at least in part on the request, the first access token associated with access to the first third-party resource.

14. The system of claim 7 , wherein the first access token comprises a cryptic string generated by an authentication server associated with the first third-party resource.

15. One or more non-transitory computer readable media storing computer-executable instructions that, when executed by one or more processors of a computing device, cause the computing device to perform operations comprising:

receiving, from a computing device associated with a first third-party resource, an access token associated with access to the first third-party resource;

sending, to the computing device, an instruction for the first third-party resource to generate a first user account associated with a first user of a communication platform, the instruction comprising the access token and a first user identifier associated with the first user;

receiving, from the computing device and based at least in part on sending the instruction, an indication that the first user account has been generated by the first third-party resource;

generating, based at last in part on receiving the indication, a first record indicating an association between the first user identifier and the first user account;

determining that the first user is associated with one of a communication channel, an organization, or a group identifier;

identifying a second user that is associated with the one of the communication channel or the group identifier; and

in response to determining that the second user is associated with a second record indicating an association between the second user and a second third-party resource, sending, to a user computing device associated with the first user, a recommendation to access the second third-party resource.

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

associating the first record with a plurality of records corresponding to a plurality of users associated with the communication platform.

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

sending, to the computing device associated with the first third-party resource, a request for usage information associated with the first third-party resource; and

receiving, from the computing device and based at least in part on the request, the access token associated with access to the first third-party resource.

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

receiving, from the user computing device and based at least in part on the recommendation, a request to access the second third-party resource; and

sending, to a second computing device associated with the second third-party resource, an instruction for the second third-party resource to generate a second user account associated with the first user, the instruction comprising a second access token and the first user identifier associated with the first user.

19. The one or more non-transitory computer readable media of claim 18 ,

wherein the instruction is sent based at least in part on the request to access the second third-party resource.

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

receiving, from a user computing device associated with the first user, a request to access the first third-party resource; and

sending, to the computing device associated with the first third-party resource, the access token to enable the first user to access the first third-party resource.

Assignments (4)
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 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 13, 2020
From: GAMACHE, MEAGAN; BENSON, BUSTER
To: SLACK TECHNOLOGIES, INC.
Reel/Frame 053192/0452 →
Continuity (3)
Continuation 16221225 · Dec 14, 2018
Provisional Application 62599482 · Dec 15, 2017
Related Publication 20200344312A1 · Oct 29, 2020