| CPC G06Q 30/0601 (2013.01) | 18 Claims |

|
1. A method performed by one or more processors, the method comprising:
maintaining a plurality of plugins each created by a corresponding developer, wherein the plugins include a given plugin that is created by a given developer of the corresponding developers;
receiving, from an end user, a selection of the given plugin from the plurality of maintained plugins;
in response to receiving the selection:
linking the given plugin with a dialog system that is associated with the end user, wherein the dialog system is associated with a virtual assistant at least partially installed on a user device of the end user;
subsequent to linking the given plugin with the dialog system that is associated with the end user:
receiving a user request from the end user via a dialog system interface of the dialog system that is associated with the end user, wherein the dialog system interface is running on the user device;
identifying the given plugin based on the linking with the dialog system and based on the user request being received via the dialog interface of the dialog system;
processing the user request using the dialog system and without using the given plugin;
determining, based on processing the user request using the dialog system interface and without using the given plugin, to use the given plugin in processing the user request,
wherein determining to use the given plugin is further based on the linking with the dialog system and based on the user request being received via the dialog interface of the dialog system; and
in response to determining to use the dialog extension element in processing the user request:
using the dialog extension element in generating a response to the user request; and
causing the response to be rendered at the user device via the dialog system and responsive to the user request.
|