BACKGROUND

Applicant has identified a number of deficiencies and problems associated with existing methods, apparatus, and systems related to external user approvals and invite requests made in connection with messaging or communication systems. Through applied effort, ingenuity, and innovation, many of these identified deficiencies and problems have been solved by developing solutions that are structured in accordance with the embodiments of the present disclosure, many examples of which are described in detail herein.

BRIEF SUMMARY

One embodiment is directed to an apparatus comprising at least one processor and at least one non-transitory memory including program code, the at least one non-transitory memory and the program code configured to, with the at least one processor, cause the apparatus to, in response to receiving, from a first client device associated with a sending user identifier, a resource sharing interface request, generate an authorization request based at least in part on the resource sharing interface request, wherein the authorization request comprises a group-based communication resource identifier and a recipient entity identifier. The at least one non-transitory memory and the program code are further configured to, with the at least one processor, cause the apparatus to cause transmission of the authorization request to an external approval provisioning service. The at least one non-transitory memory and the program code are further configured to, with the at least one processor, cause the apparatus to receive, in response to the authorization request, a resource sharing response event from the external approval provisioning service. The at least one non-transitory memory and the program code are further configured to, with the at least one processor, cause the apparatus to, in accordance with a determination that an authorization condition is met based on the resource sharing response event, grant access to a group-based communication resource associated with the group-based communication resource identifier for a recipient user associated with the recipient entity identifier based on the resource sharing response event. The at least one non-transitory memory and the program code are further configured to, with the at least one processor, cause the apparatus to update a sharing approval repository to add a sharing approval indication associated with the recipient entity identifier and the group-based communication resource identifier based on the resource sharing response event.

In some embodiments, the at least one non-transitory memory and the program code are configured to, with the at least one processor, cause the apparatus to, in accordance with a determination that an authorization condition is not met based on the resource sharing response event, deny access to a group-based communication resource associated with the group-based communication resource identifier for a recipient user associated with the recipient entity identifier based on the resource sharing response event, and update a sharing approval repository to add a sharing denial indication associated with the recipient entity identifier and the group-based communication resource identifier based on the resource sharing response event.

In some embodiments, the at least one non-transitory memory and the program code are further configured to, with the at least one processor, cause the apparatus to, in an instance in which the sharing approval repository is updated to add the sharing denial indication, cause transmission of a denial notification to the first client device, wherein the denial notification is associated with the group-based communication resource identifier and the recipient entity identifier. In some embodiments, the at least one non-transitory memory and the program code are configured to, with the at least one processor, cause the apparatus to cause transmission of a shared resource invite request to at least one second client device that is associated with the recipient entity identifier and, in response to receiving an authorization confirmation associated with the shared resource invite request from the at least one second client device, update the sharing approval repository to add a sharing approval indication associated with the recipient entity identifier and the group-based communication resource identifier.

In some embodiments of the apparatus, the external approval provisioning service is an identity provisioning service. In some embodiments of the apparatus, the group-based communication resource identifier is associated with a group-based communication channel. In some embodiments of the apparatus, the group-based communication resource identifier is associated with a group-based communication workspace. In some embodiments of the apparatus, the group-based communication resource identifier is associated with a group-based communication file. In some embodiments of the apparatus, wherein the recipient entity identifier comprises a recipient user identifier associated with the recipient user. In some embodiments of the apparatus, the recipient entity identifier comprises a recipient organization identifier associated with the recipient user. In some embodiments of the apparatus, the authorization request further comprises a request type identifier that corresponds to one of a single resource request, a multi-resource request, a guest access request, or a full member request.

Another embodiment is directed to a computer program product comprising at least one non-transitory computer-readable storage medium having computer-readable program code portions stored therein, the computer-readable program code portions comprising an executable portion configured to, in response to receiving, from a first client device associated with a sending user identifier, a resource sharing interface request, generate an authorization request based at least in part on the resource sharing interface request, the authorization request comprising a group-based communication resource identifier and a recipient entity identifier. The computer-readable program code portions comprising the executable portion are further configured to cause transmission of the authorization request to an external approval provisioning service. The computer-readable program code portions comprising the executable portion are further configured to receive, in response to the authorization request, a resource sharing response event from the external approval provisioning service. The computer-readable program code portions comprising the executable portion are further configured to, in accordance with a determination that an authorization condition is met based on the resource sharing response event, grant access to a group-based communication resource associated with the group-based communication resource identifier for a recipient user associated with the recipient entity identifier based on the resource sharing response event. The computer-readable program code portions comprising the executable portion are further configured to update a sharing approval repository to add a sharing approval indication associated with the recipient entity identifier and the group-based communication resource identifier based on the resource sharing response event.

