1. A method comprising: receiving, by a client device, a first message entered as part of a communication session; performing, by the client device, a semantic analysis of the first message to determine that the first message includes a request for a virtual assistant to facilitate communication with a third party; retrieving, by the client device, a set of communication instructions associated with the third party, wherein the set of communication instructions identifies a set of data needed by the third party to provide a third party service, and a set of commands for communicating with the third party; gathering, by the client device, the set of data from one or more memory locations accessible by the client device based on the set of communication instructions; transmitting, by the client device, the set of data to the third party using at least a first command of the set of commands; and receiving a response message from the third party regarding the third party service; and presenting, in the communication session, information corresponding to the response message received from the third party regarding the third party service.