1. A computing device comprising: a processing unit; memory; one or more microphones; and a speech-controlled digital personal assistant configured to perform operations comprising: receiving speech input generated by a user via the one or more microphones; performing speech recognition using the speech input to determine a spoken command, wherein the spoken command comprises a request to perform a task of a third-party application, and wherein the task is identified using a data structure that defines tasks of third-party applications invokable by spoken command, the third-party applications comprising tasks that are capable of being executed using user interfaces of the third-party applications and tasks that are capable of being headlessly executed without using the user interfaces of the third-party applications, and the data structure defining how the task is capable of being executed by the digital personal assistant; using the data structure to select between headlessly executing the task of the third-party application and executing the task using the user interface of the third-party application; causing the third-party application to execute as a background process to headlessly execute the task when headless execution of the task of the third-party application is selected; receiving a response from the third-party application indicating a state associated with the task; and providing, by a user interface of the speech-controlled digital personal assistant, a response to the user based on the received state associated with the task so that the response comes from within a context of the user interface of the speech-controlled digital personal assistant without surfacing the user interface of the third-party application.
1. A computing device comprising: a processing unit; memory; one or more microphones; and a speech-controlled digital personal assistant configured to perform operations comprising: receiving speech input generated by a user via the one or more microphones; performing speech recognition using the speech input to determine a spoken command, wherein the spoken command comprises a request to perform a task of a third-party application, and wherein the task is identified using a data structure that defines tasks of third-party applications invokable by spoken command, the third-party applications comprising tasks that are capable of being executed using user interfaces of the third-party applications and tasks that are capable of being headlessly executed without using the user interfaces of the third-party applications, and the data structure defining how the task is capable of being executed by the digital personal assistant; using the data structure to select between headlessly executing the task of the third-party application and executing the task using the user interface of the third-party application; causing the third-party application to execute as a background process to headlessly execute the task when headless execution of the task of the third-party application is selected; receiving a response from the third-party application indicating a state associated with the task; and providing, by a user interface of the speech-controlled digital personal assistant, a response to the user based on the received state associated with the task so that the response comes from within a context of the user interface of the speech-controlled digital personal assistant without surfacing the user interface of the third-party application. 7. The computing device according to claim 1 , the operations further comprising: starting a timer when the third-party application is caused to execute as a background process; and terminating the background process if the timer expires.