1. A method of controlling an external apparatus, the method comprising: providing, to a server, user input information used to determine a user's intention; identifying an external apparatus controllable by a device; providing apparatus information of the identified external apparatus, to the server; receiving, from the server, control information about the external apparatus, which is generated, by the server, based on the user input information and the apparatus information; and transmitting a control command to the external apparatus which is generated based on the received control information, wherein the control information is generated based on the user's intention.