In some embodiments, the computer-readable program code portions comprising the executable portion are configured to further, in accordance with a determination that an authorization condition is not met based on the resource sharing response event, deny access to a group-based communication resource associated with the group-based communication resource identifier for a recipient user associated with the recipient entity identifier based on the resource sharing response event, and update a sharing approval repository to add a sharing denial indication associated with the recipient entity identifier and the group-based communication resource identifier based on the resource sharing response event.

In some embodiments, the computer-readable program code portions comprising the executable portion are configured to further, in an instance in which the sharing approval repository is updated to add the sharing denial indication, cause transmission of a denial notification to the first client device, wherein the denial notification is associated with the group-based communication resource identifier and the recipient entity identifier. In some embodiments, the computer-readable program code portions comprising the executable portion are configured to further cause transmission of a shared resource invite request to at least one second client device that is associated with the recipient entity identifier, and, in response to receiving an authorization confirmation associated with the shared resource invite request from the at least one second client device, update the sharing approval repository to add a sharing approval indication associated with the recipient entity identifier and the group-based communication resource identifier.

In some embodiments of the computer program product, the external approval provisioning service is an identity provisioning service. In some embodiments of the computer program product, the group-based communication resource identifier is associated with a group-based communication channel. In some embodiments of the computer program product, the group-based communication resource identifier is associated with a group-based communication workspace. In some embodiments of the computer program product, the group-based communication resource identifier is associated with a group-based communication file. In some embodiments of the computer program product, the recipient entity identifier comprises a recipient user identifier associated with the recipient user. In some embodiments of the computer program product, wherein the recipient entity identifier comprises a recipient organization identifier associated with the recipient user. In some embodiments of the computer program product, the authorization request further comprises a request type identifier that corresponds to one of a single resource request, a multi-resource request, a guest access request, or a full member request.

Another embodiment is directed to a method comprising, in response to receiving, from a first client device associated with a sending user identifier, a resource sharing interface request, generating an authorization request based at least in part on the resource sharing interface request, wherein the authorization request comprises a group-based communication resource identifier and a recipient entity identifier. The method further comprises causing transmission of the authorization request to an external approval provisioning service. The method further comprises receiving, in response to the authorization request, a resource sharing response event from the external approval provisioning service. The method further comprises, in accordance with a determination that an authorization condition is met based on the resource sharing response event, granting access to a group-based communication resource associated with the group-based communication resource identifier for a recipient user associated with the recipient entity identifier based on the resource sharing response event. The method further comprises updating a sharing approval repository to add a sharing approval indication associated with the recipient entity identifier and the group-based communication resource identifier based on the resource sharing response event.

In some embodiments, the method further comprises, in accordance with a determination that an authorization condition is not met based on the resource sharing response event, denying access to a group-based communication resource associated with the group-based communication resource identifier for a recipient user associated with the recipient entity identifier based on the resource sharing response event, and updating a sharing approval repository to add a sharing denial indication associated with the recipient entity identifier and the group-based communication resource identifier based on the resource sharing response event. In some embodiments, the method further comprises, in an instance in which the sharing approval repository is updated to add the sharing denial indication, causing transmission of a denial notification to the first client device, wherein the denial notification is associated with the group-based communication resource identifier and the recipient entity identifier. In some embodiments, the method further comprises causing transmission of a shared resource invite request to at least one second client device that is associated with the recipient entity identifier; and, in response to receiving an authorization confirmation associated with the shared resource invite request from the at least one second client device, updating the sharing approval repository to add a sharing approval indication associated with the recipient entity identifier and the group-based communication resource identifier.

