1. A method executed at least in part by a computing device for providing a contextual conversation framework, the method comprising: receiving a request to initiate a conversation through a communication application user interface; compiling metadata associated with the conversation, wherein the metadata includes one or more of: an origination of the request, a conversation history, and a plurality of user attributes; determining an initiating user's context based on the compiled metadata associated with the conversation; providing the initiating user's context to a receiving user as a conversation context; defining a context definition including a definition file describing application-specific context data; defining a receiving user's context based on the initiating user's context; defining a plurality of steps for building a conversation context; transmitting the receiving user's context along with a conversation invite, the plurality of steps for building the conversation context, and the context definition as a package; establishing a context channel between the initiating user and the receiving user activated at a context application at the receiving user's client such that real time data, including one of: contextual data and a document, is exchanged for sharing a conversation context while the conversation is being facilitated; verifying the conversation context at a context trust model for establishing application trust of one or more applications associated with the initiating user and the receiving user, wherein the trust is determined from registration of an application, associated behavior and supporting URLs and paths used; upon conclusion of the conversation updating the conversation context; and enabling one or more applications to store a conversation history, publish and subscribe to the updated conversation context.