IP Library Granted Patent US 11,909,742
Granted Patent B2
US 11,909,742 · App. 17/676,054 · Granted Feb 20, 2024

Managing admin controlled access of external resources to group-based communication interfaces via a group-based communication system

Inventors: Salman Suhail (San Francisco, CA); Saurabh Sahni (Sunnyvale, CA); Kefan Xie (Toronto, CA); Emilio Aurea (Albany, CA); Shilpi Sanchetee (San Francisco, CA); Nupur Goyal (San Francisco, CA); Carly Robinson (San Francisco, CA)
Assignee: Salesforce, Inc.
H04L63/104H04L9/3213H04L63/105H04L63/20
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,909,742
App. No.
17/676,054
Granted
Feb 20, 2024
Kind
B2
Abstract

Embodiments of the present disclosure relate to managing admin-controlled access of external resources to group-based communication interfaces associated with an organization, via a group-based communication system including APIs for improved external resource permissioning, provisioning, and access handling. Embodiments include methods, computer program products, apparatuses, and systems configured to receive an external resource access request, determine an organization identifier, obtain an admin response indication, set an external resource permission status for the external resource based on the admin response indication, and cause rendering of the requested group-based communication interface based on the admin response indication. Embodiments further relate to provisioning and handling requests for services associated with an external resource by managing one or more single-interface access tokens linked to a multi-interface access token.

Claims (72)

1. A group-based communication system comprising at least one processor and at least one memory, the at least one memory with computer-coded instructions therein, wherein the computer-coded instructions are configured to, when executed by the at least one processor, cause the group-based communication system to:

receive, from a client, a first request to enable access to a first external resource from within a group-based communication interface;

in response to the first request, transmit an approval request for an admin approval to an admin device associated with an admin user account associated with the group-based communication interface;

receive, from the admin device, the admin approval to enable access to the client to the first external resource from within the group-based communication interface wherein the admin approval is associated with the group-based communication interface and the first external resource;

set a first permission status for the first external resource and a second permission status for a second external resource based at least in part on the admin approval, wherein the first permission status and the second permission status are associated with the group-based communication interface, and wherein the first external resource is different than the second external resource;

based at least in part on receiving the admin approval, cause rendering, to the client, of the group-based communication interface including a component configured to access one or more services provided by the first external resource from within the group-based communication interface;

receive, from the client and within the group-based communication interface, a second request to enable access to the second external resource; and

based at least in part on receiving the second request and the second permission status for the second external resource, cause rendering, to the client, of the group-based communication interface including a component configured to access one or more services provided by the second external resource.

2. The group-based communication system as claim 1 recites, wherein the first request comprises a resource identifier associated with the first external resource and an interface identifier associated with the group-based communication interface.

3. The group-based communication system as claim 2 recites, wherein the computer-coded instructions are configured to further cause the group-based communication system to:

determine, based at least in part on querying a group-based communication repository, an organization identifier associated with the interface identifier.

4. The group-based communication system as claim 3 recites, wherein the computer-coded instructions are configured to further cause the group-based communication system to:

set a third permission status for the first external resource based at least in part on an additional admin approval associated with an organization-linked group-based communication interface associated with the organization identifier.

5. The group-based communication system as claim 3 recites, wherein the computer-coded instructions are configured to further cause the group-based communication system to:

receive, from the admin device, an additional admin approval associated with an organization-linked group-based communication interface associated with the organization identifier,

wherein causing rendering of the group-based communication interface is further based at least in part on receiving the additional admin approval.

6. The group-based communication system as claim 3 recites, wherein the computer-coded instructions are configured to further cause the group-based communication system to:

obtain a multi-interface access token associated with the first external resource;

generate a first single-interface access token for the group-based communication interface;

store the first single-interface access token in association with the multi-interface access token;

generate an additional single-interface access token for the organization identifier; and

store the additional single-interface access token in association with the multi-interface access token.

7. The group-based communication system as claim 3 recites, wherein the computer-coded instructions are configured to further cause the group-based communication system to:

provide, for rendering to the admin device, an administrative management interface associated with the organization identifier, the administrative management interface comprising at least the approval request; and

receive the admin approval in response to user engagement with the administrative management interface.

8. A computer-implemented method comprising:

receive, from a client, a first request to enable access to a first external resource from within a group-based communication interface;

in response to the first request, transmit an approval request for an admin approval to an admin device associated with an admin user account associated with the group-based communication interface;

receive, from the admin device, the admin approval to enable access to the client to the first external resource from within the group-based communication interface wherein the admin approval is associated with the group-based communication interface and the first external resource;

set a first permission status for the first external resource and a second permission status for a second external resource based at least in part on the admin approval, wherein the first permission status and the second permission status are associated with the group-based communication interface, and wherein the first external resource is different than the second external resource;

