To allow a user to adopt human-to-computer interaction on the basis of voice for programming an automatic assistant by using a customized routine which is called later for achieving a task, namely, 'interaction routine'.SOLUTION: First free-form natural language input for identifying a command to be mapped to a task and a slot which is required to be filled with values for achieving the task is received from a user. An interaction routine which includes mapping between the command and the task and receives the value to fill the slot as input may be stored. (i) For calling the interaction routine on the basis of mapping and/or (ii) for identifying the value to fill the slot, the subsequent free-form natural language input may be received from the user. Data indicating at least the value may be transmitted to a remote computing device for achieving the task.SELECTED DRAWING: Figure 4
USER PROGRAMMABLE AUTOMATIC ASSISTANT