Skip to main content

Built-in variables

The following variables can be referenced in script extensions specified after the if, else, elseif, script tags and string substitutions {{}} in reactions:

VariableDescription
$clientA storage for persistent data related to the current bot user.
$contextA structure which represents the current runtime context of the request and contains references to all the other built-in variables, as well as a few special fields.
$entitiesThe list of all NLU entities recognized in the user request.
$injectorThe set of properties specified during bot deployment or script connection.
$parseTreeAn object representing the result of matching the input phrase against named patterns and entities, as well as the results of value conversions.
$requestAn object containing the user request data.
$responseAn object for forming the bot response.
$sessionA storage for data related to the current session.
$tempA storage for temporary data which only exists while processing a single user request.

Access variables in JS files and JS actions

You cannot access the built-in variables directly:

  • in JS actions;
  • in JS files if the functions will be executed in the ECMAScript 5 runtime.

In these cases, use the $jsapi.context method.

ECMAScript 6

You can access the built-in variables directly in JS files if the functions are synchronous and will be executed in the ECMAScript 6 runtime.