A computer-implemented method, comprising: receiving audio data corresponding to an utterance spoken by a user at a communications device, the utterance specifying a functionality of an application executed by the communications device, the utterance being spoken by the user into a microphone; obtaining contextual data indicative of an interaction of the user with the executed application, the contextual data comprising data characterising content currently viewed by the user within a native graphical user interface, GUI, of the executed application; and transmitting portions of the audio data and the contextual data to an external computing system, the external computing system being configured to generate structured data comprising an application specific command, the structured data based on an application of one or more of a speech recognition algorithm and a natural-language processing algorithm to the transmitted portions of the audio data and the contextual data, wherein the external computing system is further configured to select an application-specific command based on an identification of the application from the contextual data; obtaining, at the communications device, and by one or more processors, the structured data, the structured data for causing the executed application to perform one or more operations consistent with the specified functionality; providing, by the one or more processors, the structured data to the executed application through a programmatic interface, the executed application performing the one or more operations in accordance with the structured data; generating, by the one or more processors, data indicative of an output of the one or more operations performed by the executed application; and presenting, by the one or more processors, at least a portion of the generated output data to a user through a corresponding interface. receiving audio data corresponding to an utterance spoken by a user at a communications device, the utterance specifying a functionality of an application executed by the communications device, the utterance being spoken by the user into a microphone; obtaining contextual data indicative of an interaction of the user with the executed application, the contextual data comprising data characterising content currently viewed by the user within a native graphical user interface, GUI, of the executed application; and transmitting portions of the audio data and the contextual data to an external computing system, the external computing system being configured to generate structured data comprising an application specific command, the structured data based on an application of one or more of a speech recognition algorithm and a natural-language processing algorithm to the transmitted portions of the audio data and the contextual data, wherein the external computing system is further configured to select an application-specific command based on an identification of the application from the contextual data; obtaining, at the communications device, and by one or more processors, the structured data, the structured data for causing the executed application to perform one or more operations consistent with the specified functionality; providing, by the one or more processors, the structured data to the executed application through a programmatic interface, the executed application performing the one or more operations in accordance with the structured data; generating, by the one or more processors, data indicative of an output of the one or more operations performed by the executed application; and presenting, by the one or more processors, at least a portion of the generated output data to a user through a corresponding interface.