IP Library Granted Patent US 11,451,639
Granted Patent B1
US 11,451,639 · App. 17/334,262 · Granted Sep 20, 2022

Application integration into user profiles within a communication platform

Inventors: Edward Zagat (Menlo Park, CA); Neville Bowers (San Francisco, CA); Maxwell Hayman (Mill Valley, CA); Michael Brevoort (Littleton, CO)
Assignee: Slack Technologies, LLC
H04L67/306H04L67/53H04L67/535H04L67/60
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,451,639
App. No.
17/334,262
Granted
Sep 20, 2022
Kind
B1
Abstract

Techniques for providing an enhanced user profile to provide relevant information to a user requesting to view a user profile associated with another user. In an example, a first user submits a request to view a user profile associated with a second user. In response to receiving the request, the communication platform identifies one or more communication objects (e.g., communication channels, direct messaging instances, messages, threads, etc.) and/or one or more applications (third-party applications, first party applications, etc.) associated with the second user and/or the first user. The communication platform causes a display of indicator(s) associated with the communication object(s) and/or application(s) in association with the user profile, such as to enable efficient access to the associated communication object(s) and/or application(s). Additionally, the communication platform can identify additional contacts of the second user and/or inferred characteristics of the second user to present in association with the user profile.

Claims (96)

1. A method, implemented at least in part by one or more computing devices of a communication platform, comprising:

receiving, from a client associated with a first user account of a first user of the communication platform, a request to view a user profile associated with a second user account of a second user of the communication platform;

based at least in part on the request, identifying a third-party application associated with the first user account and the second user account, wherein the third-party application is identified based at least in part on a determination that interactions between the second user account and the third-party application meet or exceed a threshold level of interactions;

accessing third-party application data associated with a third-party account corresponding to the second user; and

causing display of a user profile interface via the client, the user profile interface comprising user data associated with the user profile and the third-party application data.

2. The method of claim 1 , further comprising:

receiving, from the client and via the user profile interface, an input associated with the third-party application data;

sending the input to the third-party application;

receiving response data based at least in part on the input; and

causing display of the response data via the user profile interface.

3. The method of claim 1 , further comprising:

identifying a first characteristic associated with the first user account and a second characteristic associated with the second user account;

identifying a relationship between the first user and the second user based at least in part on the first characteristic and the second characteristic; and

determining, based at least in part on the relationship, that the first user account is permitted access to the third-party application data,

wherein accessing the third-party application data is based at least in part on a second determination that the first user account is permitted access to the third-party application data.

4. The method of claim 1 , wherein the third-party application is a first third-party application, the method further comprising:

identifying a second third-party application associated with the second user account;

determining that a user preference associated with the first user account includes a preference to not view data associated with the second third-party application; and

in response to a second determination that the user preference includes the preference to not view the data, withholding the data associated with the second third-party application from being presented via the user profile interface.

5. The method of claim 1 , further comprising:

determining that a user preference associated with the second user account includes a preference to not publish first data associated with the third-party application; and

in response to a second determination that the user preference includes the preference to not publish the first data, withholding the first data from being presented via the user profile interface,

wherein the third-party application data comprises second data associated with the third-party application.

6. The method of claim 1 , wherein the third-party application is a first third-party application, the method further comprising:

identifying a second third-party application associated with the second user account;

determining a first characteristic associated with the first third-party application and second characteristic associated with the second third-party application; and

ranking the first third-party application and the second third-party application based at least in part on the first characteristic and the second characteristic,

wherein causing the display of the first third-party application is based at least in part on the ranking.

7. The method of claim 6 , wherein the first characteristic and the second characteristic comprise at least one of:

a frequency of use of the first third-party application and the second third-party application;

a recency of use of the first third-party application and the second third-party application;

a priority indication associated with first third-party application data associated with the first third-party application and second third-party application data associated with the second third-party application; or

a level of interaction that is enabled by the first third-party application and the second third-party application.

8. A system comprising:

one or more processors; and

one or more non-transitory computer readable media storing instructions that, when executed, cause the system to:

receive, from a client associated with a first user account of a first user of a communication platform, a request to view a user profile associated with a second user account of a second user of the communication platform;

based at least in part on the request, identify a third-party application associated with the first user account and the second user account, wherein the third-party application is identified based at least in part on a determination that interactions between the second user account and the third-party application meet or exceed a threshold level of interactions;

access third-party application data associated with a third-party account corresponding to the second user; and

cause display of a user profile interface via the client, the user profile interface comprising user data associated with the user profile and the third-party application data.

9. The system of claim 8 , wherein the instructions further cause the system to:

receive, from the client and via the user profile interface, an input associated with the third-party application data;

send the input to the third-party application;

receive response data based at least in part on the input; and

