IP Library Granted Patent US 12,021,805
Granted Patent B2
US 12,021,805 · App. 17/566,947 · Granted Jun 25, 2024

Collaboration software development kit

Inventors: Andrew Fong (Menlo Park, CA); Scott Goodfriend (Berkeley, CA)
Assignee: Salesforce, Inc.
H04L51/10H04L51/046G06Q10/103
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 12,021,805
App. No.
17/566,947
Granted
Jun 25, 2024
Kind
B2
Abstract

Systems, methods, and computer-readable media are provided for collaboration in a group-based communication system via a third-party integration. A new collaboration instance controller is initialized which allows the third-party integration to request and receive group-based communication system objects from the group-based communication system.

Claims (48)

1. One or more non-transitory computer-readable media storing computer-executable instructions that, when executed by a processor, perform a method for collaboration in a group-based communication system via a third-party integration, the method comprising:

receiving a first request to initialize a new collaboration instance controller from the third-party integration,

wherein the first request includes configuration settings and an indicia of access rights to objects maintained by the group-based communication system, and

wherein the indicia of access rights are in part based on access rights of a user of the group-based communication system with respect to individual ones of the objects;

initializing the new collaboration instance controller based on the configuration settings;

receiving a second request from the third-party integration for one or more group-based communication system objects associated with the user via the new collaboration instance controller, the second request including one or more object identifiers associated with the one or more group-based communication system objects, and the new collaboration instance controller is to function for a predetermined period of time that is based on at least one of the third-party integration or an authentication token;

determining that the third-party integration has permission to access the one or more group-based communication system objects based on the indicia of access rights and the one or more object identifiers; and

transmitting to the third-party integration the one or more group-based communication system objects.

2. The non-transitory computer-readable media of claim 1 , wherein the third-party integration allows one or more third-party objects to be natively displayed within the group-based communication system.

3. The non-transitory computer-readable media of claim 1 , wherein the one or more group-based communication system objects are channels, workspaces, users, files, or emojis.

4. The non-transitory computer-readable media of claim 1 , wherein the third-party integration executes within a client of the group-based communication system.

5. The non-transitory computer-readable media of claim 1 , wherein the one or more group-based communication system objects includes a document, and wherein transmitting to the third-party integration further includes instructions for natively displaying the document.

6. The non-transitory computer-readable media of claim 1 , wherein the first request to initialize the new collaboration instance controller further includes an authorization token, and wherein initializing the new collaboration instance controller is further based on validating the authorization token.

7. The non-transitory computer-readable media of claim 1 , further comprising:

detecting an update to at least one of the one or more group-based communication system objects; and

transmitting the update to the at least one of the one or more group-based communication system objects to the third-party integration.

8. A method for collaboration in a group-based communication system via a third-party integration, the method comprising:

receiving a first request to initialize a new collaboration instance controller from the third-party integration,

wherein the first request includes configuration settings and an indicia of access rights to objects maintained by the group-based communication system, and

wherein the indicia of access rights are in part based on access rights of a user of the group-based communication system with respect to individual ones of the objects;

initializing the new collaboration instance controller based on the configuration settings;

receiving a second request from the third-party integration for one or more group-based communication system objects associated with the user via the new collaboration instance controller, the second request including one or more object identifiers associated with the one or more group-based communication system objects, and the new collaboration instance controller is to function for a predetermined period of time that is based on at least one of the third-party integration or an authentication token;

determining that the third-party integration has permission to access the one or more group-based communication system objects based on the indicia of access rights and the one or more object identifiers; and

transmitting to the third-party integration the one or more group-based communication system objects.

9. The method of claim 8 , wherein the third-party integration allows one or more third-party objects to be natively displayed within the group-based communication system.

10. The method of claim 8 , wherein the one or more group-based communication system objects are channels, workspaces, users, files, or emojis.

11. The method of claim 8 , wherein the third-party integration executes within a client of the group-based communication system.

12. The method of claim 8 , wherein the one or more group-based communication system objects includes a document, and wherein transmitting to the third-party integration further includes instructions for natively displaying the document.

13. The method of claim 8 , wherein the first request to initialize the new collaboration instance controller further includes an authorization token, and wherein initializing the new collaboration instance controller is further based on validating the authorization token.

14. The method of claim 8 , further comprising:

detecting an update to at least one of the one or more group-based communication system objects; and

transmitting the update to the at least one of the one or more group-based communication system objects to the third-party integration.

15. A system for collaboration in a group-based communication system via a third-party integration, the system comprising:

a data store associated with the group-based communication system; and

a processor programmed to perform a method for collaboration in the group-based communication system via the third-party integration, the method comprising:

receiving a first request to initialize a new collaboration instance controller from the third-party integration, wherein the first request includes configuration settings and an indicia of access rights to objects maintained by the group-based communication system, and

wherein the indicia of access rights are in part based on the access rights of a user of the group-based communication system with respect to individual ones of the objects;

initializing the new collaboration instance controller based on the configuration settings;

receiving a second request from the third-party integration for one or more group-based communication system objects associated with the user via the new collaboration instance controller, the second request including one or more object identifiers associated with the one or more group-based communication system objects, and the new collaboration instance controller is to function for a predetermined period of time that is based on at least one of the third-party integration or an authentication token;

determining that the third-party integration has permission to access the one or more group- based communication system objects based on the indicia of access rights and the one or more object identifiers; and

transmitting to the third-party integration the one or more group-based communication system objects.

16. The system of claim 15 , wherein the third-party integration allows one or more third-party objects to be natively displayed within the group-based communication system.

17. The system of claim 15 , wherein the third-party integration executes within a client of the group-based communication system.

18. The system of claim 15 , wherein the one or more group-based communication system objects includes a document, and wherein transmitting to the third-party integration further includes instructions for natively displaying the document.

19. The system of claim 15 , wherein the first request to initialize the new collaboration instance controller further includes an authorization token, and wherein initializing the new collaboration instance controller is further based on validating the authorization token.

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

detecting an update to at least one of the one or more group-based communication system objects; and

transmitting the update to the at least one of the one or more group-based communication system objects to the third-party integration.