1. A system for providing real-time communication over a global network between two or more users, each of said users using a device communicatively coupled to the global network, said system comprising: a client messaging application which runs on the users' devices, said client application providing a user interface displayed on each user's device screen, said user interface comprising: a message entry window for the user to enter data; a communication window for displaying messages entered in a session; and means for accessing one or more application agents, each of which being associated to an external application; wherein when any of said application agents is activated, the external application represented by said activated application agent runs on top of the client messaging application such that all users in said session can instantly use the external application represented by said activated application agent without leaving said session.