cause display of the response data via the user profile interface.

10. The system of claim 8 , wherein the instructions further cause the system to:

identify a first characteristic associated with the first user account and a second characteristic associated with the second user account;

identify a relationship between the first user and the second user based at least in part on the first characteristic and the second characteristic; and

determine, based at least in part on the relationship, that the first user account is permitted access to the third-party application data,

wherein accessing the third-party application data is based at least in part on a second determination that the first user account is permitted access to the third-party application data.

11. The system of claim 8 , wherein the third-party application is a first third-party application, and wherein the instructions further cause the system to:

identify a second third-party application associated with the second user account;

determine that a user preference associated with the first user account includes a preference to not view data associated with the second third-party application; and

in response to a second determination that the user preference includes the preference to not view the data, withhold the data associated with the second third-party application from being presented via the user profile interface.

12. The system of claim 8 , wherein the instructions further cause the system to:

determine that a user preference associated with the second user account includes a preference to not publish first data associated with the third-party application; and

in response to a second determination that the user preference includes the preference to not publish the first data, withhold the first data from being presented via the user profile interface,

wherein the third-party application data comprises second data associated with the third-party application.

13. The system of claim 8 , wherein the third-party application is a first third-party application, and wherein the instructions further cause the system to:

identify a second third-party application associated with the second user account;

determine a first characteristic associated with the first third-party application and second characteristic associated with the second third-party application; and

rank the first third-party application and the second third-party application based at least in part on the first characteristic and the second characteristic,

wherein causing the display of the first third-party application is based at least in part on the ranking.

14. The system of claim 13 , wherein the first characteristic and the second characteristic comprise at least one of:

a frequency of use of the first third-party application and the second third-party application;

a recency of use of the first third-party application and the second third-party application;

a priority indication associated with first third-party application data associated with the first third-party application and second third-party application data associated with the second third-party application; or

a level of interaction that is enabled by the first third-party application and the second third-party application.

15. One or more non-transitory computer readable media storing instructions that, when executed, cause one or more processors to:

receive, from a client associated with a first user account of a first user of a communication platform, a request to view a user profile associated with a second user account of a second user of the communication platform;

based at least in part on the request, identify a third-party application associated with the first user account and the second user account, wherein the third-party application is identified based at least in part on a determination that interactions between the second user account and the third-party application meet or exceed a threshold level of interactions;

access third-party application data associated with a third-party account corresponding to the second user; and

cause display of a user profile interface via the client, the user profile interface comprising user data associated with the user profile and the third-party application data.

16. The one or more non-transitory computer readable media of claim 15 , wherein the instructions further cause the one or more processors to:

receive, from the client and via the user profile interface, an input associated with the third-party application data;

send the input to the third-party application;

receive response data based at least in part on the input; and

cause display of the response data via the user profile interface.

17. The one or more non-transitory computer readable media of claim 15 , wherein the instructions further cause the one or more processors to:

identify a first characteristic associated with the first user account and a second characteristic associated with the second user account;

identify a relationship between the first user and the second user based at least in part on the first characteristic and the second characteristic; and

determine, based at least in part on the relationship, that the first user account is permitted access to the third-party application data,

wherein accessing the third-party application data is based at least in part on a second determination that the first user account is permitted access to the third-party application data.

18. The one or more non-transitory computer readable media of claim 15 , wherein the third-party application is a first third-party application, and wherein the instructions further cause the one or more processors to:

identify a second third-party application associated with the second user account;

determine that a user preference associated with the first user account includes a preference to not view data associated with the second third-party application; and

in response to a second determination that the user preference includes the preference to not view the data, withhold the data associated with the second third-party application from being presented via the user profile interface.

19. The one or more non-transitory computer readable media of claim 15 , wherein the instructions further cause the one or more processors to:

determine that a user preference associated with the second user account includes a preference to not publish first data associated with the third-party application; and

in response to a second determination that the user preference includes the preference to not publish the first data, withhold the first data from being presented via the user profile interface,

wherein the third-party application data comprises second data associated with the third-party application.

20. The one or more non-transitory computer readable media of claim 15 , wherein the third-party application is a first third-party application, and wherein the instructions further cause the one or more processors to:

identify a second third-party application associated with the second user account;

determine a first characteristic associated with the first third-party application and second characteristic associated with the second third-party application; and

rank the first third-party application and the second third-party application based at least in part on the first characteristic and the second characteristic,

wherein causing the display of the first third-party application is based at least in part on the ranking.

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 May 28, 2021
From: ZAGAT, EDWARD; BOWERS, NEVILLE; HAYMAN, MAXWELL; BREVOORT, MICHAEL
To: SLACK TECHNOLOGIES, INC.
Reel/Frame 056388/0089 →