1. A method comprising: under control of a service computing device configured with executable instructions, obtaining an input from a first user of a first computing device; determining, based at least in part on contextual information associated with at least one of the input or the first computing device: a first virtual assistant via the first computing device, the first virtual assistant being associated with the first user and a first set of attributes; a task to be performed associated with the user input or the first computing device; and a second virtual assistant that is associated with a second user further associated with performance of the task, the second virtual assistant being associated with a second set of attributes; sending a message on behalf of the first virtual assistant to the second virtual assistant requesting authorization for the first virtual assistant to communicate with the second virtual assistant; determining that the second user has authorized the first virtual assistant to communicate with the second virtual assistant; based at least in part on determining that the second user has authorized the first virtual assistant to communicate with the second virtual assistant, causing the first virtual assistant and the second virtual assistant to communicate; providing a first dialog representation in a conversation user interface via the first computing device; providing a second dialog representation in the conversation user interface via the second computing device, at least one of the first dialog representation or the second dialog representation including a natural language representation of a communication from at least one of the first virtual assistant or the second virtual assistant; providing the natural language representation of the communication to a virtual assistant trainer interface via a third computing device that is used by a trainer of the first or second virtual assistants to submit feedback on the communication; receiving the feedback submitted in the virtual assistant trainer interface at the service computing device; and reconfiguring the respective attributes of the first or second virtual assistant based on the feedback.