Integration node for Virtual Agent (VA) Async API.
Parameters
| name | description | default | 
|---|---|---|
| Address | Address of VA Orchestrator Service | http://cai-magpie-api/magpie | 
| IgnoreSslErrors | Ignore any certificate errors if VA Realtime address contains "https" | false | 
| Credential | OAuth 2.0 Credential for reaching VA Async. | None | 
| Project Name | Name of the project defined in VA interface. | None | 
| Data Flow External Address | Data Flow CallBack address. Only needs changing if VA deployment is in a different Kubernetes cluster than Data Flow | http://{PrivateIp}:{PrivateManagementPort}/ | 
Inputs
Audio
none
Events
| name | description | possible nodes this event may be received from | 
|---|---|---|
| Any event that has Data.Text | Any Text based event such as: SR Milestone, SR Partial etc. | SR Http, SR Websocket, Translate etc. | 
| VA Activity Object | If the user needs to send more information than the "Text" field. | Entry, External Relay, Custom Nodes | 
Outputs
Audio
none
Events
none
Remarks
Any output that is sent to Data Flow by VA will be taken from the External Relay node.
Requirements
"StartMessage" requirements
"StartMessage" can contain
- "CallProperties.ExternalId": If this is provided, data flow will send this value for the external conversation id to VA.
{
    "CallProperties": 
    {
      "ExternalId":"ConversationId"
    },
}
Project Structure

VA Async node works hand-in-hand with External relay. Any output sent from VA will be outputted through the first channel of External Relay node.

This is a basic example node placement that a project can utilize for proper Virtual Agent communication

It is recommended to use an Event Filter node to filter VA Async Output events for formatting. Which can be used by any Data Flow node that expects Text.
Detailed Workflow
Sending Inputs To VA
The inputted events will be sent to VA's async API.
The following are the default values Data Flow sends to VA. They can be overridden by inputting a VA Activity Object.
- "type": message
- "serviceUrl": Data Flow's callback url
- "channelId": DataFlow
- "text": Incoming Events' .Data.Textfield.
- "conversation.id": StartMessage.CallProperties.ExternalId or Session ID
Currently, the ways to use a VA Activity Object event as input is to write a Custom Node or sending the event through the Entry or External Relay nodes using a message.
Receiving Outputs From VA
- The VA Async responses are sent to Dataflow as events.
- For the current node version, the name of these events is: "VA Async Output"
- The async messages that have been sent by VA to Data Flow enter the project from the node "External Relay".
Supported flow types
Stream

