Virtual Agent action scripts
-
- UpdatedAug 3, 2023
- 8 minutes to read
- Vancouver
- Virtual Agent
You need to write a set of mandatory Flow Designer action and subflow scripts to pass the user data to VACS, apply transformations and send the response back to your chat interface endpoint.
Provider and inbound/outbound scripts
A provider, such as Twilio, provides the chat capability. User action scripts perform provider actions, as well as conversational custom chat integration configuration for inbound and outbound transformer actions for your chatbot or custom conversations. Examples of each script are provided. They include a description of what each script does, as well as the action input and action output. You also see examples of the script JSON.
You use Flow Designer to build these scripts to transform server and client messages. The provider, sender, and inbound/outbound transformer scripts are required. You can use the additional scripts to add more functionality to your chat.
Provider attributes action script
Input | Output |
---|---|
|
|


Example: Provider attributes action script.
Sender action script (Decommissioned in Quebec see sender subflow)
The sender action script knows how to send a message to the provider. The script should asynchronously invoke a Flow Designer or Integration Hub subflow. The Virtual Agent is freed to continue processing messages rather than trying to send external requests.
Input | Output |
---|---|
|
None |
Example: Sender action script.
Sender subflow script
The sender subflow script knows how to send a message to the provider. The script should asynchronously invoke a Flow Designer or Integration Hub subflow. The Virtual Agent is freed to continue processing messages rather than trying to send external requests. When creating a subflow do not have an action call an action within the subflow.
Contextual action script
The contextual action script performs special keyword actions such as typing agent while inside a Virtual Agent topic to get immediately handed off to a live agent.
Input | Output |
---|---|
|
None |
Example: Contextual action script.
Link account action script
The link account action script contains identifiers for the user who is linking. The script also contains the account that it is linked to.
Input | Output |
---|---|
|
None |
Example: Link account action script.
Response processor action script
The response processor action script performs specialty actions that are based on the response to a send message request. The framework already does basic message status tracking.
Input | Output |
---|---|
|
None |
Example: Response processor action script.
Outbound transformer scripts
The outbound transformer scripts convert outgoing Virtual Agent messages to a protocol that is related to the conversational custom chat integration.
Input.
- rich_control (JSON) - Virtual Agent server rich control component that must be transformed.
- payload (JSON) - Last response that was received from a requester.
Output.
result (String) - Provider-appropriate component message to send.
Inbound transformer scripts
The inbound transformer scripts convert incoming conversational custom chat integration messages to a protocol that the Virtual Agent recognizes. It determines the required value to be injected into the rich control that is presented to the user.
Input.
- request_context (JSON) - The request passed from the Provider Attribute script.
- rich_control (JSON) - The last rich control sent to the requester that contains the original "question".
Output.
- value - sys_id or text value.
- search_text - Text that is used if the requester selected something that was unexpected. For example, a user typed something that the NLU could assist with, such as, "None of these options match what I want" in response to a topic picker component.
Inbound transformer name | Script example |
---|---|
Virtual Agent - SMS Twilio
Adapter
Default Text Inbound Transformer Purpose: Find the text response to the InputText question posed |
|
Virtual Agent - SMS Twilio
Adapter
Default Picker Inbound Transformer Purpose: Find the sys_id of the option that the user selected for this picker question. This script uses the same algorithm of the outbound transformer. If no options are selected, and the user typed something instead, then the "search_text" is set and fed into NLU if it is enabled on this instance. |