Using Jovo with just a Dialogflow Agent (without Action on Google)


#1

Hi everybody,

for a customer, I am developing a voice app which lives just in Dialogflow (no connected Actions on Google project). A Dialogflow intent is triggered by an event (‘custom_start’) instead of the usual voice invocation. For the curious: conversation starts with a call center, which then hands over to Dialogflow and triggers this event.

If I use Jovo framework as the fulfilling webhook, an incoming request with the specific event is not recognized:

  Code:
  ERR_NO_MATCHING_PLATFORM

  Message:
  Can't handle request object.

  Stack:
  Error: Can't handle request object.
      at App.handle ((..)/node_modules/jovo-core/src/BaseApp.ts:211:11)
      at <anonymous>

  Module:
  jovo-core

  Hint:
  Please add an integration that handles that type of request.

I guess that jovo misses some properties in the request object and therefore not recognizing the Dialogflow request.

Is there any chance to get this running?

Raw interaction log as provided by Dialogflow:

{
  "queryText": "custom_start",
  "parameters": {},
  "intent": {
    "id": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
    "displayName": "Default Welcome Intent",
    "priority": 500000,
    "webhookState": "WEBHOOK_STATE_ENABLED",
    "events": [
      "WELCOME",
      "custom_start"
    ]
  },
  "intentDetectionConfidence": 1,
  "diagnosticInfo": {
    "webhook_latency_ms": 508
  },
  "languageCode": "de",
  "slotfillingMetadata": {
    "allRequiredParamsPresent": true
  },
  "id": "4e4d624b-1369-47fa-90d5-0052e5764666-21947381",
  "sessionId": "5cd2d7be-ddbb-4c64-a2f8-87ac6517f429",
  "timestamp": "2019-07-31T08:09:05.731Z",
  "source": "agent",
  "webhookStatus": {
    "webhookUsed": true,
    "webhookStatus": {
      "message": "Webhook execution successful"
    }
  },
  "agentEnvironmentId": {
    "agentId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
    "cloudProjectId": "xxxx-xxxx"
  }
}

Jovo request log:

{
	"responseId": "4e4d624b-1369-47fa-90d5-0052e5764666-21947381",
	"queryResult": {
		"queryText": "custom_start",
		"parameters": {},
		"allRequiredParamsPresent": true,
		"outputContexts": [
			{
				"name": "projects/xxxx-xxxx/agent/sessions/5cd2d7be-ddbb-4c64-a2f8-87ac6517f429/contexts/custom_start"
			}
		],
		"intent": {
			"name": "projects/xxxx-xxxx/agent/intents/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
			"displayName": "Default Welcome Intent"
		},
		"intentDetectionConfidence": 1,
		"languageCode": "de"
	},
	"originalDetectIntentRequest": {
		"payload": {}
	},
	"session": "projects/xxxx-xxxx/agent/sessions/5cd2d7be-ddbb-4c64-a2f8-87ac6517f429"
}

Many thanks & best,
Alex.