In some embodiments of the method, the external approval provisioning service is an identity provisioning service. In some embodiments of the method, the group-based communication resource identifier is associated with a group-based communication channel. In some embodiments of the method, the group-based communication resource identifier is associated with a group-based communication workspace. In some embodiments of the method, the group-based communication resource identifier is associated with a group-based communication file. In some embodiments of the method, the recipient entity identifier comprises a recipient user identifier associated with the recipient user. In some embodiments of the method, the recipient entity identifier comprises a recipient organization identifier associated with the recipient user. In some embodiments of the method, the authorization request further comprises a request type identifier that corresponds to one of a single resource request, a multi-resource request, a guest access request, or a full member request. One embodiment is directed to an apparatus comprising at least one processor and at least one non-transitory memory including program code, the at least one non-transitory memory and the program code configured to, with the at least one processor, cause the apparatus to, in response to receiving an external user directory corpus associated with a sponsor user identifier and a group-based communication workspace identifier, store the external user directory corpus in association with the sponsor user identifier and the group-based communication workspace identifier. The at least one non-transitory memory and the program code are further configured to, with the at least one processor, cause the apparatus to receive a messaging communication transmission request from a sending user client device associated with the group-based communication workspace identifier, the messaging communication transmission request comprising message data and an external user identifier selected from the external user directory corpus. The at least one non-transitory memory and the program code are further configured to, with the at least one processor, cause the apparatus to cause transmission of the message data to an external messaging resource address associated with the external user identifier for display by an external messaging resource as a linked message object.

In some embodiments, the at least one non-transitory memory and the program code are further configured to, with the at least one processor, cause the apparatus to, prior to receiving the messaging communication transmission request, receive a recipient identifier from the sending user client device associated with the group-based communication workspace identifier, query a user directory including the external user directory corpus based on the recipient identifier, generate a suggested recipient user identifier set drawn at least in part from the external user directory corpus based on the recipient identifier, and cause display of the suggested recipient user identifier set to the sending user client device, the messaging communication transmission request further indicating selection of the external user identifier from the suggested recipient user identifier set.

In some embodiments of the apparatus, the messaging communication transmission request is generated in response to user engagement of a direct messaging input interface rendered to a group-based communication interface displayed to the sending user client device. In some embodiments of the apparatus, the messaging communication transmission request is generated in response to user engagement of a messaging communication input interface rendered to a group-based communication interface displayed to the sending user client device. In some embodiments of the apparatus, the messaging communication transmission request is generated in response to user engagement of a calendar messaging input interface rendered to a group-based communication interface displayed to the sending user client device. In some embodiments of the apparatus, the linked message object comprises an invite request interface that is configured to, when engaged by a user associated with the external user identifier, cause initiation of a new member onboarding protocol associated with the external user identifier and the group-based communication workspace identifier. In some embodiments of the apparatus, the new member onboarding protocol causes assignment of guest access privileges associated with the external user identifier and the group-based communication workspace identifier. In some embodiments of the apparatus, the new member onboarding protocol causes assignment of full member access privileges associated with the external user identifier and the group-based communication workspace identifier.

In some embodiments, the at least one non-transitory memory and the program code are configured to, with the at least one processor, cause the apparatus to execute the new member onboarding protocol by, in response to receiving, from an external client device associated with the external user identifier, an authorization confirmation associated with the invite request interface, generating an authorization request based on the authorization confirmation, the authorization confirmation comprising the external user identifier, the sponsor user identifier, and the group-based communication workspace identifier, causing transmission of the authorization request to an admin client device associated with the group-based communication workspace identifier, and in response to receiving an approval indication associated with the group-based communication workspace identifier, updating a sharing approval repository to add a sharing approval indication associated with the external user identifier and the group-based communication workspace identifier.

Another embodiment is directed to a computer program product comprising at least one non-transitory computer-readable storage medium having computer-readable program code portions stored therein, the computer-readable program code portions comprising an executable portion configured to, in response to receiving an external user directory corpus associated with a sponsor user identifier and a group-based communication workspace identifier, store the external user directory corpus in association with the sponsor user identifier and the group-based communication workspace identifier. The computer-readable program code portions comprising the executable portion are further configured to receive a messaging communication transmission request from a sending user client device associated with the group-based communication workspace identifier, the messaging communication transmission request comprising message data and an external user identifier selected from the external user directory corpus. The computer-readable program code portions comprising the executable portion are further configured to cause transmission of the message data to an external messaging resource address associated with the external user identifier for display by an external messaging resource as a linked message object.

In some embodiments, the computer-readable program code portions comprising the executable portion are further configured to, prior to receiving the messaging communication transmission request, receive a recipient identifier from the sending user client device associated with the group-based communication workspace identifier, query a user directory including the external user directory corpus based on the recipient identifier, generate a suggested recipient user identifier set drawn at least in part from the external user directory corpus based on the recipient identifier, and cause display of the suggested recipient user identifier set to the sending user client device, wherein the messaging communication transmission request further indicates selection of the external user identifier from the suggested recipient user identifier set.

