A computer system for facilitating electronic communication, comprising: a server having one or more processors; a client computing device communicatively connected to the server; a communication module of the server configured to communicate data between the server and the client computing device via a communication network; a program memory of the server storing executable instructions that, when executed by the one or more processors, cause the server to implement a data broker configured to: receive, via the communication network, a first message including user-indicated data from an application add-in component of a desktop application executing on the client computing device via the communication module; and send, via the communication network, a second message including information relating to the received data to a web client application implemented by a second application executing on the client computing device via the communication module in response to the received data, wherein the information relating to the received data includes at least a portion of the received data and wherein the second message causes the web client application to display the information relating to the received data to a user of the client computing device, wherein the application add-in component of the desktop application and the web client application of the second application are adapted to communicate with each other only by sending messages to and receiving messages from the data broker of the server via the communication network. a server having one or more processors; a client computing device communicatively connected to the server; a communication module of the server configured to communicate data between the server and the client computing device via a communication network; a program memory of the server storing executable instructions that, when executed by the one or more processors, cause the server to implement a data broker configured to: receive, via the communication network, a first message including user-indicated data from an application add-in component of a desktop application executing on the client computing device via the communication module; and send, via the communication network, a second message including information relating to the received data to a web client application implemented by a second application executing on the client computing device via the communication module in response to the received data, wherein the information relating to the received data includes at least a portion of the received data and wherein the second message causes the web client application to display the information relating to the received data to a user of the client computing device, wherein the application add-in component of the desktop application and the web client application of the second application are adapted to communicate with each other only by sending messages to and receiving messages from the data broker of the server via the communication network. receive, via the communication network, a first message including user-indicated data from an application add-in component of a desktop application executing on the client computing device via the communication module; and send, via the communication network, a second message including information relating to the received data to a web client application implemented by a second application executing on the client computing device via the communication module in response to the received data, wherein the information relating to the received data includes at least a portion of the received data and wherein the second message causes the web client application to display the information relating to the received data to a user of the client computing device, wherein the application add-in component of the desktop application and the web client application of the second application are adapted to communicate with each other only by sending messages to and receiving messages from the data broker of the server via the communication network.