VA Async

Prev Next

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

Messages from VA

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

image.png

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.
image.png

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

image.png

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.Text field.
  • "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

Release Notes

v4.4.0
  • Added support for VA Activity Event Input.
v4.1.0
  • Introduced Node.