In some embodiments of the computer program product, the messaging communication transmission request is generated in response to user engagement of a direct messaging input interface rendered to a group-based communication interface displayed to the sending user client device. In some embodiments of the computer program product, the messaging communication transmission request is generated in response to user engagement of a messaging communication input interface rendered to a group-based communication interface displayed to the sending user client device. In some embodiments of the computer program product, the messaging communication transmission request is generated in response to user engagement of a calendar messaging input interface rendered to a group-based communication interface displayed to the sending user client device. In some embodiments of the computer program product, the linked message object comprises an invite request interface that is configured to, when engaged by a user associated with the external user identifier, cause initiation of a new member onboarding protocol associated with the external user identifier and the group-based communication workspace identifier. In some embodiments of the computer program product, the new member onboarding protocol causes assignment of guest access privileges associated with the external user identifier and the group-based communication workspace identifier. In some embodiments of the computer program product, the new member onboarding protocol causes assignment of full member access privileges associated with the external user identifier and the group-based communication workspace identifier.

In some embodiments, the computer-readable program code portions comprising the executable portion are further configured to execute the new member onboarding protocol by, in response to receiving, from an external client device associated with the external user identifier, an authorization confirmation associated with the invite request interface, generating an authorization request based on the authorization confirmation, wherein the authorization confirmation comprises the external user identifier, the sponsor user identifier, and the group-based communication workspace identifier, causing transmission of the authorization request to an admin client device associated with the group-based communication workspace identifier, and in response to receiving an approval indication associated with the group-based communication workspace identifier, updating a sharing approval repository to add a sharing approval indication associated with the external user identifier and the group-based communication workspace identifier.

Another embodiment is directed to a method comprising, in response to receiving an external user directory corpus associated with a sponsor user identifier and a group-based communication workspace identifier, storing the external user directory corpus in association with the sponsor user identifier and the group-based communication workspace identifier. The method further comprises receiving a messaging communication transmission request from a sending user client device associated with the group-based communication workspace identifier, the messaging communication transmission request comprising message data and an external user identifier selected from the external user directory corpus. The method further comprises causing transmission of the message data to an external messaging resource address associated with the external user identifier for display by an external messaging resource as a linked message object.

In some embodiments, the method further comprises, prior to receiving the messaging communication transmission request, receiving a recipient identifier from the sending user client device associated with the group-based communication workspace identifier, querying a user directory including the external user directory corpus based on the recipient identifier, generating a suggested recipient user identifier set drawn at least in part from the external user directory corpus based on the recipient identifier, and causing display of the suggested recipient user identifier set to the sending user client device, wherein the messaging communication transmission request further indicates selection of the external user identifier from the suggested recipient user identifier set.

In some embodiments of the method, the messaging communication transmission request is generated in response to user engagement of a direct messaging input interface rendered to a group-based communication interface displayed to the sending user client device. In some embodiments of the method, the messaging communication transmission request is generated in response to user engagement of a messaging communication input interface rendered to a group-based communication interface displayed to the sending user client device. In some embodiments of the method, the messaging communication transmission request is generated in response to user engagement of a calendar messaging input interface rendered to a group-based communication interface displayed to the sending user client device. In some embodiments of the method, the linked message object comprises an invite request interface that is configured to, when engaged by a user associated with the external user identifier, cause initiation of a new member onboarding protocol associated with the external user identifier and the group-based communication workspace identifier. In some embodiments of the method, the new member onboarding protocol causes assignment of guest access privileges associated with the external user identifier and the group-based communication workspace identifier. In some embodiments of the method, the new member onboarding protocol causes assignment of full member access privileges associated with the external user identifier and the group-based communication workspace identifier.

In some embodiments of the method, executing the new member onboarding protocol further comprises, in response to receiving, from an external client device associated with the external user identifier, an authorization confirmation associated with the invite request interface, generating an authorization request based on the authorization confirmation, wherein the authorization confirmation comprises the external user identifier, the sponsor user identifier, and the group-based communication workspace identifier, causing transmission of the authorization request to an admin client device associated with the group-based communication workspace identifier, and in response to receiving an approval indication associated with the group-based communication workspace identifier, updating a sharing approval repository to add a sharing approval indication associated with the external user identifier and the group-based communication workspace identifier.

