...
When deploying the agent, make sure to to replace the sample values with dynamic expressions.
Securing Variables
Dynamic Content
Dynamic instruction content, including variables, is provided using Template Literal and/or EJS Notation. In addition to using previously defined variable names, dynamic content can include Node.js / JavaScript expressions that output dynamic content, execute code, or implement conditional and repeating content.
...
Template literal notation uses the dollar sign and curly braces to signify a variable or an expression. For example:
Code Block |
---|
The current customer number is: ${ |
...
customerNumber}. The customer name is: ${customerName.trim()}. |
EJS Notation
EJS Syntax allows you to both control the instruction output and its flow. Use the <%- someOutput %> syntax to control the instruction output. Use the <% code %> to control the flow. Template literals can be used together with EJS syntax, if desired.
For example:
Code Block |
---|
The current customer number is: <%- customerNumber %>. The customer name is: <%- ${customerName} %>. <% if (opportunities.length > 0) { %> The following is a list of customer opportunities: <% for (let opportunity of opportunities) { %> - <%- opportunity.description %> <% } %> <% } %> |
...
Code Block |
---|
<% const { customerNumber, customerName } = await call("get session data", { sessionId }); %> The current customer number is: <%- customerNumber %>. The customer name is: <%=- customerName %>. |
In this instance, customerNumber
and customerName
are retrieved from server-side data by calling the "get session data"
routine, while sessionId
is an Instruction Variable sourced from the browser. This method effectively marries server-side capabilities with client-side interactions, allowing for a seamless and secure use of your data.