Continue actions

Self-hosted environments: This feature requires version 1.1 (or later) of the Dialog service. This corresponds to engine pack 2.0 for Speech Suite deployments and engine pack 3.8 for self-hosted Mix deployments. IVR applications using Nuance Speech Suite with VoiceXML Connector 1.0 or earlier do not support the fetching properties, or the continue action interaction for server-side fetching.

A continue action is used in the case of a Data access node using a backend server connection to access the required data.

In this scenario, DLGaaS pauses before continuing on with the data access step, and sends an ExecuteResponse containing a continue action to the client app.

The continue action provides the client app with information useful for smoothing over any latency or delays while DLGaaS tries to access the data from the backend server. This includes:

  • A message to play to the user while waiting for a response
  • Guidance on how long to wait before playing the message and how long to play the message
  • The timeout settings for connecting to the server backend and for fetching data from the backend

For example, in the coffee app use case, if a user says “I want a double espresso,” the dialog will send continue action information to the client application in the ExecuteResponsePayload:

{
  "payload": {
   "messages": [
      {
        "nlg": [],
        "visual": [
          {
            "text": "Great! A large espresso coming right up!",
            "mask": false,
            "bargeInDisabled": false
          }
        ],
        "audio": [],
        "view": {
          "id": "",
          "name": ""
        }
      }
   ],
   "continueAction": {
      "message": {
        "nlg": [],
        "visual": [
          {
            "text": "Hold on a moment while we ring that up.",
           "mask": false,
            "bargeInDisabled": false
          }
        ],
        "audio": []
      },
      "view": {
        "id": "sample class",
        "name": "sample type"
      },
      "id": "DataAccess",
      "messageSettings": {
        "delay": "500ms",
        "minimum": "0ms"
      },
      "backendConnectionSettings": {
        "fetchTimeout": "30s",
        "connectTimeout": ""
      }
   }
 }
}

To continue the flow, the client app must send an ExecuteRequest to DLGaaS containing only the current session_id.

DLGaaS proceeds to attempt to retrieve the data from the backend server, and in the meantime, the client app can play the provided message to keep the user informed and engaged while waiting for the response from DLGaaS.

DLGaaS will then continue with the flow as configured in the dialog.

continue action flow