based at least in part on receiving the admin approval, cause rendering, to the client, of the group-based communication interface including a component configured to access one or more services provided by the first external resource from within the group-based communication interface;

receive, from the client and within the group-based communication interface, a second request to enable access to the second external resource; and

based at least in part on receiving the second request and the second permission status for the second external resource, cause rendering, to the client, of the group-based communication interface including a component configured to access one or more services provided by the second external resource.

9. The computer-implemented method as claim 8 recites, wherein the first request comprises a resource identifier associated with the first external resource and an interface identifier associated with the group-based communication interface.

10. The computer-implemented method as claim 9 recites, further comprising:

determining, based at least in part on querying a group-based communication repository, an organization identifier associated with the interface identifier.

11. The computer-implemented method as claim 10 recites, further comprising:

setting a third permission status for the first external resource based at least in part on an additional admin approval associated with an organization-linked group-based communication interface associated with the organization identifier.

12. The computer-implemented method as claim 10 recites, further comprising:

receiving, from the admin device, an additional admin approval associated with an organization-linked group-based communication interface associated with the organization identifier,

wherein causing rendering of the group-based communication interface is further based at least in part on receiving the additional admin approval.

13. The computer-implemented method as claim 10 recites, further comprising:

obtaining a multi-interface access token associated with the first external resource;

generating a first single-interface access token for the group-based communication interface;

storing the first single-interface access token in association with the multi-interface access token;

generating an additional single-interface access token for the organization identifier; and

storing the additional single-interface access token in association with the multi-interface access token.

14. The computer-implemented method as claim 10 recites, further comprising:

providing, for rendering to the admin device, an administrative management interface associated with the organization identifier, the administrative management interface comprising at least the approval request; and

receiving the admin approval in response to user engagement with the administrative management interface.

15. A computer program product comprising at least one non-transitory computer-readable storage medium having computer-executable program code instructions stored therein, the computer-executable program code instructions, in execution with a processor, configured for:

receive, from a client, a first request to enable access to a first external resource from within a group-based communication interface;

in response to the first request, transmit an approval request for an admin approval to an admin device associated with an admin user account associated with the group-based communication interface;

receive, from the admin device, the admin approval to enable access to the client to the first external resource from within the group-based communication interface wherein the admin approval is associated with the group-based communication interface and the first external resource;

set a first permission status for the first external resource and a second permission status for a second external resource based at least in part on the admin approval, wherein the first permission status and the second permission status are associated with the group-based communication interface, and wherein the first external resource is different than the second external resource;

based at least in part on receiving the admin approval, cause rendering, to the client, of the group-based communication interface including a component configured to access one or more services provided by the first external resource from within the group-based communication interface;

receive, from the client and within the group-based communication interface, a second request to enable access to the second external resource; and

based at least in part on receiving the second request and the second permission status for the second external resource, cause rendering, to the client, of the group-based communication interface including a component configured to access one or more services provided by the second external resource.

16. The computer program product as claim 15 recites, wherein the first request comprises a resource identifier associated with the first external resource and an interface identifier associated with the group-based communication interface.

17. The computer program product as claim 16 recites, further comprising program code instructions for:

determining, based at least in part on querying a group-based communication repository, an organization identifier associated with the interface identifier.

18. The computer program product as claim 17 recites, further comprising program code instructions for:

setting a third permission status for the first external resource based at least in part on an additional admin approval associated with an organization-linked group-based communication interface associated with the organization identifier.

19. The computer program product as claim 17 recites, further comprising program code instructions for:

receiving, from the admin device, an additional admin approval associated with an organization-linked group-based communication interface associated with the organization identifier,

wherein causing rendering of the group-based communication interface is further based at least in part on receiving the additional admin approval.

20. The computer program product as claim 17 recites, further comprising program code instructions for:

obtaining a multi-interface access token associated with the first external resource;

generating a first single-interface access token for the group-based communication interface;

storing the first single-interface access token in association with the multi-interface access token;

generating an additional single-interface access token for the organization identifier; and

storing the additional single-interface access token in association with the multi-interface access token.

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 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 25, 2022
From: SUHAIL, SALMAN; SAHNI, SAURABH; XIE, KEFAN; AUREA, EMILIO; SANCHETEE, SHILPI; GOYAL, NUPUR; ROBINSON, CARLY
To: SLACK TECHNOLOGIES, INC.
Reel/Frame 060018/0801 →
MERGER AND CHANGE OF NAME Recorded May 25, 2022
From: SLACK TECHNOLOGIES, INC.; SLACK TECHNOLOGIES, LLC
To: SLACK TECHNOLOGIES, LLC
Reel/Frame 060018/0853 →
Continuity (2)
Continuation 16456675 · Jun 28, 2019
Related Publication 20220286463A1 · Sep 8, 2022