1. A computer-implemented method comprising: receiving, by a voice action system, data defining a new voice action that does not currently exist for a software application installed on one or more devices, the software application being different from said voice action system, the data indicating one or more operations for the software application to perform the new voice action and one or more trigger terms for triggering the new voice action, wherein the data defining the new voice action specifies a context, the context specifying a status of a user device or of the software application installed on the user device; generating, by the voice action system, a voice action passive data structure based at least on the data defining the new voice action, wherein the voice action passive data structure comprises data that, when received by the software application, causes the software application to perform the one or more operations to perform the new voice action; associating, by the voice action system, the voice action passive data structure with the context and with the one or more trigger terms for triggering the new voice action, wherein multiple voice action passive data structures are defined in the voice action system; receiving, by the voice action system, (i) user command utterance obtained by the user device, the user device having the software application installed, and (ii) current context information regarding the user device; identifying, using the current context information and not a transcription of the user command utterance, a set of candidate voice action passive data structures from the multiple voice action passive data structures of the voice action system, the set of candidate voice action passive data structures including the voice action passive data structure defined by the data and being identified based on respective contexts associated with the set of candidate voice action passive data structures; narrowing the identified set of candidate voice action passive data structures by comparing the transcription of the user command utterance with trigger terms of respective ones of the set of candidate voice action passive data structures; determining, by the voice action system, that the transcription of the user command utterance corresponds to the one or more trigger terms associated with the voice action passive data structure; and in response to the determination, providing, by the voice action system, the voice action passive data structure to the user device which is remote from the voice action system, thereby causing the software application installed on the user device to perform the one or more operations to perform the new voice action.
1. A computer-implemented method comprising: receiving, by a voice action system, data defining a new voice action that does not currently exist for a software application installed on one or more devices, the software application being different from said voice action system, the data indicating one or more operations for the software application to perform the new voice action and one or more trigger terms for triggering the new voice action, wherein the data defining the new voice action specifies a context, the context specifying a status of a user device or of the software application installed on the user device; generating, by the voice action system, a voice action passive data structure based at least on the data defining the new voice action, wherein the voice action passive data structure comprises data that, when received by the software application, causes the software application to perform the one or more operations to perform the new voice action; associating, by the voice action system, the voice action passive data structure with the context and with the one or more trigger terms for triggering the new voice action, wherein multiple voice action passive data structures are defined in the voice action system; receiving, by the voice action system, (i) user command utterance obtained by the user device, the user device having the software application installed, and (ii) current context information regarding the user device; identifying, using the current context information and not a transcription of the user command utterance, a set of candidate voice action passive data structures from the multiple voice action passive data structures of the voice action system, the set of candidate voice action passive data structures including the voice action passive data structure defined by the data and being identified based on respective contexts associated with the set of candidate voice action passive data structures; narrowing the identified set of candidate voice action passive data structures by comparing the transcription of the user command utterance with trigger terms of respective ones of the set of candidate voice action passive data structures; determining, by the voice action system, that the transcription of the user command utterance corresponds to the one or more trigger terms associated with the voice action passive data structure; and in response to the determination, providing, by the voice action system, the voice action passive data structure to the user device which is remote from the voice action system, thereby causing the software application installed on the user device to perform the one or more operations to perform the new voice action. 4. The computer-implemented method of claim 1 , wherein the voice action system does not receive the data defining the new voice action from the software application installed on the user device.