Access to messages sent via collaboration applications
A computing system is disclosed in which messages sent via one or more collaboration applications can be directed to an account of a web portal, rather than to another collaboration application, and an individual can be supplied with one or more access credentials to enable that individual to access such messages, and possibly also respond to received messages and/or initiate messages to one or more users of the one or more collaboration application, via the web portal.
1 . A method, comprising:
receiving, by a computing system, a first request to enable messages to be exchanged over a computer network between a first client device operated by a first user and a second client device operated by a second user, wherein the first user has a first account with a first collaboration service, the first account including a first account identifier associated with the first user;
determining, by the computing system, a second account identifier of a second account of the first collaboration service;
creating, by the computing system and based at least in part on the first request, a third account within at least one storage medium associated with the computing system, the third account including a third account identifier;
associating, by the computing system, the third account identifier with the second account identifier and at least a first access credential;
monitoring, by a portal account routing service executed by the computing system, messages sent over the computer network;
identifying, by the portal account routing service and from the first collaboration service, a first message transmitted over the computer network and directed to the second account;
storing, by the computing system and based at least in part on the second account identifier being associated with the third account identifier, the first message in the at least one storage medium in association with the third account identifier;
determining, by the computing system, that a second access credential received from the second client device corresponds to the first access credential; and
enabling, by the computing system, the second client device to access the first message stored in the at least one storage medium based at least in part on the second access credential corresponding to the first access credential, the third account identifier being associated with the first access credential, and the first message being associated with the third account identifier.
2 . The method of claim 1 , wherein determining the second account identifier further comprises:
sending, from the computing system to the first collaboration service and based at least in part on the first request, an instruction to create the second account with the first collaboration service.
3 . The method of claim 1 , further comprising:
determining, by the computing system, that a second message has been stored in association with the third account identifier;
determining, by the computing system, that a first participant identifier corresponding to the first user is stored in association with the third account identifier; and
instructing, by the computing system and based at least in part on the first participant identifier being stored in association with the third account identifier, the first collaboration service to send the second message to the first account of the first collaboration service.
4 . The method of claim 3 , further comprising:
enabling, by the computing system, the second client device to cause the second message to be stored in association with the third account identifier based at least in part on the second access credential corresponding to the first access credential.
5 . The method of claim 3 , further comprising:
determining, by the computing system, that a second participant identifier corresponding to a third user is stored in association with the third account identifier; and
instructing, by the computing system and based at least in part on the second participant identifier being stored in association with the third account identifier, the first collaboration service to send the second message to a fourth account that is associated with the third user.
6 . The method of claim 3 , wherein instructing the first collaboration service to send the second message to the first account comprises sending a request via a network to an application programming interface of the first collaboration service.
7 . The method of claim 1 , further comprising:
sending, via a network and to an application programming interface of the first collaboration service, a second request to be notified of messages directed to the second account;
wherein the computing system receives the first message from the first collaboration service in response to the second request.
8 . A computing system, comprising:
at least one processor; and
at least one non-transitory computer-readable medium encoded with instructions which, when executed by the at least one processor, cause the computing system to:
receive a first request to enable messages to be exchanged over a computer network between a first client device operated by a first user and a second client device operated by a second user, wherein the first user has a first account with a first collaboration service, the first account including a first account identifier associated with the first user;
determine a second account identifier of a second account of the first collaboration service;
create, based at least in part on the first request, a third account within at least one storage medium associated with the computing system, the third account including a third account identifier;
associate the third account identifier with the second account identifier and at least a first access credential;
monitor, by a portal account routing service executed by the computing system, messages sent over the computer network;
identify, by the portal account routing service and from the first collaboration service, a first message transmitted over the computer network and directed to the second account;
store, based at least in part on the second account identifier being associated with the third account identifier, the first message in the at least one storage medium in association with the third account identifier;
determine that a second access credential received from the second client device corresponds to the first access credential; and
enable the second client device to access the first message stored in the at least one storage medium based at least in part on the second access credential corresponding to the first access credential, the third account identifier being associated with the first access credential, and the first message being associated with the third account identifier.
9 . The computing system of claim 8 , wherein the at least one computer-readable medium is further encoded with additional instructions which, when executed by the at least one processor, further cause the computing system to determine the second account identifier at least in part by sending, to the first collaboration service and based at least in part on the first request, an instruction to create the second account with the first collaboration service.
10 . The computing system of claim 8 , wherein the at least one computer-readable medium is further encoded with additional instructions which, when executed by the at least one processor, further cause the computing system to:
determine that a second message has been stored in association with the third account identifier;
determine that a first participant identifier corresponding to the first user is stored in association with the third account identifier; and
instruct, based at least in part on the first participant identifier being stored in association with the third account identifier, the first collaboration service to send the second message to the first account of the first collaboration service.
11 . The computing system of claim 10 , wherein the at least one computer-readable medium is further encoded with additional instructions which, when executed by the at least one processor, further cause the computing system to:
enable the second client device to cause the second message to be stored in association with the third account identifier based at least in part on the second access credential corresponding to the first access credential.
12 . The computing system of claim 10 , wherein the at least one computer-readable medium is further encoded with additional instructions which, when executed by the at least one processor, further cause the computing system to:
determine that a second participant identifier corresponding to a third user is stored in association with the third account identifier; and
instruct, based at least in part on the second participant identifier being stored in association with the third account identifier, the first collaboration service to send the second message to a fourth account that is associated with the third user.
13 . The computing system of claim 10 , wherein the at least one computer-readable medium is further encoded with additional instructions which, when executed by the at least one processor, further cause the computing system to instruct the first collaboration service to send the second message to the first account at least in part by sending a request via a network to an application programming interface of the first collaboration service.
14 . The computing system of claim 8 , wherein the at least one computer-readable medium is further encoded with additional instructions which, when executed by the at least one processor, further cause the computing system to:
send, via a network and to an application programming interface of the first collaboration service, a second request to be notified of messages directed to the second account; and
receive the first message from the first collaboration service in response to the second request.
15 . At least one non-transitory computer-readable medium encoded with instructions which, when executed by at least one processor of a computing system, cause the computing system to:
receive a first request to enable messages to be exchanged between a first client device operated by a first user and a second client device operated by a second user, wherein the first user has a first account with a first collaboration service, the first account including a first account identifier associated with the first user;
determine a second account identifier of a second account of the first collaboration service;
create, based at least in part on the first request, a third account within at least one storage medium associated with the computing system, the third account including a third account identifier;
associate the third account identifier with the second account identifier and at least a first access credential;
monitor, by a portal account routing service executed by the computing system, messages sent over the computer network;
identify, by the portal account routing service and from the first collaboration service, a first message transmitted over the computer network and directed to the second account;
store, based at least in part on the second account identifier being associated with the third account identifier, the first message in the at least one storage medium in association with the third account identifier;
determine that a second access credential received from the second client device corresponds to the first access credential; and
enable the second client device to access the first message stored in the at least one storage medium based at least in part on the second access credential corresponding to the first access credential, the third account identifier being associated with the first access credential, and the first message being associated with the third account identifier.
16 . The at least one non-transitory computer-readable medium of claim 15 , further encoded with additional instructions which, when executed by the at least one processor, further cause the computing system to determine the second account identifier at least in part by sending, to the first collaboration service and based at least in part on the first request, an instruction to create the second account with the first collaboration service.
17 . The at least one non-transitory computer-readable medium of claim 15 , further encoded with additional instructions which, when executed by the at least one processor, further cause the computing system to:
determine that a second message has been stored in association with the third account identifier;
determine that a first participant identifier corresponding to the first user is stored in association with the third account identifier; and
instruct, based at least in part on the first participant identifier being stored in association with the third account identifier, the first collaboration service to send the second message to the first account of the first collaboration service.
18 . The at least one non-transitory computer-readable medium of claim 17 , further encoded with additional instructions which, when executed by the at least one processor, further cause the computing system to:
enable the second client device to cause the second message to be stored in association with the third account identifier based at least in part on the second access credential corresponding to the first access credential.
19 . The at least one non-transitory computer-readable medium of claim 17 , further encoded with additional instructions which, when executed by the at least one processor, further cause the computing system to instruct the first collaboration service to send the second message to the first account at least in part by sending a request via a network to an application programming interface of the first collaboration service.
20 . The at least one non-transitory computer-readable medium of claim 16 , further encoded with additional instructions which, when executed by the at least one processor, further cause the computing system to:
send, via a network and to an application programming interface of the first collaboration service, a second request to be notified of messages directed to the second account; and
receive the first message from the first collaboration service in response to the second request.