Integrated workspace on a communication platform

JP2024532326A5Active Publication Date: 2025-08-22SALESFORCE INC
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
JP2024512995
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Priority Date
2021-08-27
Filing Date
2022-08-26
Publication Date
2025-08-22
Estimated Expiration
2042-08-26

AI Technical Summary

Technical Problem

Traditional communication platforms are limited to users within a single organization, restricting collaboration and information sharing across different organizations, leading to inefficient communication and increased network and computational burdens.

Method used

A communication platform that enables the creation of shared workspaces allowing users from different organizations to collaborate by defining criteria for membership and facilitating easy discovery and access to communication channels and users, reducing redundant data distribution and network congestion.

Benefits of technology

Enhances collaboration and efficiency by allowing seamless communication and information sharing across organizational boundaries, reducing network and computational loads by enabling users to discover and access relevant channels and users directly, thus optimizing platform usage.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 00000000_0000_ABST
    Figure 00000000_0000_ABST
Patent Text Reader

Abstract

Creation of a shared workspace to enable communication between users of different organizations and to facilitate discovery of users associated with different organizations is described. A first user can create a shared workspace and associate one or more other organizations with it. The first user can specify first criteria associated with joining the shared workspace. The communication platform can receive a request from a second user to join the shared workspace. Based on a determination that the second user meets the first criteria, the communication platform can enable the second user to access the shared workspace. In some examples, an administrator associated with the second user's organization can establish second criteria for users of the organization to join the shared workspace. In such examples, the communication platform can enable the second user to access the shared workspace based on a determination that the second user also meets the second criteria.
Need to check novelty before this filing date? Find Prior Art

Description

[Technical field]

[0001] [CROSS-REFERENCE TO RELATED APPLICATIONS] This patent application claims priority to U.S. Utility Patent Application No. 17 / 459,235, filed August 27, 2021, which is incorporated by reference herein in its entirety.

[0002] [Technical field] Individuals, as well as various institutions such as businesses, schools, and clubs, are increasingly relying on advanced communication platforms to facilitate efficient task-related communication. An organization may establish and manage one or more workspaces within the organization to, for example, enable groups within the organization to collaborate on related projects. A workspace may include multiple communication channels and direct messaging instances through which members of an organization can communicate and share files and / or other information. However, workspaces in current communication platforms are often limited to users of a single organization. This limitation can reduce the overall effectiveness of the workspace and hinder collaboration with key parties outside the organization. Some workspaces may include shared channels with members of two or more organizations, but access to other communication channels and / or other members of the workspace may be restricted based on the user's organizational affiliation.

[0003] Additionally, traditional workspaces are often not configured to be a place for mass information distribution and / or large-scale project collaboration because they have limited capacity. To provide information to different user groups associated with different organizations, users may publish communications multiple times in multiple different communication channels. Publishing information multiple times can be overly burdensome to users and result in a negative user experience. Publishing information on multiple different channels to reach diverse groups of individuals can further result in inconsistent information being shared, for example if a user fails to publish information to a particular channel. Ultimately, these issues can make communication platforms more of a burden to users than an effective tool and can cause multiple technical issues, such as clogging computer memory with redundant content, congesting network bandwidth, and / or using up computing cycles on servers or cloud services. [Brief description of the drawings]

[0004] The detailed description is set forth with reference to the accompanying drawings, in which the leftmost digit(s) of a reference number identifies the figure in which that reference number first appears. Use of the same reference number in different figures indicates similar or identical components or features. [Figure 1] 1 shows a block diagram illustrating an example system of a computing device that can be used to implement the example techniques described herein. [Diagram 2] FIG. 1 is a schematic diagram of an exemplary user interface associated with a communication platform in which, utilizing the techniques described herein, users can create shared workspaces to enable enhanced collaboration and information distribution. [Figure 3A] 1 illustrates an example user interface associated with accessing an existing shared workspace utilizing the techniques described herein. [Figure 3B] 1 illustrates an example user interface associated with accessing an existing shared workspace utilizing the techniques described herein. [Figure 4A] 1 illustrates an example interface for generating a new shared workspace utilizing techniques described herein. [Figure 4B] 1 illustrates an example interface for generating a new shared workspace utilizing techniques described herein. [Figure 5A] 1 illustrates an exemplary process for generating a new shared workspace utilizing the techniques discussed herein. [Figure 5B] 1 illustrates an example process for determining whether to allow a user to access a shared workspace utilizing techniques described herein. [Figure 6] 1 illustrates an exemplary process for creating and joining an integrated workspace utilizing the techniques described herein. [Figure 7] 1 illustrates an example process for creating and joining a workspace associated with an event utilizing techniques described herein. [Figure 8] 1 illustrates an example process for providing information associated with members of an integrated workspace utilizing techniques described herein. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0005] Techniques are described herein for generating a shared (e.g., unified) workspace for members of different organizations to communicate via a communication platform. The communication platform can be a group-based communication platform, a channel-based messaging platform, and / or any other platform for facilitating communication between users. A first user of a first organization can generate a shared workspace to enable collaboration between a first group of users associated with the first organization and a second group of users not associated with the first organization. In at least one example, the first user can specify criteria for participating in the shared workspace, such as an association with a particular organization (e.g., an employee of the organization, an email with a particular domain name, etc.), an association with an event (e.g., being registered for an event, attending an event, etc.), an indication of interest in a particular topic, etc. Thus, the first user can generate a shared workspace to share information among users who meet the criteria. For example, the first user can generate a workspace to share information with a particular group of users associated with a particular organization. The first user can establish the criteria to include an association with a particular organization and / or a particular group. Another user may request to join the workspace, and based on a determination that the other user is associated with a particular organization and / or a particular group established as criteria, the communications platform may grant the other user access to the workspace.

[0006] As described above, a conventional workspace is created to enable information sharing among users of a particular organization. A conventional workspace may have a subset of users of an organization associated with it, for example, to enable collaboration among the subset of users. However, traditionally, association with a workspace presupposes a user's association with a particular organization. Some conventional workspaces allow guests of other organizations to be associated with it, but the guest's access is traditionally limited to a particular channel and / or set of channels of the workspace. As such, guests of other organizations cannot view all information communicated through the workspace, nor can they easily discover all users associated with the workspace (e.g., organization).

[0007] The techniques described herein enable the creation of a shared workspace among a group of users from different organizations, such that each of the users associated with the shared workspace can access any data posted through the shared workspace and can easily discover other users associated with the shared workspace. In some examples, the techniques described herein enable the conversion of a non-shared workspace (e.g., a single-organization workspace) into a shared workspace. In such examples, the creation of a shared channel can include modifying access permissions to an existing non-shared workspace, for example to allow one or more users from other organizations to access it.

[0008] In at least one example, a first user of a first organization can submit a first request to generate (or convert) a shared workspace. The first request can include first criteria associated with joining the shared workspace. The first criteria can include an indication of one or more organizations and / or groups to be associated with the shared workspace, one or more user characteristics (e.g., group or team affiliation (e.g., associated organization identifier, group identifier, team identifier), project affiliation, job title, job description, personal interests, physical location, event affiliation (e.g., registration, purchased tickets, located at the event location, etc.), part of contact information (e.g., domain name associated with email address, area code associated with phone number, etc.), etc. In various examples, the first user can specify in the first request one or more communication channels or other workspace features (e.g., boards, stories (e.g., video clips, audio clips, media clips, etc.), bookmarks, etc.) that will be accessible to members of the shared workspace (e.g., users associated with the shared workspace).

[0009] The communications platform can receive a first request from a first user and can generate a shared workspace. In various examples, the first user can send an invitation to one or more users to join the shared workspace. In such examples, the first user can notify other users of the creation of the shared workspace. In some examples, the communications platform can identify one or more users that meet a first criterion and cause an indicator associated with the shared workspace to be presented via an interface of a communication application associated with the communications platform. For example, the communications platform can determine that a second user has registered for an event associated with the shared workspace. The communications platform can identify a second user account associated with the second user and cause an indicator to be presented in association with the second user account. The second user can submit a request to join the shared workspace via the indicator.

[0010] In some examples, the communication platform may identify one or more organizations associated with the shared workspace based on the first request. In some examples, the communication platform may send a message to one or more administrators associated with the one or more organizations to provide an indication of the organization affiliation with the shared workspace. In some examples, the message may provide the administrator of the other organization an opportunity to accept or reject the organization affiliation with the shared workspace. Based on a determination that the organization affiliation is rejected by the administrator, the communication platform may remove the association of the other organization from the shared workspace. In some examples, the communication platform may send a notification to the first user that the organization affiliation is rejected. Based on a determination that the organization affiliation is accepted by the administrator, the communication platform may associate the other organization with the shared workspace and enable one or more users of the other organization to access the shared workspace based on, for example, the first criteria.

[0011] In some examples, the message can enable an administrator of the other organization to establish second criteria associated with users of the other organization participating in the shared workspace. The second criteria can include user characteristics such as group or team affiliation, project affiliation, job title, title, qualifications (e.g., expertise, degrees, certifications, etc.) within the other organization. In various examples, the communication platform can identify one or more users of the other organization that meet the second criteria and cause an indicator associated with the shared workspace to be presented via one or more interfaces associated with the one or more users.

[0012] In various examples, the communication platform can receive a request to join the shared workspace, e.g., from a second user account of a second user. In at least one example, the request can be submitted via an indicator associated with the shared workspace. In some examples, the request can be submitted based on a location associated with a user device of the second user. For example, the communication platform can receive location data associated with a user device associated with the second user. The communication platform can determine, based on the location data, that the user device is within a threshold distance from a location associated with an event associated with the shared workspace. The communication platform can cause an indicator associated with the shared workspace to be presented via an interface associated with the user device, e.g., via a notification or update to the interface, etc. The second user can submit a request to join the shared channel via the indicator presented on the interface.

[0013] In various examples, the communication platform can receive a request to join a shared workspace and can verify that a user and / or user account associated with the request meets a first criterion and / or a second criterion (e.g., criteria established by an administrator of the user's organization). Based on a determination that the user does not meet the first criterion and / or the second criterion, the communication platform can cause an error notification to be presented to the requesting user. Based on a determination that the user meets the first criterion and / or the second criterion, the communication platform can associate a shared workspace with the user account to enable the user to access the shared workspace. In at least one example, the user can access one or more communication channels associated with the shared workspace. In some examples, members of the shared workspace can be discoverable to the user, for example, via a directory associated with the shared workspace. In such examples, once associated with the shared workspace, the user can easily identify and / or communicate with other members of the shared workspace.

[0014] Techniques described herein can facilitate discovery of and communication with other members of a communication platform. As described above, in a conventional communication platform, a guest of a workspace associated with an organization may be granted access to the workspace's shared channels (e.g., communication channels shared between two or more organizations). The guest may be able to identify members of the shared channel and share data with those members. However, data associated with other users of the organization may be prevented from being viewed by the guest, which prevents the guest from discovering and / or communicating with other users without additional connections, invitations to communicate, etc. This restriction may reduce the overall effectiveness of the workspace by restricting information flow outside of a particular shared channel. To solve this problem and improve the effectiveness and efficiency of communications associated with a communication platform, techniques described herein allow user accounts that meet established criteria to access communication channels and / or other functions associated with the workspace and all users associated with the workspace. That is, the user account can discover communication channels, users, and / or other objects and functions that match other users in the workspace. This improvement to the workspace of the communication platform facilitates communication and improves the overall effectiveness and efficiency of the communication platform.

[0015] Additionally, the techniques described herein can reduce the amount of bandwidth used to discover and communicate with other users of a communication platform. As mentioned above, due to limitations associated with guest accounts in conventional workspaces, a guest may not be able to identify the user account of another user associated with a workspace in a communication platform. For example, if another user is not associated with a particular shared channel to which the guest is permitted to access, the user account of that other user is not discoverable to the user in a conventional workspace. A user can send a message to another user inquiring about contact information, using network bandwidth and computing resources to send the message. Unlike these conventional systems that require a user to inquire about the contact information of another user, the techniques described herein can provide user discoverability of all other users associated with a shared workspace. Thus, the techniques described herein facilitate discovery of other users, thereby increasing the total amount of network bandwidth available to other computing devices.

[0016] The easy discovery of users described herein may further provide improvements to one or more computing devices associated with a communication platform. For example, because a user utilizing the improved system described herein does not need to send a query to identify a particular user, a communication platform server device and / or user device associated with the user may have a reduced number of messages to process. In addition to the query, a user seeking to identify another user in a conventional system may perform a search for contact information associated with the other user via another resource, such as a social networking application. Thus, to communicate with another user, the user may be required to search for contact information associated therewith. In some examples, the contact information may be associated with an alternative means of communication (e.g., email, social networking message, etc.), thereby requiring initial contact to be made between the users via the alternative means of communication. The search and initial contact may utilize additional computing resources and network bandwidth that are not required by the improved techniques described herein. As such, the techniques described herein may further reduce the computing resources and network bandwidth required to discover other users in a communication platform.

[0017] These and other aspects are further described below with reference to the accompanying drawings, which are merely exemplary implementations and should not be construed as limiting the scope of the claims. For example, some examples are shown in the context of a user interface for a mobile terminal, but the same or similar techniques may be implemented using any computing device, and the user interface may be adapted to the size, shape, and configuration of the particular computing device.

[0018] FIG. 1 illustrates a block diagram illustrating an example system 100 of computing devices that can be used to implement example techniques described herein. In at least one example, the example system 100 can be associated with a communication platform that can leverage a network-based computing system to enable users of the communication platform to exchange data. In at least one example, the communication platform can be “group-based” such that the platform, as well as associated systems, communication channels, messages, and / or virtual spaces, have security (which can be defined by permissions) to limit access to defined groups of users. In some examples, such user groups can be defined by group identifiers, which can be associated with common access credentials, domains, etc., as described above. In some examples, the communication platform can be a hub that provides a secure and private virtual space that allows users to chat, meet, call, collaborate, or otherwise communicate with each other. As described above, each group can be associated with a workspace, allowing users associated with the group to chat, meet, call, collaborate, or otherwise communicate with each other in a secure and private virtual space. In some examples, the communication platform is a channel-based messaging platform, in other words, the channels of the communication platform may be a central component of how content is communicated and provided via the communication platform. In some examples, members of a group, and thus workspaces, may be associated with the same organization. In some examples, members of a group, and thus workspaces, may be associated with different organizations (e.g., entities with different organization identifiers).

[0019] FIG. 1 illustrates an exemplary system 100 as comprising exemplary computing devices including a communication platform server(s) 102 and one or more computing devices 104 (e.g., user computing device(s) associated with a first user interacting over a network 110). By way of example and not limitation, the communication platform server(s) 102 may represent a server used to implement a communication platform system, and the first computing device(s) 104 may represent a user device(s) associated with a first user. The user computing device(s) 104 may be of any suitable type, e.g., a portable, semi-portable, semi-stationary, or stationary computing device. Some examples of the user computing device(s) 104 may include a tablet computing device, a smartphone, a mobile communication device, a laptop, a netbook, a desktop computing device, a terminal computing device, a wearable computing device, an augmented reality device, an Internet of Things (IOT) device, or any other computing device capable of transmitting communications and performing functions in accordance with the techniques described herein.

[0020] In at least one example, the exemplary system 100 may be associated with a communications platform that may leverage a network-based computing system to enable users of the communications platform to exchange data. In at least one example, the communications platform may be “group-based” such that the platform, as well as associated systems, communication channels, messages, and / or virtual spaces, have security (which may be defined by permissions) to limit access to defined groups of users. In some examples, such user groups may be defined by group identifiers, which may be associated with common access credentials, domains, etc., as described above. In some examples, the communications platform may be a hub that provides a secure and private virtual space that allows users to chat, meet, call, collaborate, or otherwise communicate with each other. As described above, each group may be associated with a workspace, allowing users associated with the group to chat, meet, call, collaborate, or otherwise communicate with each other in the secure and private virtual space. In some examples, members of a group, and thus a workspace, may be associated with the same organization. In some examples, members of a group, and thus a workspace, may be associated with different organizations (e.g., entities with different organization identifiers).

[0021] In at least one example, the exemplary system 100 may include one or more server computing devices (or "server(s)") 102. In at least one example, the server(s) 102 may include one or more servers or other types of computing devices that may be embodied in any number of ways. For example, in the server example, the functional components and data may be implemented on a single server, a cluster of servers, a server farm or data center, a cloud-hosted computing service, a cloud-hosted storage service, etc., although other computer architectures may additionally or alternatively be used.

[0022] In at least one example, the server(s) 102 can communicate with the user computing devices 104 and / or one or more third party computing devices 106 associated with a third party service provider 108 (e.g., a third party resource) via one or more networks(s) 110. That is, the server(s) 102, the user computing devices 104, and the third party computing device(s) 106 can transmit, receive, and / or store data (e.g., content, information, etc.) using the network(s) 110 as described herein. The user computing devices 104 and the third party computing device(s) 106 can be of any suitable type, e.g., portable, semi-portable, semi-fixed, or fixed computing devices. Some examples of the third party computing device(s) 106 can include, e.g., server computing devices such as those described above with respect to the server(s) 102, desktop computing devices, terminal computing devices, etc.

[0023] Some examples of user computing devices 104 may include tablet computing devices, smartphones, mobile communication devices, laptops, netbooks, desktop computing devices, terminal computing devices, wearable computing devices, augmented reality devices, Internet of Things (IOT) devices, or any other computing device capable of transmitting communications and performing functions in accordance with the techniques described herein. Although a single user computing device 104 is shown, in practice, the exemplary system 100 may include a plurality (e.g., tens, hundreds, thousands, millions) of user computing devices. In at least one example, a user computing device such as user computing device 104 may be operable by a user to access communication services via a communication platform, among other things. A user may be an individual, a group of individuals, an employer, a business, an organization, and the like.

[0024] The network(s) 110 may include any type of network known in the art, such as, but not limited to, a local or wide area network, the Internet, a wireless network, a cellular network, a local wireless network, Wi-Fi and / or short-range wireless communication, Bluetooth, Bluetooth Low Energy (BLE), Near Field Communication (NFC), a wired network, or any other such network, or any combination thereof. The components used for such communication may depend at least in part on the type of network, the selected environment, or both. Protocols for communicating over such networks 110 are well known and will not be described in detail herein.

[0025] In at least one example, server(s) 102 can include one or more processors 112, computer-readable media 114, one or more communication interfaces 116, and input / output devices 118. Although not shown in FIG. 1, third-party computing device(s) 106 can further include one or more processors, such as processor(s) 112, computer-readable media, such as computer-readable media 114, communication interface(s) 116, such as communication interface(s) 116, and input / output devices, such as input / output devices 118.

[0026] In at least one example, each processor of the processor(s) 112 can be a single processing unit or multiple processing units and can include single or multiple computing units or multiple processing cores. The processor(s) 112 can be implemented as one or more microprocessors, microcomputers, microcontrollers, digital signal processors, central processing units (CPUs), graphics processing units (GPUs), state machines, logic circuits, and / or any device that manipulates signals based on operational instructions. For example, the processor(s) 112 can be one or more hardware processors and / or logic circuits of any suitable type that are specifically programmed or configured to execute the algorithms and processes described herein. The processor(s) 112 can be configured to fetch and execute computer-readable instructions stored on a computer-readable medium that can program the processor(s) to perform the functions described herein.

[0027] The computer-readable medium 114 can include volatile and non-volatile memory and / or removable and non-removable media implemented in any type of technology for storing data, such as computer-readable instructions, data structures, program modules, or other data. Such computer-readable medium 114 can include, but is not limited to, RAM, ROM, EEPROM, flash memory or other memory technology, optical storage, solid-state storage, magnetic tape, magnetic disk storage, RAID storage systems, storage arrays, network-attached storage, storage area networks, cloud storage, or any other medium that can be used to store desired data and that can be accessed by a computing device. Depending on the configuration of the server(s) 102, the computer-readable medium 114 can be a type of computer-readable storage medium and / or a tangible non-transitory medium, insofar as non-transitory computer-readable media, when referred to, excludes media such as energy, carrier signals, electromagnetic waves, and signals themselves.

[0028] The computer-readable medium 114 may be used to store any number of functional components executable by the processor(s) 112. In many implementations, these functional components include instructions or programs executable by the processor(s) 112 that, when executed, specifically configure the processor(s) 112 to perform actions attributed to the server(s) 102. The functional components stored on the computer-readable medium may optionally include a workspace management component 120, a messaging component 122, an operating system 124, and a data store 126.

[0029] In at least one example, workspace management component 120 can manage workspaces. That is, in at least one example, a communication platform can be partitioned into different workspaces that can be associated with different user groups. As explained above, each workspace can be associated with a workspace identifier, and one or more user accounts can be mapped to or otherwise associated with the workspace identifier. A user(s) corresponding to such user account(s) can be a "member" of the workspace.

[0030] In various examples, the workspace management component 120 may be configured to receive a request to generate a shared workspace from a first user account associated with a first user. The request may include first criteria for associating with the shared workspace. In some examples, the first criteria may include one or more organizations and / or groups to be associated with the shared workspace. That is, the first request may include one or more organization identifiers and / or group or team identifiers associated with the organization(s) and / or group(s) to be associated with the shared workspace. In some examples, the group or team identifiers may include unique identifiers associated with a subset of users of the organization. In such examples, the workspace management component 120 may identify select user groups within the organization that may be associated with the shared workspace based on the first request.

[0031] In some examples, the first criteria may further include one or more user characteristics for a user to be associated with the shared workspace. The user characteristic(s) may include team affiliation (e.g., a group or team identifier), project affiliation (e.g., a user associated with a particular project, job, etc.), job title, job description, personal interests, physical location, event affiliation (e.g., registration, purchased tickets, located at the event, etc.), part of contact information (e.g., a domain name associated with an email address, an area code associated with a phone number, etc.), etc. That is, the first user may identify the characteristic(s) associated with the user accounts of other users who may be granted access to the shared workspace.

[0032] Additionally, the first user may specify in the first request one or more communication channels to be associated with the shared workspace. That is, the first user may identify the communication channel(s) to be accessible to members of the shared workspace (e.g., users associated with the shared workspace). In some examples, the shared workspace may include public communication channels (e.g., channels publicly discoverable and available to other users of the first user account and / or the first organization) associated with the first user's account and / or the first organization. In some examples, the workspace management component 120 may associate all or a portion of the first organization's public communication channels with the shared workspace by default. In some examples, the workspace management component 120 may enable the first user to remove one or more of the public communication channels associated with the shared workspace by default, for example, by selecting a particular channel for removal or separation. In such examples, the workspace management component 120 may enable the first user to modify the public communication channels associated with the shared workspace.

[0033] In some examples, a first user may generate one or more new communication channels and / or features (e.g., boards, stories, etc.) to be associated with the shared workspace. In such examples, the workspace management component 120 may receive a request to generate a communication channel(s) and may associate a corresponding identifier with the shared workspace. For example, the first request may include a request to generate a shared workspace associated with an event having multiple sub-events (e.g., a conference, a presentation, a lecture, etc.). Members of the shared workspace may generate one or more communication channels and / or features associated with one or more of the multiple sub-events, for example, to enable users interested in the topic of the sub-event(s) and / or users attending the sub-events to communicate with one another. The sub-event specific channels and / or features may provide a means by which presenters or other individuals may share information associated with the sub-events. As another example, the first request may include a request to generate a shared workspace associated with a particular topic. Members of the shared workspace may generate one or more communication channels associated with sub-topics of a particular topic, for example, to enable members of the shared workspace to conduct conversations associated with the sub-topics and / or the particular topic. In yet another example, the first request may include a request to create a shared workspace associated with a conglomerate (e.g., political, corporate, etc.). Members of the shared workspace may create one or more channels associated with a division, group, etc. of the conglomerate to, for example, discuss best practices associated with the division, group, etc.

[0034] In various examples, the workspace management component 120 may be configured to receive a request to create a new channel and / or other functionality associated with the shared workspace. In some examples, a first user (e.g., a user associated with the shared workspace creation) may establish permissions associated with the shared workspace, such as designating one or more users that have permission to create channels. In some examples, the first user may allow all or some of the members of the shared workspace to create new communication channels associated with the workspace. In various examples, the permissions associated with creating new channels and / or new functionality in the shared workspace may be determined by the workspace management component 120, e.g., in a default setting. In some examples, the permissions may be stored in the permission data 128 and / or workspace data 130 associated with the shared workspace.

[0035] In some examples, the first request (to generate a shared workspace) may include one or more first criteria associated with participating in the shared workspace. That is, the first request may include criteria associated with another user that must be met in order for that other user to participate in the shared channel. In some examples, the first criteria may include an indication of one or more organizations and / or groups to be associated with the shared workspace. In such examples, the first user may specify in the first request one or more other organizations and / or groups of individuals to be associated with the shared channel. For example, a first user of a first news organization may request to generate a shared workspace for disseminating news information and articles to other news organizations. The first user may identify one or more other organizations to be associated with the shared workspace, for example, to provide broad dissemination of news information across two or more organizations. In some examples, the other organization(s) may include subscribers of the first news organization and / or communication platform.

[0036] In some examples, the first criteria may include a paid subscription associated with the workspace. In such examples, other organizations and / or users associated therewith may join the workspace based on a determination that the organization maintains a paid subscription to the workspace. Continuing with the above example, a first user of a first news organization may request to generate a shared workspace for disseminating news information and articles to other organizations that maintain paid subscriptions to receive news information and articles. The communication platform may be configured to determine one or more organizations that maintain paid subscriptions and may grant permission to access the shared workspace to a member(s) of that organization based on a determination that the paid subscription is current.

[0037] In some examples, the first criteria may include one or more user characteristics associated with users who may join the shared workspace. That is, the first user may specify one or more characteristics of user accounts (e.g., users) that may be granted access to the shared workspace. The characteristic(s) may include group or team affiliation (e.g., associated organization identifier, group identifier, team identifier), project affiliation, job title, job description, personal interests, physical location (e.g., current location, place of residence, place of business, etc.), event affiliation (e.g., registration, purchased tickets, located at the location of an event, etc.), part of contact information (e.g., domain name associated with email address, area code associated with phone number, etc.), etc.

[0038] In various examples, a second user associated with a second organization (e.g., another organization identified by the first criteria) designated for affiliation with the shared workspace may receive an indication of affiliation with the shared workspace. In some examples, the second user may include an administrator or a user associated with an administrative account of the second organization. In various examples, the indication of affiliation with the shared workspace may include a means by which the second user may determine whether to allow the second organization to be associated with the shared workspace. That is, the indication may provide a means by which the second user may accept or reject the affiliation of the second organization with the shared workspace. In some examples, the indication may provide a means by which the second user may establish one or more second criteria for the user of the second organization to be associated with the shared workspace. The second criteria may include user characteristic(s) such as those described above. For example, the second user may determine that members of a particular group or team associated with the second organization may be allowed to access the shared workspace. In another example, the second user may determine that members with a particular title and / or job description may be allowed access to the shared workspace.

[0039] In various examples, workspace management component 120 can store the first criteria and / or second criteria associated with the shared workspace in data store 126, such as in workspace data 130. In some examples, workspace management component 120 can manage workspace membership. That is, workspace management component 120 can receive a request to associate a user with a respective shared workspace, and workspace management component 120 can determine whether a user associated with the request to join the shared workspace meets the first criteria and / or the second criteria for joining the shared workspace.

[0040] In some examples, the workspace management component 120 can identify an organization associated with the shared workspace, such as one specified in a request to generate the shared workspace and / or a subsequent request to associate an organization with the shared workspace after its generation. In various examples, the workspace management component 120 can be configured to identify one or more user accounts of users associated with the communication platform that meet first and / or second criteria for participating in the shared workspace. In some examples, the user account(s) can include user accounts of users associated with the specified organization and / or other user accounts that meet the first and / or second criteria. In some examples, the workspace management component 120 can determine whether the user account(s) meet the first and / or second criteria based on characteristic(s) associated with the user account stored in the data store 126, e.g., user data 132.

[0041] In some examples, the workspace management component 120 can identify the user account(s) that meet the first criteria and / or the second criteria based on the third-party data 134 received from one or more third-party computing devices 106 associated with the third-party service provider 108. In some examples, the workspace management component 120 can be configured to send a query to the third-party computing device 106 to request the third-party data 134. In some examples, the query can be submitted via a third-party application 136. In some examples, the third-party computing device 106 can be configured to provide the third-party data 134 to the server(s) 102 and / or the workspace management component 120, for example, in response to the query or based on instructions received from a user. In some examples, the workspace management component 120 can receive the third-party data 134 and determine whether the user account meets the first criteria and / or the second criteria. For example, the third-party service provider 108 can include an event registration management service provider configured to receive a registration request for an event. The third-party service provider 108 can determine that a new user has registered for an event associated with the shared workspace (e.g., an event registration established as a criterion for joining the shared workspace). The third-party service provider 108 can send third-party data 134 associated with the new user registration to the workspace management component 120. The workspace management component 120 can receive the third-party data 134 and can identify a user account associated with the new user based on, for example, the name, contact information, and / or other data available to identify the user account.The workspace management component 120 can determine that the user account meets the criteria for event registration based on the third-party data 134 and can associate the user account with the shared workspace. In some examples, the workspace management component 120 can store an indication of the association in the data store 126, e.g., in the workspace data 130, the permissions data 128, and / or the user data 132.

[0042] Based on a determination that the user meets the first criteria and / or the second criteria, the workspace management component can associate the user account of the user with the shared workspace. In some examples, the workspace management component can associate a shared workspace identifier with the user account, such as in the user data 132. In some examples, the workspace management component 120 can associate the user identifier with the shared workspace, such as in the workspace data 130 and / or the permission data 128. The workspace. In some examples, based on a determination that the user account meets the first criteria and / or the second criteria, the workspace management component 120 can cause an indicator associated with the shared workspace to be presented on the user interface 138 of the user computing device 104. The indicator can provide an indication of the shared workspace available for the user(s) to join.

[0043] In at least one example, the messaging component 122 can handle messages between users, for example, via one or more communication channels and / or direct messaging instances associated with a shared workspace. That is, in at least one example, the messaging component 122 can receive an outgoing message from a user computing device 104 and can transmit the message as an incoming message to a second user computing device 104. The messages can include direct messages sent from the originating user to one or more designated users and / or communication channel messages sent from the originating user via a communication channel to one or more users associated with the communication channel. A communication channel, or virtual space, can be a data pathway used to exchange data between systems and devices associated with a communication platform. In at least one example, the messaging component 122 can establish communication channels between various user computing devices, enabling the user computing devices to communicate with each other and share data. In at least one example, the messaging component 122 can manage such communication and / or sharing of data. In some examples, data associated with a communication channel can be presented via a user interface.

[0044] Further, the messaging component 122 can store messages sent between user computing devices in a data store 126, such as workspace data 130. In at least one example, the data store 126 can be configured to store accessible, downloadable, manageable, and updateable data. Additionally, the messaging component 122 can store user data 132 associated with users of the communication platform, such as user preferences for shared workspaces, communication channels, direct messaging instances, user data (e.g., user characteristics, organizational information, work schedules, work location(s), demographic data, etc.), virtual spaces to which users have access permissions, etc. In some examples, the data store 126 can be integrated with the server(s) 102, as shown in FIG. 1. In other examples, the data store 126 can be located remotely from the server(s) 102 and can be accessible to the server(s) 102 and / or the user computing device(s), such as the user computing device 104. Additional or alternative data can be stored in the data store 126 and / or one or more other data stores.

[0045] In some examples, the data store 126 may be partitioned into separate items of data (e.g., data shards) that can be accessed and managed individually. Data shards may simplify many technical tasks such as data retention, deployment (e.g., detecting that message content contains links, crawling metadata for links, and determining a uniform summary of the metadata), and integration setup. In some examples, data shards may be associated with organizations, groups (e.g., workspaces), communication channels, users, and the like.

[0046] In some examples, individual users may be associated with a database shard in the data store 126 that stores data related to a particular user account. For example, communication platform user data 132 associated with a particular user account may be stored in a particular database shard. In various examples, the user data 132 may include one or more characteristic(s) of the user and one or more user and / or organizational preferences associated with the user and / or the organization associated with the user. In some examples, the user preference(s) and / or organizational preference(s) may include security settings, data retention settings, workspace and / or communication channel favorites, preferred communication channel accounts (e.g., if the user has more than one user account (e.g., work account, personal account, etc.) associated with it), data associated with the user profile that is viewable by other users, preferences for joining new workspaces, communication channels, etc., notification settings, etc. In at least one example, user data 132 associated with a user may include the user's identity such that when a user joins a shared workspace, the user data 132 (e.g., identity having user preferences, organizational preferences, data retention settings, security, export settings, data controls, etc.) is associated with the shared workspace. In some examples, user data 132 (or portions thereof) may be viewable by other users of the shared workspace. That is, user data 132 associated with a user who joins a shared channel may be discoverable to other members of the shared workspace.

[0047] In at least one example, workspace data 130 can store data associated with individual workspaces and / or individual communication channels and / or direct messaging instances associated therewith. In at least one example, a workspace identifier can be assigned to a workspace, indicating a physical address within workspace data 130 where data related to that workspace is stored. A workspace may be “public” allowing any user within an organization (e.g., associated with an organization identifier) ​​to participate in data sharing via the workspace, or a workspace may be “private” restricting data communication in the workspace to specific users or users with specific roles (e.g., managers, administrators, etc.). As described above, a workspace may be “shared” allowing users associated with different organizations (e.g., entities associated with different organization identifiers) who meet the criteria associated with the shared workspace to participate in data sharing via the workspace.

[0048] In at least one example, the messaging component 120 can establish communication channels between various user computing devices associated with a shared workspace, enabling the user computing devices to communicate and share data with each other. In some examples, the workspace management component 120 can associate communication channels with a shared workspace based on, for example, a default setting associated with the creation of the shared workspace (e.g., associating all public channels of the user's organization with the shared workspace), a request from a user creating the shared workspace to create a new communication channel or associate a particular channel with the shared workspace, a request from another member of the shared workspace (with permission to modify communication channels) to create a new communication channel or associate an existing channel with the shared workspace, and / or the like. In at least one example, a communication channel can be assigned a communication channel identification that indicates a physical address in the workspace data 130 where data associated with that communication channel is stored. A communication channel may be "public," allowing any user within an organization (e.g., associated with an organization identifier) ​​to participate in data sharing via the communication channel, or a communication channel may be "private," restricting data communication in the communication channel to specific users or users with specific roles (e.g., managers, administrators, etc.). In some examples, a communication channel may be “shared,” which may allow users associated with different organizations (e.g., entities associated with different organization identifiers) to participate in data sharing via the communication channel.

[0049] In at least one example, the operating system 124 may manage the processor(s) 112, the computer-readable medium 114, and / or the hardware, software, etc. of the server(s) 102.

[0050] The communication interface(s) 116 may include one or more interfaces and hardware components to enable communication with various other devices (e.g., user computing device 104, third party computing device(s) 106, etc.), for example, over the network(s) 110 or directly. In some examples, the communication interface(s) 116 may facilitate communication via web sockets, an API (e.g., using API calls), HyperText Transfer Protocol (HTTP), etc.

[0051] The server(s) 102 may further comprise various input / output devices 118 (e.g., I / O devices). Such I / O devices 118 may include a display, various user interface controls (e.g., buttons, joystick, keyboard, mouse, touch screen, etc.), audio speakers, connection ports, etc.

[0052] In at least one example, the user computing device 104 may include one or more processors 140, computer-readable media 142, one or more location components 144, one or more communication interfaces 146, and input / output devices 148.

[0053] In at least one example, each processor of processor(s) 140 may be a single processing unit or multiple processing units and may include single or multiple computing units or multiple processing cores. Processor(s) 140 may include any of the types of processors described above with reference to processor(s) 112 and may be the same as or different from processor(s) 112.

[0054] The computer readable medium 142 may include any of the types of computer readable medium 142 described above with reference to the computer readable medium 114 and may be the same as or different from the computer readable medium 114. Functional components stored on the computer readable medium may optionally include one or more applications 150 and an operating system 152.

[0055] The application(s) 150 may include mobile applications, web applications, and / or desktop applications. In some examples, one or more of the application(s) 150 may include an instance of a third-party application 136 that may be provided by a third-party service provider(s) 108. In at least one example, at least one application 150 may be provided by a communications platform or may be other proprietary applications. In some examples, individual user computing devices associated with the system 100 may have an instance or versioned instance of the application(s) 150 that may be downloaded from an application store, accessible via the Internet, or otherwise executable by the processor(s) 140 to perform the operations described herein. That is, the application(s) 150 may be an access point that allows the user computing device 104 to interact with the server(s) 102 to access and / or use communication services available via the communications platform. In at least one example, application(s) 150 can facilitate the exchange of data between various other user computing devices, for example, via server(s) 102. In at least one example, application(s) 150 can present a user interface (e.g., user interface 138) as described herein. In at least one example, a user can interact with the user interface via touch input, keyboard input, mouse input, voice input, or any other type of input. In some examples, the user interface and / or other operations as described herein may be executed via a web browser or other access mechanism.

[0056] A non-limiting example of a user interface 138 is shown in FIG. 1. As shown in FIG. 1, the user interface 138 can present data associated with the communication platform, for example, via a communication platform application 150. In various examples, the user interface 138 can be configured to present data associated with one or more communication channels, one or more direct messages, and one or more workspaces (e.g., shared workspaces). That is, in some examples, the user interface 138 can present messages sent via one or more communication channels and / or via direct message(s) within a single user interface, such that a user (e.g., of a user computing device 104) can access and / or interact with data associated with multiple channels and / or direct messaging instances with which the user is associated, and / or can otherwise communicate with other users associated with multiple channels and / or direct messaging instances. The communication channels and / or direct messaging instances may be internal to the user's organization or may be shared externally (e.g., including users of two or more organizations, including a first user of a first organization and a second user not associated with the organization).

[0057] In some examples, the user interface 138 may include a first region 154 or pane that includes indicator(s) (e.g., user interface element(s) or object(s)) associated with the workspace(s) with which the user (e.g., the user's account) is associated. In the illustrated example, indicators associated with shared and non-shared (e.g., single organization) workspaces are combined within the first region 154. In other examples, one or more first indicators associated with one or more shared workspaces may be presented separately from one or more second indicators associated with non-shared workspaces, for example in a branching presentation. In some examples, the user interface 138 may include a second region 156 or pane that includes indicator(s) (e.g., user interface element(s) or object(s)) representing data with which the user (e.g., the user's account) is associated. Additional details associated with the second region 156 and indicator(s) are described below with reference to FIG. 2.

[0058] In at least one example, the user interface 138 may include a third region 158 or pane that may be associated with a data feed (or “feed”) indicative of messages posted and / or actions taken for one or more communication channels and / or other virtual spaces for facilitating communication as described herein (e.g., virtual spaces associated with direct message communication(s), virtual spaces associated with event(s) and / or actions, etc.). In at least one example, the data associated with the third region 158 may be associated with the same or different workspaces. That is, in some examples, the third region 158 may present data associated with the same or different workspaces via a unified feed. In some examples, the data may be organized and / or sortable by workspace, time (e.g., when the associated data is posted or when the associated action is otherwise performed), type of action, communication channel, user, etc. In some examples, such data may be associated with an indication of which user (e.g., a member of a communication channel) posted the message and / or performed the action. In instances where third region 158 presents data associated with multiple workspaces, at least some of the data may be associated with an indication of which workspace the data is associated with.

[0059] In illustrative examples, the third area 158 includes a shared workspace interface 160 through which a user of the user computing device 104 can access data associated with a shared workspace. In at least one example, a user can create a shared workspace via the shared workspace interface 160. In some examples, a user can access an existing shared workspace via the shared workspace interface 160. In such examples, a user can access an existing shared workspace that the user previously associated with and / or can access one or more existing shared workspaces that have been made discoverable to the user by the workspace management component 120 based, for example, on the user's user account satisfying one or more first criteria and / or one or more second criteria associated with the existing workspace(s).

[0060] In at least one example, the operating system 152 may manage the processor(s) 140, computer-readable media 142, hardware, software, etc. of the user computing device 104.

[0061] The location component(s) 144 may include a GPS, a Wi-Fi network identifier, a triangulation system, a gyroscope, an inertial measurement unit, and / or other components configured to determine the position of the user computing device 104.

[0062] The communication interface(s) 146 may include one or more interfaces and hardware components to enable communication with various other devices (e.g., user computing device 104), for example, over the network(s) 110 or directly. In some examples, the communication interface(s) 146 may facilitate communication via web sockets, an API (e.g., using API calls), HTTP, etc.

[0063] The user computing device 104 may further comprise various input / output devices 148 (e.g., I / O devices). Such I / O devices 148 may include a display, various user interface controls (e.g., buttons, joysticks, keyboards, mice, touch screens, etc.), cameras, audio speakers, microphones, connection ports, biometric recognition devices (e.g., fingerprint readers, eye scanners, facial recognition devices, etc.), and the like.

[0064] Although the techniques described herein are described as being performed by the application(s) 150, the techniques described herein may be performed by any other component or combination of components that may be associated with the server(s) 102, the user computing device 104, or a combination thereof.

[0065] FIG. 2 illustrates additional details associated with the user interface 138 that presents data associated with the shared workspace interface 160, as described above with reference to FIG.

[0066] As described above, in at least one example, the user interface 138 may include a first region 154 or pane that includes an indicator(s) (e.g., user interface element(s) or object(s)) of workspace(s) with which the user (e.g., the user's account) is associated. As shown in FIG. 2, a user (e.g., User F) may be associated with three different workspaces 200-204. In some examples, the workspaces may be associated with the same organization (e.g., associated with the same organization identifier). In some examples, one or more of the workspaces may be shared workspaces associated with different organizations (e.g., associated with different organization identifiers). In some examples, one of the workspaces may be associated with users of a single organization (e.g., associated with the same organization identifier) ​​and another of the workspaces may be associated with users of two or more different organizations (e.g., associated with different organization identifiers).

[0067] In at least one example, each workspace may be associated with a different indicator 200-204 presented via the first region 154. In some examples, a user account of a user (e.g., user F) may be associated with a group identifier corresponding to each of the workspaces (e.g., as determined by user data 132). As such, a user account of the user may be associated with each of the workspaces. The first indicator 200 may represent the first workspace, the second indicator 202 may represent the second workspace, and the third indicator 204 may represent the third workspace. In some examples, at least one workspace may be a shared workspace. In some examples, indicators associated with the shared workspace may be presented the same or similarly as other indicators (e.g., those not associated with a workflow). In some examples, indicators associated with a shared channel may be presented differently than the other indicators. For example, as shown, the third indicator 204 may be associated with a shared workspace, and the communications platform may cause the third indicator 204 to be presented separately from the first indicator 200 and the second indicator 202, e.g., in a branched presentation of workspace indicators. This is merely an illustrative example, however, other differentiated presentations of an indicator (eg, third indicator 204), such as different sizes, shapes, colors, animations associated therewith, etc., are contemplated herein.

[0068] In some examples, a user can navigate between workspaces by actuating a control associated with each of the indicators 200-204 without having to log out of one workspace and log in to each of the other workspaces. Non-limiting examples of such indicators, or any indicator described herein, may include icons, symbols, links, tabs, or other user interface elements or objects. In some examples, such indicators may be associated with an actuation mechanism to allow a user to select the indicator and transition to another workspace. In some examples, the visual indicator may indicate which workspace the user is currently interacting with and / or has most recently interacted with. For example, an indicator may be outlined with a heavier weight than other indicators, thereby indicating which workspace the user is currently interacting with and / or has most recently interacted with. In some examples, the indicators 200-204 may be associated with another indicator that indicates that the corresponding workspace has been updated. An example is shown with respect to the third indicator 204.

[0069] Although three indicators 200-204 are shown in FIG. 2, a user may be associated with any number of workspaces. In some examples, indicators associated with all workspaces with which the user is associated may be presented via the first area 154. In some examples, some of the indicators associated with all workspaces with which the user is associated may be presented via the first area 154, and the user may interact with the user interface 138 to view additional or alternative indicators. For example, indicators associated with non-shared workspaces may be presented via the first area 154, and indicators associated with shared workspaces may be accessible via a shared workspace interface 160 shown in the third area 158.

[0070] In some examples, the first region 154 may not be included in the user interface 138, and such information may be integrated into the user interface 138 via additional or alternative mechanisms.

[0071] In some examples, the user interface 138 may include a second region 156 or pane that includes indicator(s) (e.g., user interface element(s) or object(s)) that represent the virtual space(s) associated with the workspace(s) with which the user (e.g., the user's account) is associated. In an illustrative example, the second region 156 may include a create selectable option 206 that allows the user (e.g., User F) to create a message to another user. For purposes of this discussion, a "message" may refer to any electronically generated digital object provided by the user using the user computing device 104 and configured for display within a communication channel and / or other virtual space to facilitate communication as described herein (e.g., a virtual space associated with direct message communication(s), etc.). A message may include any text, image, video, audio, or combinations thereof provided by the user (using the user computing device). For example, a user may provide a message that includes not only text but also images and video within the message as message content. In such an example, the text, image, and video constitute the message. Additionally or alternatively, as described above, the communications platform may generate and transmit messages over one or more communications channels in response to receiving an indication of a selection of a code associated with a workflow and / or a step of the workflow. Each message sent or posted to a communications channel of the communications platform may include metadata including a sending user identifier, a message identifier, message content, a group identifier, a communications channel identifier, etc. In at least one example, each of the above identifiers may include American Standard Code for Information Interchange (ASCII) text, a pointer, a memory address, etc.

[0072] In at least one example, the second region 156 can include one or more subsections or subpanes that can represent different virtual spaces. For example, the first subsection 208 can include an indicator that represents a virtual space that can aggregate data associated with multiple communication channels and / or workspaces. In at least one example, each virtual space can be associated with an indicator in the first subsection 208. In some examples, the indicator can be associated with an actuation mechanism such that, when actuated, it can cause one of the one or more application(s) 150 (e.g., communication platform applications) to present data associated with the corresponding virtual space via the third region 158. In some examples, a virtual space can be associated with all unread data associated with each of the workspaces with which the user is associated. That is, in some examples, when a user requests to access a virtual space associated with "unreads," all data that has not been read (e.g., viewed) by the user can be presented in the third region 158, e.g., a feed. In such examples, different types of events and / or actions that can be associated with different communication channels and / or virtual spaces can be presented via the same feed. In some examples, such data can be organized and / or sortable by workspace, time, type of action, communication channel, user, etc. In some examples, such data may be associated with an indication of which users (e.g., members of a communication channel) posted messages and / or performed actions.

[0073] In some examples, each virtual space may be associated with the same type of events and / or actions. For example, "threads" may be associated with messages, files, etc. posted in a thread for messages posted in a communication channel, "all DMs" may be associated with messages, files, etc. posted in a direct messaging instance, and "mentions and reactions" (e.g., "M&R") may be associated with messages or threads in which a user (e.g., User F) was mentioned (e.g., via a tag) or in which another user reacted (e.g., via an emoji, reaction, etc.) to a message or thread posted by the user. That is, in some examples, events and / or actions of the same type that may be associated with different communication channels and / or virtual spaces may be presented via the same feed. As with the "unread" virtual space, data associated with such virtual spaces may be organized and / or sortable by workspace, time, type of action, communication channel, user, etc.

[0074] In at least one example, the virtual space may be associated with facilitating communication between users of an organization and individual accounts, such as other users associated with other organizations different from the user's organization (indicated as a selection icon) and / or those associated with user accounts that do not have an associated organization. For example, a "connect" section in subsection 208 of second region 156 may be associated with enabling rapid communication with users of other organizations. In some examples, the "connect" virtual space may be associated with one or more channels and / or direct messaging instances that include users of at least one other organization. In such examples, in response to receiving a selection of the "connect" indicator in first subsection 208, the communications platform may cause the presentation of one or more channels and / or direct messaging instances in third region 158.

[0075] In at least one example, the virtual space may be associated with a shared workspace. In some examples, the virtual space may include a means by which a user may generate a new shared workspace and / or access an existing shared workspace with which the user is associated. In some examples, the virtual space may further provide a means by which a user may request to join an existing shared workspace. For example, a "shared workspace" virtual space may be associated with a shared workspace interface 160 configured to enable a user to create, access, or join a shared workspace. In such an example, in response to receiving a selection of the "shared workspace" indicator in the first subsection 208, the communication platform may cause presentation of the shared workspace interface 160 in the third area 158.

[0076] In at least one example, the second region 156 of the user interface 138 may include a second subsection 210 or subpane that includes an indicator representing a communication with an individual user or multiple designated users (e.g., rather than all or a subset of the members of an organization). Such a communication may be referred to as a "direct message" or a "direct messaging instance." That is, the second subsection 210 or subpane may include an indicator representing a virtual space associated with private messages between one or more users.

[0077] In addition to the second subsection 210, the second region 156 may include a third subsection 212 or subpane that includes an indicator representing a communication channel. The communication channel may include a public channel, a private channel, a shared channel, a single workspace channel, a cross workspace channel, a combination of the former, and the like. In some examples, the represented communication channel may be associated with a single workspace. In some examples, the represented communication channel may be associated with different workspaces (e.g., cross workspace). In at least one example, when a communication channel is cross workspace (e.g., associated with different workspaces), a user may be associated with both workspaces or only one of the workspaces. In some examples, the represented communication channel may be associated with a combination of a communication channel associated with a single workspace and a communication channel associated with different workspaces.

[0078] In some examples, third subsection 212 may show all communication channels for which the user has access permissions (e.g., as determined by permission data 128 and / or user data 132), or a subset of all communication channels. In such examples, the communication channels may be arranged alphabetically, based on most recent interactions, based on frequency of interactions, based on communication channel type (e.g., public, private, shared, cross workspace, etc.), based on workspaces, in user-specified sections, etc. In some examples, third subsection 212 may show all communication channels for which the user is a member, or a subset of all communication channels, and the user may interact via user interface 138 to browse or view other communication channels for which the user is not a member but that are not currently displayed in third subsection 212.

[0079] In some examples, different types of communication channels (e.g., public, private, shared, cross-workspace, etc.) may be in different sections of the third subsection 212 or may have their own sub-areas or sub-panes within the user interface 138. For example, communication channels associated with a shared workspace may be presented in association with a “shared workspace” indicator in the first subsection 208 and / or separate from other communication channels in the third subsection 212. In some examples, communication channels and / or direct messages associated with a shared workspace may be presented in their own areas or panes within the user interface 138.

[0080] In some examples, the indicators may be associated with graphical elements that visually distinguish the types of communication channels. For example, channel A is associated with a square visual element instead of a circular visual element. As a non-limiting example, for purposes of this discussion, a square visual element may indicate that the user is not a current member of channel A, while a circular visual element may indicate that the user is a current member of the channel. In some examples, additional or alternative graphical elements may be used to distinguish between public communication channels, private communication channels, shared communication channels, communication channels associated with different workspaces, workflow communication channels, etc. In other examples, communication channels of which the user is not a current member may not be displayed in the third subsection 212 of the user interface 138. In such examples, the user may navigate to a different interface (not shown) to browse additional channels that are accessible to the user but of which the user is not currently a member. Additionally or alternatively, the user may utilize a search mechanism 214 to search for additional channels. In some examples, the search mechanism 214 may enable searching of workspaces (e.g., existing shared workspaces, etc.), communication channels, specific messages, data sent through the communications platform and / or data stored in association with the communications platform, etc. In some examples, the search may be performed across each workspace with which the user is associated, or the search may be limited to a particular workspace based on a user specification.

[0081] As discussed above, in at least one example, the user interface 138 may include a third region 158 or pane for presenting data associated with the communication platform, such as data associated with one or more communication channels, direct messaging instances, workspaces, and / or one or more external connections. In at least one example, the third region 158 may present data associated with feeds indicating messages posted and / or actions taken for communication channels and / or other virtual spaces for facilitating communication (e.g., virtual spaces associated with direct messaging communication(s), virtual spaces associated with event(s) and / or action(s), etc.). As discussed above, in at least one example, the data associated with the third region 158 may be associated with the shared workspace interface 160. That is, in some examples, the third region 158 may present data associated with generating a new shared workspace, accessing an existing shared workspace, joining an existing shared workspace, and / or performing other functions related to the shared workspace.

[0082] For example, in FIG. 2, a user may interact with user interface 138 to view data associated with shared workspace interface 160. In some examples, shared workspace interface 160 may provide a means by which a user may submit a request to generate (e.g., create) a new shared workspace. In some examples, in response to selecting workspace creation selectable control 216, the communications platform may cause a workspace creation window (not shown) to be presented. In some examples, a user may enter one or more first criteria associated with the shared workspace, such as those described above. In some examples, a user may associate a particular event with the shared workspace. In such examples, the workspace creation window may provide a means for a user to enter details associated with the event, such as location (e.g., longitude / latitude, address or other physical location, geofence data, registration information (e.g., registration organizer (e.g., first party, third party service provider, communications platform), registration time period, etc.). In some examples, one or more of the first criteria associated with joining the shared workspace may be determined based on details associated with the event.

[0083] In various examples, the workspace interface 160 can provide a means by which a user can access or join an existing shared workspace. In some examples, in response to selecting the shared workspace access selectable control 218, the communication platform can cause a workspace menu (not shown) to be presented. In some examples, the workspace menu can include a first list of shared workspaces with which the user's user account is associated. That is, the first list of shared workspaces can include one or more shared workspaces that the user has previously requested to join and / or that were previously associated with. For example, the first list of shared workspaces can include shared workspaces associated with an event that the user previously attended. The shared workspaces associated with the previous event can include active workspaces that allow continued communication between attendees of the event, or archived workspaces that allow access to content but do not allow continued communication. In some examples, direct messaging instances associated with the archived shared workspace can remain active (e.g., continued communication is authorized), while communication channels associated with the archived shared workspace can be inactive.

[0084] In some examples, the workspace menu may include a second list of shared workspaces in which the user is eligible to join. As described above, the communication platform may identify one or more existing shared workspaces having criteria (e.g., the first criteria and / or the second criteria) that the user account meets. Based on a determination that the user account associated with the user meets the first criteria and / or the second criteria associated with the shared workspace, the communication platform may cause an indicator associated with the shared workspace to be associated with and presented in the second list of shared workspaces. In some examples, the first list of shared workspaces and the second list of shared workspaces may include a single list of shared workspaces. In such examples, the single list of shared workspaces may include an indication that each shared workspace is associated with the user account of the user (e.g., a user previously associated with the shared workspace) or is available for the user to join.

[0085] As shown in FIG. 2, the shared workspace interface 160 includes a means by which a user can create, access, and / or participate in a shared workspace. However, this is not intended to be so limited, and the shared workspace interface 160 can include additional or alternative information, such as data associated with one or more communication channels or direct messaging instances associated with the shared workspace. Non-limiting examples of additional data that can be presented via the third area 158 include feeds associated with one or more communication channels and / or one or more direct messaging instances, user data associated with one or more users of the shared workspace, file(s) uploaded to a communication channel or direct messaging instance of the shared workspace (e.g., file attachment(s)), application(s) added from the shared workspace, post(s) added to the shared workspace (data that can be collaboratively edited in near real-time by one or more members of the shared workspace), workspace data associated with the shared workspace (e.g., organization identifiers for member organizations, group or team identifiers, event data, conglomerate data, etc.), descriptions added to, modified from, and / or removed from the shared workspace, changes to properties of the shared workspace, etc.

[0086] In at least one example, data associated with a shared workspace may be viewable by at least a portion of users of a user group associated with the same organization, team, or group identifier. In some examples, for members of a shared workspace, public content of the shared workspace (e.g., messaging communications, files, etc.) may be displayed to each member of the shared workspace. For example, a common set of group-based messaging communications may be displayed to each member of the shared workspace in association with its associated communication channel such that the content of the communication channel (e.g., messaging communications) does not change for each member of the shared workspace. In some examples, data associated with a shared workspace may be displayed differently by users (e.g., based on personal settings, group membership, etc.). In at least one example, the format of an individual communication channel or virtual space of a shared workspace may be displayed differently by users based on, for example, the organization associated therewith. For example, the format of an individual communication may be displayed differently to two different users of two different organizations associated with the shared workspace.

[0087] User interface 138 is a non-limiting example of a user interface that may be presented (e.g., by one of one or more applications 150) via user computing device 104. In some examples, application 150 can receive data from workspace management component 120, messaging component 122, and / or third party computing device(s) 106 (e.g., third party applications 136, third party data 134, etc.) and can generate and present user interface 138 based on that data.

[0088] In some examples, application 150 can receive data and instructions from workspace management component 120 and / or messaging component 122 to generate user interface 138. In such examples, application 150 can present user interface 138 based on the instructions. Additional or alternative data can be presented via the user interface, and additional or alternative configurations can be envisioned.

[0089] 3A and 3B show exemplary user interfaces associated with accessing an existing shared workspace utilizing the techniques described herein. The existing shared workspace may include one or more shared workspaces previously generated in response to a request from a user of the organization, as described above. The interface 300a of FIG. 3A includes a shared workspace interface 302, such as the shared workspace interface 160, configured to enable a user 304 (e.g., user F) to create, access, or join a shared workspace. In an illustrative example, the interface 300a includes a first area 306 and a second area 308 in which the shared workspace interface 302 is presented.

[0090] In various examples, the communications platform may cause the shared workspace interface 302 to be presented via the second region 308 in response to receiving an indication of a selection by the user 304 of a shared workspace indicator 310, such as that shown in the first region 306. As described above, the shared workspace interface 302 may include a shared workspace access selectable control 312, such as the shared workspace access selectable control 218. In various examples, in response to receiving an indication of a selection by the user 304 of the shared workspace access selectable control 312, the communications platform may cause a list of shared channels to be presented via the shared workspace interface 302.

[0091] The interface 300b of FIG. 3B includes a list 314 of shared workspaces 316 accessible to the user 304 via the communications platform. In an illustrative example, the list 314 includes four shared workspaces 316. However, this is not intended to be so limiting, and the list may include a greater or lesser number of shared workspaces 316. For example, based on a determination that the user account of the user 304 is not associated with any existing shared channels and / or does not meet the criteria for joining an existing shared channel, the list 314 may include zero (0) shared workspaces 316. In such an example, the shared workspace interface 302 may include a notification indicating that the user 304 is not associated with an existing workspace and / or does not meet the criteria for joining an existing workspace. In other examples, in response to determining that the user 304 is not associated with a shared workspace and / or does not meet the criteria associated with a shared workspace, the communications platform may mute (or otherwise disable) the shared workspace access selectable control 312.

[0092] In an illustrative example, the list 314 includes a first workspace 316(1) (e.g., workspace A), a second workspace 316(2) (e.g., workspace B), a third workspace 316(3) (e.g., workspace C), and a fourth workspace 316(4) (e.g., workspace D). As discussed above, the list 314 may include shared workspaces with which the user 304 has previously been associated and / or which the user is eligible to join (e.g., the user's user account meets criteria associated with a shared workspace). In an illustrative example, the third workspace 316(3) includes shared workspaces with which the user 304 has previously been associated (e.g., has been requested to join, has been granted access, etc.). In various examples, the user 304 may access a shared workspace (denoted as "open") by selecting an open selectable control 318.

[0093] As described above, the communication platform may be configured to identify one or more existing shared channels in which the user is eligible to join. That is, the communication platform may identify criteria (e.g., first criteria, second criteria, etc.) associated with the shared workspace and determine whether the user account of the user 304 meets the criteria. In response to a determination that the user account does not meet the criteria, the communication platform may withhold an indicator associated with the shared workspace from the list 314 of the shared workspace interface 302. In response to a determination that the user account meets the criteria, the communication platform may cause an indicator associated with the shared workspace 316 to be presented via the list 314. For example, the first workspace 316(1), the second workspace 316(2), and the fourth workspace 316(4) comprise shared workspaces in which the user 304 is eligible to join.

[0094] In various examples, the list 314 may include data associated with the shared workspaces 316. In an illustrative example, the data includes a list of one or more organizations associated with each shared workspace 316. For example, a first shared workspace 316(1) is associated with organizations W and X, a second shared workspace 316(2) is associated with organization Q, a third shared workspace 316(3) is associated with organizations P, Y, and Z, and a fourth shared workspace 316(4) is associated with organizations S, T, U, and V. While not intended to be so limited, the data may include an indication of a creator of the shared workspace 316, an event associated with the shared workspace 316, a conglomerate associated with the shared workspace 316, one or more criteria associated with the shared workspace 316, an indication of characteristics that make the user 304 eligible to participate in the shared workspace 316, and the like.

[0095] In various examples, the shared workspace interface 302 may include workspace join selectable controls 320 that are presented in association with shared workspaces 316 that a user is eligible to join. In such examples, a user may submit a request to join a shared workspace 316 associated with a join selectable control 320. For example, a first workspace 316(1) may have a first join selectable control 320(1) associated with it, a second workspace 316(2) may have a second join selectable control 320(2) associated with it, and a fourth workspace 316(4) may have a third join selectable control 320(3) associated with it.

[0096] In some examples, in response to receiving an indication of a selection of a join selectable control 320 associated with the shared workspace 316 (e.g., receiving a request to join the shared workspace 316), the communications platform may send a request to an administrator of the shared workspace (e.g., an administrative account, the originator, etc.) for authorization. In some examples, in response to receiving an indication of a selection of a join selectable control 320 associated with the shared workspace, the communications platform may send a request to an administrator of the user's 304's organization (e.g., an administrative account) to authorize the user's 304's participation in the shared workspace 316.

[0097] In various examples, the shared workspace interface 302 may include a search mechanism 322 that may enable the user 304 to search for one or more shared workspaces associated with the communication platform. In various examples, the communication platform may make all or a portion of the existing shared workspaces 316 discoverable to the user 304. In some examples, the communication platform may make the shared workspaces 316 discoverable based on a determination that the user 304 meets at least one criterion associated with the respective shared workspace. For example, the organization of the user 304 may be associated with one or more shared workspaces. Based on a determination that the user 304 is associated with the organization, the communication platform may make the shared workspace(s) discoverable via the search mechanism 322. In some examples, the communication platform may make all shared workspaces discoverable via the search mechanism 322 and may mute or otherwise disable the selection of shared workspaces that the user is not eligible to join.

[0098] In various examples, in response to receiving a search input (e.g., the name of the shared workspace, the name of the associated communication channel, an identifier associated with the originator of the shared workspace, an event associated with the shared workspace, a conglomerate or organization(s) associated with the shared workspace, etc.), the communications platform may cause one or more indicators associated with one or more workspaces 316 corresponding to the search input to be presented via the shared workspace interface 302. In some examples, the communications platform may access user data associated with the user 304 to determine whether the user 304 is eligible to join one or more workspaces 316 identified based on the search input.

[0099] Based on a determination that the user 304 is eligible to participate in one or more shared workspaces 316, the communication platform may cause the presentation of a join selectable control 320 to be presented in association with the shared workspace 316. That is, the communication platform may enable the user 304 to participate in the shared workspaces 316 identified in the search query. Based on a determination that the user 304 is ineligible to participate in one or more shared workspaces 316, the communication platform may mute or otherwise disable selection of an indicator associated therewith. In some examples, based on a determination that the user 304 is ineligible to participate in the shared workspace 316, the communication platform may cause an indication of ineligibility to be presented on the shared workspace interface 302. The indication of ineligibility may include a reason for ineligibility, such as a particular criterion that the user 304 does not meet, an indication that an organization associated with the user 304 does not permit the user to participate in the shared workspace, etc.

[0100] In some examples, the communication platform may make all shared workspaces discoverable via a search mechanism 322 and may mute or otherwise disable selection of shared workspaces in which a user is not eligible to join.

[0101] 4A and 4B illustrate example interfaces for generating a new shared workspace utilizing the techniques described herein. The interface 400a of FIG. 4a illustrates a shared workspace interface 402 (e.g., shared workspace interface 160, shared workspace interface 302, etc.) through which a user 404 (e.g., user F) can submit a request to generate (e.g., create) a new shared workspace. In an illustrative example, the interface 400a includes a first area 406 and a second area 408 in which the shared workspace interface 302 is presented. As described above, the shared workspace interface 302 may be presented in response to the communication platform receiving an indication of a selection of an indicator associated with the shared workspace interface 302, such as the shared workspace indicator 310.

[0102] As shown, in some examples, the shared workspace interface 402 may include a create workspace selectable control 410, such as the create workspace selectable control 216. In various examples, in response to receiving an indication of a selection of the create shared workspace selectable control 410 by the user 404, the communications platform may cause a create workspace window to be presented via the shared workspace interface 402.

[0103] 4B includes a workspace creation window 412 that is presented in association with the shared workspace interface 402. In an illustrative example, the workspace creation window 412 is presented as a window overlaid on the shared workspace interface 402. In other examples, the workspace creation window 412 may be presented as a separate interface that includes all or a portion of the second region 408 and / or the first region 406.

[0104] The workspace creation window 412 may include one or more interface elements configured to receive user input regarding one or more characteristics of the new shared workspace to be created. In some examples, the characteristic(s) may include a name for the new shared workspace, such as that entered in the name input box 414. In some examples, the communication platform may be configured to determine a name associated with the shared workspace. In various examples, the communication platform may determine the name based on one or more organizations associated with the shared workspace, an event associated with the shared workspace, a domain name associated with the shared workspace, and / or the like. For example, the shared workspace may be created as an extranet associated with an organization (e.g., Organization A) that grants access to the shared workspace to one or more other users outside the organization, such as for collaboration on a project. The communication platform may determine the name of the shared workspace to include the sponsoring organization's extranet (e.g., Organization A's extranet). In another example, the shared workspace may be associated with a particular event. The communication platform may identify the event associated with the shared workspace and store the event name as the name of the shared workspace.

[0105] In various examples, the characteristic(s) may include shared workspace criteria (e.g., first criteria). The shared workspace criteria may include one or more criteria associated with a user joining the new shared workspace. In various examples, the workspace creation window 412 may include an organization input box 416 configured to receive user input associated with one or more organizations to be associated with the new shared workspace. In some examples, the organization input box 416 may be configured to receive one or more names and / or identifiers associated with the one or more organizations. In an illustrative example, the organization input box 416 includes a drop-down menu selector 418. In such an example, in response to receiving an indication of a selection of the drop-down menu selector 418, the communications platform may cause presentation of a list of other organizations eligible to be associated with the new shared channel.

[0106] In some examples, the one or more organizations may include some or all of the organizations that maintain organizational accounts with the communications platform. In some examples, the shared workspace may be open such that it is not limited to organizational affiliation. In some examples, the shared workspace may be limited to eligible organization(s). In various examples, another organization (other than the user's organization (e.g., XYZ Corporation)) may be eligible to be associated with a new shared channel based on a previous connection and / or connection approval between the user's organization and the other organization. For example, the communications platform may determine that the user's organization and the other organization are associated with at least one shared channel between a first user group of the user's organization and a second user group of the other organization. Based on the shared channel, the communications platform may identify a previous connection between the two organizations.

[0107] In some examples, the communication platform identifies the previous connection based on an administrative approval and / or vetting process associated with one or both organizations. In some examples, in order for a first user of a first organization to establish a connection with at least one other user of a second (different) organization, one or more administrative accounts may be required to authorize the connection. The connection may include a communication channel, a direct messaging instance, an audio or video conference, etc. In some examples, based on a determination that an administrator (e.g., associated with an administrative account) of the first organization and / or the second organization approves the connection, the communication platform may generate a connection to enable the first user and the at least one other user to communicate. The communication platform may store an indication of the connection in association with the first organization and the second organization and cause the organizations to be presented as options for selection in a drop-down menu associated with the organization input box 416.

[0108] In examples where the shared workspace is associated with an interest group, community, event, conference, and / or a large conglomerate that is or may be associated with multiple organizations or groups, the user 404 may decide not to include organization affiliation as a criterion. In such examples, the user 404 may leave the organization input box 416 blank or may designate the shared workspace as open to users from other organizations who meet the other shared workspace criteria. Other shared workspace criteria may include one or more user (e.g., member) characteristics. The user characteristic(s) may include team affiliation (e.g., a group or team identifier), project affiliation (e.g., a user associated with a particular project, job, etc.), title, job description, personal interests, physical location, event affiliation (e.g., registration, purchased tickets, located at the location of an event, etc.), part of contact information (e.g., a domain name associated with an email address, an area code associated with a phone number, etc.), etc. In various examples, the communication platform can receive input of user characteristic(s) via characteristic input box 420 and can store the user characteristic(s) in association with the new shared workspace. In at least one example, the communication platform can access the user characteristic(s) to determine whether a user requesting access to the shared workspace is eligible to participate.

[0109] In an illustrative example, the workspace creation window 412 may include an event association option 422 that may enable the user 404 to associate an event with the shared workspace. In response to receiving an indication of a selection of the “No” option, the communication platform may determine that there are no events to be associated with the new shared workspace. In some examples, the communication platform may store an indication of the no event association as metadata associated with the new shared workspace. In response to receiving an indication of a selection of the “Yes” option, the communication platform may cause presentation of and / or enable input via event information box 424.

[0110] In various examples, the event information box 424 can provide a means by which the user 404 can enter event data associated with the event. The event data can include name, location (e.g., latitude / longitude, address, building name and / or number, etc.), date(s) and / or time(s), registration information (e.g., a third party service provider configured to manage registration, a URL for registration, etc.), and / or the like.

[0111] In some examples, the workspace creation window 412 may include a channel input box 426, for example to allow the user 404 to associate one or more existing communication channels with the new shared workspace. In some examples, the user 404 may enter into the channel input box 426 one or more channel names, channel identifiers, topics or classifiers associated with the channel (e.g., type of channel, project, etc.), team identifiers associated with the channel, etc. Based on the input, the communication platform may identify associated existing communication channels. For example, the user may enter “Project X”, “Team Y”, and “Troubleshooting Problem Z” into the channel input box 426. Based on the input, the communication platform may identify one or more existing public communication channels associated with “Project X”, one or more existing public communication channels associated with “Team Y”, and one or more existing public communication channels associated with the topic of “Troubleshooting Problem Z”, and may associate the identified public communication channel(s) with the new shared workspace.

[0112] In various examples, the communication platform can identify one or more public communication channels associated with the organization of the user 404. In various examples, the communication platform can cause a list of public communication channel(s) to be presented via a drop-down menu, for example, in response to receiving an indication of a selection of the drop-down control 428. In some examples, the drop-down menu can allow the user 404 to select one or more existing public communication channels for association with the new shared workspace. In various examples, the identified public communication channels presented via the drop-down menu can include all or a portion of the communication channels associated with the organization, such as some of the communication channels identified based on the inputs described above. Continuing with the example above, the drop-down menu can include identified public communication channels associated with “Project X,” “Team Y,” and “Troubleshooting Problem Z.” The communication platform can cause the identified public communication channels to be presented in a drop-down menu, for example, to allow the user 404 to select or deselect one or more of the identified public communication channels.

[0113] In some examples, the communications platform may be configured to automatically select the identified public communication channel(s) for association with the new shared workspace. In such examples, a drop-down menu may provide a means by which the user 404 may deselect one or more of the identified public communication channels. In various examples, the automatic selection of the channel(s) may be determined based on user and / or organizational preferences associated with generating a new shared channel, such as those stored in the data store 126.

[0114] In various examples, the shared workspace window 412 may include a create selectable control 430 configured to enable the user 404 to submit a request to generate a new shared channel based on the provided input. In various examples, in response to receiving input of a selection of the create selectable control 430, the communication platform may generate the new shared channel and cause an indication thereof to be presented in association with a shared workspace indicator 432, such as the shared workspace indicator 310. In at least one example, the new shared workspace may be discoverable to one or more users of the communication platform. In some examples, the new shared workspace may be discoverable to a user based on a determination that the user meets criteria associated with the new shared workspace. In some examples, the new shared workspace may be discoverable to a user regardless of whether the criteria are met, for example, by utilizing a search mechanism. In such examples, a user may be able to discover (e.g., identify) the new shared channel, but may be prevented from joining the channel until the criteria are met.

[0115] In some examples, the communications platform can receive a request to join a new shared workspace and can identify one or more criteria associated with the new shared workspace that have not been met by the requesting user. In some examples, the communications platform can cause a notification to be presented to the requester indicating failure to join the new shared channel. The notification can provide an indication of the one or more criteria that have not been met. For example, the criteria associated with joining a shared channel associated with an event can include registering for the event. The communications platform can receive a request to join a shared channel from a user account of the user. The communications platform can identify user data associated with the user and determine that an indication of registration is not stored in association with the user account. The communications platform can cause a notification to be presented to the user, the notification indicating that the association with the share is based on registering for the event. In some examples, the notification can provide a means by which the user can submit a registration confirmation (e.g., a confirmation number, an attendee number, etc.) and / or a link to register for the event, for example, via a third-party service provider. In various examples, in response to receiving an indication that the user has registered for the event (e.g., from a third-party service provider, based on input from the user, etc.), the communications platform can associate the user with the shared workspace.

[0116] 5A-8 illustrate exemplary processes according to embodiments of the present disclosure. These processes are illustrated as logical flow graphs, each operation of which represents a sequence of operations that may be implemented in hardware, software, or a combination thereof. In the context of software, the operations represent computer-executable instructions stored on one or more computer-readable storage media that, when executed by one or more processors, perform the recited operations. Generally, computer-executable instructions include routines, programs, objects, components, data structures, etc. that perform particular functions or implement particular abstract data types. The order in which the operations are described is not intended to be construed as a limitation, and any number of the described operations may be combined in any order and / or in parallel to implement a process.

[0117] 5A illustrates a flow diagram of an example process 500a for generating a new shared workspace utilizing techniques described herein. In some examples, the example process 500 may be performed by the communication platform server(s) 102, although in some examples, the user computing device(s) 104 may provide or receive at least some of the data and instructions discussed and / or perform one or more of the operation instances where processing is partially or fully distributed to the user computing device.

[0118] At operation 502, the communications platform receives a first request to generate a shared workspace from a first client associated with a first user account. The first client may include or be associated with a user computing device, such as user computing device 104, associated with a first user 504 (shown as a cursor) corresponding to a first user account, such as user 304 and user 404. In various examples, the first request may be received via an instance of a communications application, for example, via a shared workspace interface 506, such as shared workspace interfaces 160, 302, and 402. In some examples, the first request may be received in response to an indication of a selection by the first user 504 of a workspace creation selectable control 508, such as workspace creation selectable controls 216 and 410. As discussed above, the first request may be received in response to an indication of a selection of a create selectable control 510, such as create selectable control 430, associated with a workspace creation window 512.

[0119] In various examples, the shared workspace may be associated with an event, a project, a transaction, and / or any other collaboration between the first user and at least one other user, and / or between a first organization of the first user and at least one other organization of the at least one other user. In some examples, the shared workspace may be associated with two private organizations such that members of the first organization may access communication channels and / or user data associated with the second organization and vice versa. For example, the first organization may integrate operations with the second organization. A first user of the first organization may generate a shared workspace to enable members of the second organization to access public channels and user data associated with members of the first organization. The shared workspace may further provide members of the first organization access to user data associated with members of the first organization. In various examples, an administrative account of the second organization may further associate one or more public channels of the second organization with the shared workspace. In such examples, members of the first organization may be granted access to the public channel(s) of the second organization via the shared workspace.

[0120] At operation 514, the communications platform identifies criteria 516 associated with joining the shared workspace based on the first request. In various examples, the criteria 516 may be identified based on user preferences, organization preferences (e.g., of the organization of the first user 504), and / or default criteria associated with the shared workspace, such as based on default criteria of the communications platform. In some examples, the criteria 516 may be identified based on user input, for example, via a workspace creation window 512 (e.g., workspace creation window 412).

[0121] As discussed above, criteria 516 may include one or more criteria that must be met in order for another user to be granted access to join a new shared channel. In various examples, criteria 516 may include organization affiliation (e.g., an organization identifier associated with another user's user account, etc.), team affiliation (e.g., a group or team identifier), project affiliation (e.g., a user associated with a particular project, job, etc.), job title, job description, personal interests, physical location, event affiliation (e.g., registration, purchased tickets, being located at the event, etc.), part of contact information (e.g., a domain name associated with an email address, an area code associated with a phone number, etc.), etc. For example, criteria 516 may include an association with a domain name such that only other users with user accounts associated with that domain name are allowed to join the shared workspace.

[0122] In various examples, the workspace creation window 512 may include an input box associated with one or more other users to be invited to join or otherwise associated with the new shared workspace. In some examples, in response to receiving input of another user identifier, name, etc. via the workspace creation window 512, the communications platform may send an invitation to the other user to join the new shared workspace. In some examples, the invitation may include a recommendation to join the new shared workspace. In some examples, the communications platform may cause an indicator associated with the new shared workspace to be presented on an interface associated with the other user, e.g., to enable the other user to access the new shared workspace and / or verify an association with the new shared workspace.

[0123] At operation 518, the communications platform generates the shared workspace based on the first request and criteria 516. In various examples, the communications platform stores an instance of the shared workspace in data store 126. In various examples, the communications platform associates a user identifier associated with the first user 504 with the shared workspace. In various examples, the communications platform associates one or more communication channels with the shared workspace. As described above, the communication channels may include channels selected by the communications platform (e.g., automatic selection) and / or channels selected by the first user 504 for association with the shared workspace, for example, via workspace creation window 514.

[0124] At operation 518, the communications platform causes an indicator 520 associated with the shared workspace to be presented on an interface 522 associated with the first user account. In various examples, the indicator 520 may include a selectable control to enable the first user 504 to access information regarding a channel(s) associated with the shared workspace and / or members of the shared workspace. In some examples, the indicator 520 may further enable the first user 504 to access one or more direct messaging instances associated with the shared workspace.

[0125] In the illustrative example, the interface 522 includes a home page 524 associated with a new shared workspace (e.g., workspace A). As shown, the home page 524 can include a directory selectable control 526, a channel selectable control 528, and a direct message selectable control 530 (DM as shown). Although not intended to be so limited, the home page 524 can include additional or alternative menus and selectable controls associated with actions available to be performed via the home page 524.

[0126] In various examples, the directory selectable control 526 can enable the first user 504 to access contact information associated with each of the members of the shared workspace. In some examples, the contact information can include a name (e.g., real name, username, handle, etc.), an email address, a physical location (e.g., address, time zone, etc.), a phone number, and / or the like. In some examples, the contact information associated with each member can include a means by which the first user 504 can quickly send a direct message to another member. For example, the first user 504 (e.g., User A) can select the directory selectable control 526 to view a list of one or more members of the shared workspace. The first user 504 can then select an indicator associated with one of the one or more members to view contact information associated therewith. The first user 504 can then select the selectable control to "send a DM" to the member. In response to receiving an indication of a selection of the selectable control, the communications platform can cause a messaging interface to be presented via the first client (e.g., in association with or in lieu of the interface 522).

[0127] In various examples, the channel selectable control 528 may enable the first user 504 to access one or more communication channels associated with the shared workspace. As described above, the communication channel(s) may include public communication channels associated with the user's organization, communication channel(s) that the first user 504 selects for association with the shared workspace, and / or communication channels that the first user 504 creates for inclusion in the shared workspace. In some examples, in response to receiving an indication of a selection of the channel selectable control 528, the communication platform may launch a list of channels associated with the shared workspace. In some examples, in addition to the list of channels, the communication platform may present the first user 504 with a new channel option, for example, to enable the first user 504 to create a new communication channel for association with the shared workspace. In various examples, permission to create a new communication channel within the workspace may be granted to all or a portion of the members of the shared workspace. In at least one example, permission to create a new communication channel may be limited to the creator of the shared workspace, an administrator of the organization associated with the shared workspace and / or the creator, and / or an administrator associated with another organization associated with the shared workspace.

[0128] In various examples, the direct message selectable control 530 can enable the first user 504 to access one or more direct messaging instances associated with the shared workspace. In various examples, the direct messaging instances associated with the shared workspace can include direct messaging instances between the first user 504 (e.g., a first member of the shared workspace) and one or more other members associated with the shared workspace.

[0129] As shown in home page 524 of FIG. 5A , a directory selectable control 526, one or more channels and / or one or more direct messaging instances associated with the shared workspace may be accessible via one or more indicators presented in one or more subsections, such as in a list of “DMs” and / or a list of “Channels” presented in association with interface 522, as described above.

[0130] 5B illustrates a flow diagram of an example process 500b for determining whether to allow a user to access a shared workspace utilizing the techniques discussed herein. In various examples, the example process 500b may be performed by the communication platform server(s) 102, although in some examples, the user computing device(s) 104 may provide or receive at least some of the discussed data and instructions and / or perform one or more of the operation instances where processing is partially or fully distributed to the user computing device.

[0131] At operation 534, the communications platform receives a second request to join the shared workspace from a second client associated with a second user account. The second user account may be associated with a second user 536 of the communications platform (e.g., user B). In some examples, the second user 536 may be associated with the same organization as the first user 504 or a different organization.

[0132] In an illustrative example, the second request is received via an instance of the shared workspace interface 506 associated with the second client. In some examples, the second user 536 may utilize a search mechanism 538, such as the search mechanism 322, to search for a particular shared workspace. In some examples, the communication platform may be configured to identify one or more shared workspaces available for the second user to join. In some examples, the shared workspace(s) may be identified based on a determination that the second user account meets at least one criterion associated with the shared workspace. For example, the shared workspace illustrated in the shared workspace interface 506 may include a shared workspace associated with the second user's organization (e.g., Organization J). In another example, the shared workspace illustrated in the shared workspace interface 506 (e.g., a PAC event) may be presented based on a determination that the second client is within a threshold distance from an event associated with the shared workspace.

[0133] In various examples, the communications platform may receive the second request in response to a selection of a join selectable control 540, such as the join selectable control 320. That is, the request may include an indication of a selection of a join selectable control 540 associated with the shared workspace.

[0134] At operation 542, the communications platform determines whether the second user account meets the criteria for participating in the shared workspace. In various examples, the communications platform can identify one or more characteristics 544 associated with the second user account (e.g., second user 536) to determine whether the second user account meets the criteria. The characteristics may be stored in association with user data 546 corresponding to the second user account, such as user data 132. In some examples, the characteristics may be stored in association with a user computing device 104 associated with the second client and / or by the communications platform, e.g., in data store 126.

[0135] As described above, the criteria may include the second user's organizational affiliation, group or team affiliation within an organization, project affiliation, job position, title, qualifications (e.g., expertise, degrees, certifications, etc.), job description, personal interests, physical location, event affiliation (e.g., registration, purchased tickets, being located at an event, etc.), portions of contact information (e.g., a domain name associated with an email address, an area code associated with a phone number, etc.), etc. In various examples, the communications platform may compare user data 546 and / or characteristics 544 associated with the second user account to the criteria to determine whether the second user account is eligible to participate in the shared workspace.

[0136] Additionally or alternatively, the communication platform can determine whether the second user account is eligible to participate in the shared workspace based on a location 548 associated with the shared workspace and a user location 550 associated with the second user 536 (e.g., a location associated with the second client and / or user computing device 104 of the second user 536). For example, the location 548 can be a location associated with the event and / or participation in the shared workspace, determined by criteria, for example (e.g., within a threshold distance from the location of the event, within a particular city, within a threshold distance from an address, city, town, county, district, state, etc.). In some examples, the communication platform can identify a location 548 associated with the event and / or a threshold distance therefrom based on criteria entered by a creator and / or administrator associated with the workspace.

[0137] In some examples, the communications platform may identify the user location 550 based on location data provided by one or more location components associated with the second client and / or user computing device 104, such as location component 144. In some examples, the communications platform may identify the user location 550 based on input received from the second client, such as a check-in to a location or other indication that the second user 536 and / or second client is at the location. In some examples, the communications platform may identify the user location 550, such as a location (e.g., a physical address) associated with the second user account, based on the user data 546.

[0138] In at least one example, the communications platform can identify that the second user account meets criteria associated with the workspace and can cause a presentation of a recommendation 551 to join the workspace to be presented via the second client. In various examples, the recommendation 551 can be presented based on an intelligent determination by the communications platform that the workspace may be of interest to the second user 536. In some examples, the determination can be made based on personal interests of the second user 536, a determination that one or more friends, colleagues, or frequent contacts of the second user 536 are associated with the workspace, and / or based on other user data associated with the second user 536. In some examples, the recommendation 551 can include a selectable control for initiating an association with the workspace and / or for verifying that the second user intends to join the workspace, e.g., if a second request has not been previously received.

[0139] Based on a determination that the second user account does not meet the criteria (“no” at operation 542), the communications platform causes the presentation of an error notification via the second client at operation 552. The error notification may include an indication of the one or more criteria not met by the second user account.

[0140] Based on a determination that the second user account meets the criteria ("Yes" at operation 542), the communications platform causes an indicator 520 associated with the shared workspace to be presented on an instance of an interface 522 associated with the second client at operation 554. As described above, the instance of the interface 522 includes a home page 524 associated with the new shared workspace (e.g., workspace A). As shown, the home page 524 can include a directory selectable control 526, a channel selectable control 528, and a direct message selectable control 530 (DM as shown). Although this is not intended to be so limited, the home page 524 can include additional or alternative menus and selectable controls associated with actions available to be performed via the home page 524.

[0141] 6 illustrates an example process 600 for creating and joining an integrated workspace. In various examples, the example process 600 may be performed by the communication platform server(s) 102, although in some examples, the user computing device(s) 104 may provide or receive at least some of the data and instructions discussed and / or perform one or more of the operation instances where processing is partially or fully distributed to the user computing device.

[0142] In operation 602, the communications platform receives a first request to generate a workspace from a first client associated with a first user account of the communications platform associated with a first user, the first request including one or more first criteria for joining the workspace. In at least one example, the workspace may include a shared or integrated workspace including two or more users associated with two or more organizations, groups, teams, etc. The first criteria may include an indication of one or more organizations and / or groups to be associated with the shared workspace, one or more user characteristics (e.g., group or team affiliation (e.g., associated organization identifier, group identifier, team identifier), project affiliation, job title, job description, personal interests, physical location, event affiliation (e.g., registration, purchased tickets, located at the location of the event, etc.), a portion of contact information (e.g., a domain name associated with an email address, an area code associated with a phone number, etc.), etc. In various examples, the first user may specify in the first request one or more communication channels that will be accessible to members of the shared workspace (e.g., users associated with the shared workspace).

[0143] At operation 604, the communications platform generates the workspace based at least in part on the first request. In various examples, the communications platform may cause an indicator associated with the workspace on an interface associated with the first client, such as a shared workspace interface (e.g., shared workspace interface 160, 302, etc.). In some examples, the indicator associated with the workspace may be presented in association with a shared workspace indicator, such as shared workspace indicator 310. In some examples, the indicator associated with the workspace, such as indicator 520, may be presented with one or more other workspace indicators.

[0144] At operation 606, the communications platform receives a second request to join the workspace from a second client associated with a second user account of the communications platform associated with the second user. In some examples, the communications platform receives the second request via an instance of a shared workspace interface or other interface of the communications platform. In some examples, the communications platform may automatically receive the second request from the second user account based on a determination by an instance of a communications application associated with the second user account that the second client is within a threshold distance from a location associated with the shared workspace. The instance of the communications application may determine a location based on location data associated with the second client, such as that received from one or more location components associated with the second client. For example, the second user may register for an event associated with the shared workspace. The second user may store the registration information in association with the second user account via the communications application. The communications application may monitor a location associated with the second client and determine that the second client is within a threshold distance from a location associated with the event. Based on the location being within the threshold distance, the communications application may send a second request to the communications platform to allow the second user to access the workspace. In another example, the location associated with the event may include an emitter (e.g., a Bluetooth or other short-range communication emitter) configured to communicate with a second client. The second client may receive the signal and determine that the location of the second client is within a threshold distance and / or in proximity to the location associated with the event.Based on the determination of proximity (e.g., within a threshold distance), the second client can send a second request to the communications platform to allow the second user to access the workspace.

[0145] At operation 608, the communications platform determines whether the second user's second organization has second criteria for participating in the workspace associated therewith. As described above, an administrator (e.g., an administrative account) associated with the second user's organization may associate one or more second criteria with the workspace. The second criteria may include additional criteria that must be met by users of the second user's organization to participate in the workspace. In various examples, the second criteria may include additional or alternative criteria as the first criteria. For example, the first criteria may include an indication that users of the second user's organization are eligible to participate in the workspace, and the second criteria may limit eligibility to a subset of users of the organization.

[0146] Based on a determination that the second criteria is not stored in association with the workspace ("no" at operation 608), the communications platform determines whether the second user account meets the first criteria at operation 610. As described above, in some examples, the communications platform accesses user data and / or characteristics of the second user to determine whether the second user account meets the first criteria. In some examples, the communications platform accesses location data associated with the second client to determine whether the second user account meets the first criteria. In some examples, the communications platform accesses third-party data, such as third-party data 134, to determine whether the second user account meets the first criteria.

[0147] Based on a determination that the second criteria is stored in association with the workspace ("Yes" at operation 608), the communications platform determines whether the second user account satisfies the first criteria and the second criteria at operation 612. The communications platform may utilize techniques such as those described above to determine whether the second user account also satisfies the second criteria.

[0148] Based on a determination that the first criterion and / or the second criterion are met ("yes" at operation 610 and / or operation 612), the communications platform causes an indicator associated with the workspace, such as indicator 520, to be presented on an interface associated with the second client at operation 614. In various examples, the indicator may include a selectable control to enable the second user to access information regarding the channel(s) associated with the shared workspace and / or members of the workspace. In some examples, the indicator may further enable the second user to access one or more direct messaging instances associated with the shared workspace.

[0149] Based on a determination that the first criterion and / or the second criterion have not been met ("no" at operation 610 and / or operation 612), the communications platform causes an error notification to be presented on the interface at operation 616. In various examples, the error notification can include an indication that association of the second user account with the workspace has been denied and / or that the second user account does not meet the first criterion and / or the second criterion. In some examples, the error notification can provide an indication of the particular criterion that has not been met, e.g., to submit information to the second user that is necessary to update the second user account to meet the particular criterion and submit another request to join the workspace.

[0150] 7 illustrates an example process 700 for creating and joining a workspace associated with an event. In various examples, the example process 700 may be performed by the communication platform server(s) 102, although in some examples, the user computing device(s) 104 may provide or receive at least some of the data and instructions discussed and / or perform one or more of the operation instances where processing is partially or fully distributed to the user computing device.

[0151] At operation 702, the communications platform receives a first request to generate a workspace associated with an event (e.g., a conference, a ceremony, a presentation, a concert, etc.) from a first client associated with a first user account of the communications platform associated with a first user. In at least one example, the workspace can include a shared or integrated workspace including two or more users associated with two or more organizations, groups, teams, etc. In various examples, the first request can include a first criterion associated with joining the workspace. In at least one example, the first criterion can include an event affiliation, such as registration, purchased tickets, location identification information at the event (e.g., based on location data associated with a user computing device, etc.). In some examples, the communications platform can be configured to identify one or more users and / or user accounts affiliated with the event, e.g., based on the registration information. In some examples, the communication can identify one or more users and / or user accounts affiliated with the event based on third-party data received from a third party, such as an event registration service provider.

[0152] In some examples, the first criteria may further include an indication of one or more organizations and / or groups to be associated with the shared workspace, one or more user characteristics (e.g., group or team affiliation (e.g., associated organization identifier, group identifier, team identifier), project affiliation, job title, job description, personal interests, physical location, portion of contact information (e.g., domain name associated with an email address, area code associated with a phone number, etc.), etc. In at least one example, the first criteria may include event affiliation, such as registering for an event, determining that the user is in a location associated with the event, etc.

[0153] Additionally or alternatively, the request may include a request to create a workspace associated with a particular project, transaction, and / or other collaboration effort.

[0154] At operation 704, the communications platform generates a workspace based at least in part on the first request. In various examples, the communications platform may cause an indicator associated with the workspace to be generated on an interface associated with the first client, such as a shared workspace interface (e.g., shared workspace interface 160, 302, etc.). In some examples, the indicator associated with the workspace may be presented in association with a shared workspace indicator, such as shared workspace indicator 310. In some examples, the indicator associated with the workspace, such as indicator 520, may be presented with one or more other workspace indicators.

[0155] At operation 706, the communications platform determines whether a second user account of a second user of the communications platform is associated with the event. In some examples, the communications platform determines that the second user account is associated with the event based on third-party data (e.g., third-party data 134) received from a third-party service provider (e.g., third-party service provider 108) configured to manage event registrations. In some examples, the communications platform may be configured to request the third-party data, for example, to identify one or more user accounts associated with the event. In some examples, the third-party service provider may be configured to transmit the third-party data in response to determining that a registration associated with the user has been confirmed. In such examples, the third-party service provider may transmit the third-party data based on instructions providing the data to the communications platform.

[0156] In some examples, the second user account may be associated with the event based at least in part on an invitation to the event and / or to join the workspace, as provided by another member of the workspace (e.g., the first user). That is, in some examples, one or more members of the workspace and / or a user associated with the event may invite another user to the event and / or workspace. For example, the first user may send an invitation to the second user inviting the second user to the event and / or workspace. Based on the invitation, the communication platform may associate the second user account with the event and / or workspace. In various examples, a member of the workspace may invite another user to join the event and / or workspace based on permissions associated with the workspace and / or member account. In some examples, the permissions may be determined by the originator of the workspace and / or event (e.g., the first user) and / or an administrator associated with the workspace (e.g., an administrative account associated with the first user's organization).

[0157] Based on the determination that the second user account is associated with the event ("yes" at operation 706), the communications platform causes an indicator associated with the workspace, such as indicator 520, to be presented on an interface associated with the second client at operation 708. In various examples, the indicator may include a selectable control to enable the second user to access information regarding the channel(s) associated with the shared workspace and / or the members of the workspace. In some examples, the indicator may further enable the second user to access one or more direct messaging instances associated with the shared workspace. In various examples, the indicator may be presented via the interface in association with an invitation to join the workspace. For example, the communications platform may identify one or more users and / or user accounts registered for the event and may automatically (e.g., without additional user input from the first user) send an invitation to join the workspace to the registered users and / or user accounts.

[0158] Based on a determination that the second user account is not associated with the event ("no" at operation 706), the communications platform may, at operation 710, cause an error notification to be presented on the interface indicating that the second user is not authorized to join the workspace. In various examples, the error notification may include an indication that association of the second user account with the workspace has been denied and / or that the second user account is not associated with the event. In some examples, the error notification may provide a means by which the user may submit a registration confirmation (e.g., a confirmation number, an attendee number, etc.) and / or a link to register for the event, e.g., via a third party service provider, etc. In various examples, in response to receiving an indication that the second user has registered for the event (e.g., from a third party service provider, based on input from the second user, etc.), the communications platform may associate the second user account with the shared workspace and / or cause an indicator associated with the workspace to be presented on the interface, as described above with respect to operation 708.

[0159] In operation 712, the communication platform determines whether a time period associated with the workspace has expired. In some examples, the workspace may include a permanent time (e.g., no expiration date and / or time). In such examples, the workspace may not expire and may continue to enable communication between users forever. In some examples, the workspace may have a finite time period associated with it. In some examples, the finite time period may include a time associated with an event and / or an additional buffer time to enable communication for a period of time after the event has ended. For example, a workspace may be generated in association with a conference to allow attendees of the conference to access information regarding one or more presentations of the conference via one or more communication channels. A creator and / or administrator associated with the workspace may determine that the time period associated with the event should include the date of the event plus a one-week extension period to allow attendees to share additional information after the event.

[0160] Based on a determination that the time period has not expired ("no" at operation 712), the communication platform continues to cause an indicator associated with the workspace to be presented on the interface as described at operation 708. Based on a determination that the time period has expired ("yes" at operation 712), the communication platform disables input to at least one feature of the shared workspace associated with the workspace at operation 714. The features may include communication channels, direct messaging instances, boards, stories, etc. In some examples, the communication platform may mute at least one feature. In some examples, the communication platform may mute (or otherwise disable input from) each of the communication channels, direct messaging instances, boards, stories, etc. associated with the workspace. In some examples, the communication platform may mute some of the features and migrate or associate data corresponding to other features to a Connect interface associated with the Connect virtual space. For example, the communications platform can mute communication channels, boards, and stories and can migrate data associated with direct messaging instance(s) to the Connect virtual space, e.g., to allow users of the workspace to continue private conversations established via the direct messaging instance(s).

[0161] In at least one example, the communications platform may cause at least one feature and / or workspace associated therewith to be archived in the data store 126. In such examples, members of the workspace may be able to access data associated with the at least one feature and / or workspace. In some examples, the archived feature(s) and / or workspace may be unavailable for input such that members can no longer send messages therein. In at least one example, direct messaging instances generated in association with a workspace (e.g., via a member profile viewed via a directory, selection of another user via an interface, etc.) may remain available for communication regardless of the state (e.g., archived or not) of the workspace and / or at least one feature associated therewith.

[0162] 8 illustrates an example process 800 for providing information associated with members of an integrated workspace. In various examples, the example process 800 may be performed by the communication platform server(s) 102, although in some examples, the user computing device(s) 104 may provide or receive at least some of the data and instructions discussed and / or perform one or more of the operation instances where processing is partially or fully distributed to the user computing device.

[0163] At operation 802, the communications platform receives a request from a client associated with a first user of the workspace to view data associated with one or more members of the workspace. In some examples, the request may be received in response to an indication of selection of a directory selectable control, such as directory selectable control 526.

[0164] At operation 804, the communication platform identifies one or more members of the workspace. In some examples, the communication platform identifies the member(s) based on a user identifier associated with the workspace and / or a workspace identifier associated with the member(s)' user account(s). In at least one example, the member(s) may be associated with two or more different organizations. In some examples, at least one member may be associated with an organization and other members may be associated with other organizations and / or may have no affiliation with an organization (e.g., a user's individual account, a user's personal account). In some examples, all of the members may be disaffiliated with the organization such that each of the members is associated with an individual or personal account.

[0165] In operation 806, the communications platform causes the presentation, via an interface associated with the client, of data associated with one or more members of the workspace. In various examples, the data may include a portion of user data associated with the member(s). In some examples, the portion of the user data may include contact information associated with the member (e.g., a name (e.g., real name, username, handle, etc.), an email address, a physical location (e.g., address, time zone, etc.), a phone number, etc.). In some examples, the data may include a selectable control for enabling a first user to contact a second user (e.g., another workspace member) via a direct messaging instance. Example clauses

[0166] A: A method, at least in part, implemented by one or more computing devices of a communications platform, comprising: receiving, from a first client associated with a first user account associated with a first organization of the communications platform, a first request to generate a workspace facilitating communication between a first group of users associated with the first organization and a second group of users associated with at least a second organization different from the first organization, the first request including one or more first criteria for joining the workspace; and generating the workspace based at least in part on the first request, the workspace including one or more virtual spaces, at least a portion of the one or more virtual spaces being a workspace that is accessible to users. receiving a second request to join the workspace from a second client associated with a second user account associated with a second organization; associating the second user account with the workspace based at least in part on a determination that the second user account meets one or more first criteria associated with joining the workspace; and causing an interface associated with the second client to present an indicator associated with the workspace, the indicator enabling access to one or more virtual spaces associated with the workspace associated with the first user group and the second user group.

[0167] B: The method of paragraph A, further comprising the step of causing a recommendation to join the workspace to be presented via an interface associated with the second client based at least in part on a determination that the second user account meets one or more first criteria, the recommendation including a selectable option for joining the workspace, and the second request being received in response to a selection of the selectable option for joining the workspace.

[0168] C: The method of paragraph A or B, further comprising: prior to receiving the second request, receiving one or more second criteria for a user account associated with the second organization to join the workspace from an administrative user account associated with the second organization; and causing an interface associated with the second client to present a recommendation for joining the workspace based at least in part on a determination that the second user account meets the one or more second criteria associated with joining the workspace, the recommendation including a selectable option for joining the workspace, and the second request being received in response to a selection of the selectable option for joining the workspace.

[0169] D: The method of any one of paragraphs A to C, wherein the one or more first criteria and the one or more second criteria include at least one of an organizational identifier, a group identifier, a domain name associated with the user's user account, a user interest of the user, a title associated with the user, a job description associated with the user, a project associated with the user, an event registration associated with the user, or a location associated with the user.

[0170] E: The method of any one of paragraphs A to D, wherein the second user group includes a plurality of users associated with a plurality of organizations.

[0171] F: The method of any one of paragraphs A to E, wherein the first request includes one or more communication channels to associate with the workspace.

[0172] G: The method of any one of paragraphs A to F, wherein the workspace further includes contact information associated with the first user group and the second user group, and the indicator further enables the second user account to access the contact information associated with the first user group and the second user group, and the contact information enables a second user associated with the second user account to communicate directly with a third user associated with the first organization.

[0173] H: A system associated with a communications platform, comprising: one or more processors; and one or more computer-readable media comprising instructions, the instructions, when executed by the one or more processors, causing the system to: receive, from a first client associated with a first user account associated with a first organization of the communications platform, a first request to generate a workspace facilitating communication between a first group of users associated with the first organization and a second group of users associated with at least a second organization different from the first organization, the first request including one or more first criteria for joining the workspace; and generate the workspace based at least in part on the first request, the workspace including one or more virtual spaces and one or more user groups associated with the first organization, the first request including one or more first criteria for joining the workspace. and generating a workspace from a second client associated with a second user account associated with a second organization, the second user account being associated with the workspace based at least in part on a determination that the second user account satisfies one or more first criteria associated with joining the workspace. A system for causing a user to perform operations including: generating a plurality of virtual spaces, at least some of which are restricted from viewing by other users not associated with the workspace; receiving a second request to join the workspace from a second client associated with a second user account associated with a second organization; associating the second user account with the workspace based at least in part on a determination that the second user account satisfies one or more first criteria associated with joining the workspace; and causing an indicator associated with the workspace to be presented in an interface associated with the second client, the indicator enabling access to the one or more virtual spaces associated with the workspace associated with the first user group and the second user group.

[0174] I: The system described in paragraph H, wherein the operations further include causing a recommendation to join the workspace to be presented via an interface associated with the second client based at least in part on a determination that the second user account meets one or more first criteria, the recommendation including a selectable option for joining the workspace, and the second request is received in response to a selection of the selectable option for joining the workspace.

[0175] J: The system of paragraph H or paragraph I, wherein the operations further include, before receiving the second request, receiving one or more second criteria for a user account associated with the second organization to join the workspace from an administrative user account associated with the second organization, and causing an interface associated with the second client to present a recommendation for joining the workspace based at least in part on a determination that the second user account meets the one or more second criteria associated with joining the workspace, the recommendation including a selectable option for joining the workspace, and the second request being received in response to a selection of the selectable option for joining the workspace.

[0176] K: The system of any one of paragraphs H to J, wherein the one or more first criteria and the one or more second criteria include at least one of an organizational identifier, a group identifier, a domain name associated with the user's user account, a user interest of the user, a title associated with the user, a job description associated with the user, a project associated with the user, an event registration associated with the user, or a location associated with the user.

[0177] L: The system of any one of paragraphs H to K, wherein the second user group includes a plurality of users associated with a plurality of organizations.

[0178] M: The system of any one of paragraphs H to L, wherein the first request includes one or more communication channels to associate with the workspace.

[0179] N: The system of any one of paragraphs H to M, wherein the workspace further includes contact information associated with the first user group and the second user group, the indicator further enables the second user account to access the contact information associated with the first user group and the second user group, and the contact information enables a second user associated with the second user account to communicate directly with a third user associated with the first organization.

[0180] O: one or more non-transitory computer-readable media including instructions that, when executed by one or more processors, cause the one or more processors to: receive, from a first client associated with a first user account associated with a first organization of a communications platform, a first request to generate a workspace facilitating communication between a first group of users associated with the first organization and a second group of users associated with at least a second organization different from the first organization, the first request including one or more first criteria for joining the workspace; and generate the workspace based at least in part on the first request, the workspace including one or more virtual spaces, at least a portion of the one or more virtual spaces being associated with the workspace. one or more non-transitory computer-readable mediums that perform operations including generating a workspace from a second client associated with a second user account associated with a second organization, the workspace being restricted from viewing by other users not associated with the workspace; receiving a second request to join the workspace from a second client associated with a second user account associated with a second organization; associating the second user account with the workspace based at least in part on a determination that the second user account meets one or more first criteria associated with joining the workspace; and causing an indicator associated with the workspace to be presented in an interface associated with the second client, the indicator enabling access to one or more virtual spaces associated with the workspace associated with the first user group and the second user group.

[0181] P: The one or more non-transitory computer-readable media described in paragraph O, wherein the operations further include causing a recommendation to join the workspace to be presented via an interface associated with the second client based at least in part on a determination that the second user account meets the one or more first criteria, the recommendation including a selectable option to join the workspace, and the second request is received in response to a selection of the selectable option to join the workspace.

[0182] Q: The one or more non-transitory computer-readable media of paragraph O or paragraph P, the operations further including, prior to receiving the second request, receiving one or more second criteria for a user account associated with the second organization to join the workspace from an administrative user account associated with the second organization, and causing an interface associated with the second client to present a recommendation to join the workspace based at least in part on a determination that the second user account meets the one or more second criteria associated with joining the workspace, the recommendation including a selectable option for joining the workspace, and the second request being received in response to a selection of the selectable option for joining the workspace.

[0183] R: The one or more non-transitory computer-readable media of any one of paragraphs O to Q, wherein the one or more first criteria and the one or more second criteria include at least one of an organization identifier, a group identifier, a domain name associated with the user's user account, a user interest of the user, a title associated with the user, a job description associated with the user, a project associated with the user, an event registration associated with the user, or a location associated with the user.

[0184] S: The one or more non-transitory computer-readable media of any one of paragraphs O through R, wherein the second user group includes a plurality of users associated with a plurality of organizations.

[0185] T: One or more non-transitory computer-readable media of any one of paragraphs O to S, wherein the first request includes one or more communication channels to associate with the workspace. conclusion

[0186] Although the above description describes example implementations of the described techniques, other architectures may be used to implement the described functionality and are intended to be within the scope of this disclosure. Moreover, while the subject matter has been described in language specific to structural features and / or methodological acts, it should be understood that the subject matter defined in the appended claims is not necessarily limited to the specific features or acts described. Rather, the specific features and acts are disclosed as example forms of implementing the claims.

[0187] Various techniques described herein may be implemented in the context of computer-executable instructions or software, such as program modules, that are stored in computer-readable storage and executed by a processor(s) of one or more computing devices, such as those illustrated in the figures. Generally, program modules include routines, programs, objects, components, data structures, etc. that define operational logic for performing particular tasks or implement particular abstract data types.

[0188] Other architectures may be used to implement the described functionality and are intended to be within the scope of this disclosure. Additionally, although a particular distribution of responsibilities is defined above for purposes of discussion, the various functions and responsibilities may be distributed and divided in different manners, depending on the circumstances.

[0189] Similarly, software may be stored and distributed in a variety of ways and using different means, and the particular software storage and execution configurations described above may be varied in many different ways. Thus, software implementing the techniques described above may be distributed on various types of computer-readable media, including but not limited to the specifically described forms of memory.

Claims

1. 1. A method implemented at least in part by one or more computing devices of a communications platform, comprising: receiving, from a first client associated with a first user account associated with a first organization of the communication platform, a first request to create a workspace facilitating communication between a first group of users associated with the first organization and a second group of users associated with at least a second organization different from the first organization, the first request including one or more first criteria for joining the workspace; generating the workspace based at least in part on the first request, the workspace including one or more virtual spaces, at least a portion of the one or more virtual spaces being restricted from viewing by other users not associated with the workspace; receiving a second request to join the workspace from a second client associated with a second user account associated with the second organization; associating the second user account with the workspace based at least in part on a determination that the second user account satisfies the one or more first criteria associated with participating in the workspace; causing an interface associated with the second client to present an indicator associated with the workspace, the indicator enabling access to the one or more virtual spaces associated with the workspace associated with the first user group and the second user group; A method comprising:

2. causing a recommendation to join the workspace to be presented via the interface associated with the second client based at least in part on a determination that the second user account meets the one or more first criteria, the recommendation including a selectable option to join the workspace. further comprising the second request is received in response to selecting the selectable option to join the workspace. The method of claim 1.

3. before receiving the second request; receiving, from an administrative user account associated with the second organization, one or more second criteria for a user account associated with the second organization to participate in the workspace; causing the interface associated with the second client to present a recommendation to join the workspace based at least in part on a determination that the second user account satisfies the one or more second criteria associated with joining the workspace, the recommendation including a selectable option for joining the workspace, and the second request being received in response to a selection of the selectable option for joining the workspace; The method of claim 1 further comprising:

4. The one or more first criteria and the one or more second criteria are: organization identifier, group identifier, the domain name associated with your user account; the user interests of said user; a title associated with the user; a job description associated with said user; a project associated with said user; an event registration associated with said user; or A location associated with the user The method of claim 1 , comprising at least one of:

5. The method of claim 1 , wherein the second user group includes a plurality of users associated with a plurality of organizations.

6. The method of claim 1 , wherein the first request includes one or more communication channels to associate with the workspace.

7. the workspace further includes contact information associated with the first user group and the second user group; the indicator further enables the second user account to access the contact information associated with the first user group and the second user group; the contact information enables a second user associated with the second user account to communicate directly with a third user associated with the first organization; The method of claim 1.

8. 1. A system associated with a communications platform, comprising: one or more processors; one or more computer-readable media containing instructions; wherein the instructions, when executed by the one or more processors, cause the system to perform the method of any one of claims 1 to 7.

9. 10. One or more non-transitory computer-readable media comprising instructions that, when executed by one or more processors, cause the one or more processors to perform the method of any one of claims 1 to 7.