API Version 2: Failed to parse JSON response string with 'INVALID_ARGUMENT' error: \": Cannot find field.\"

Viewed 6176

I am getting 'API Version 2: Failed to parse JSON response string with 'INVALID_ARGUMENT' error: \": Cannot find field.\".' error for simple speech webhook response.

------------ERROR--------------

"debugInfo": {
        "agentToAssistantDebug": {
            "agentToAssistantJson": {
                "message": "Unexpected apiai response format: Empty speech response",
                "apiResponse": {
                    "id": "31f9c31d-3861-4262-8518-bd1f1e895f86",
                    "timestamp": "2017-07-29T22:09:23.971Z",
                    "lang": "en",
                    "result": {},
                    "status": {
                        "code": 200,
                        "errorType": "success"
                    },
                    "sessionId": "1501366152335"
                }
            }
        },
        "sharedDebugInfo": [
            {
                "name": "ResponseValidation",
                "subDebugEntry": [
                    {
                        "name": "UnparseableJsonResponse",
                        "debugInfo": "API Version 2: Failed to parse JSON response string with 'INVALID_ARGUMENT' error: \": Cannot find field.\"."
                    }
                ]
            }
        ]
    },
    "visualResponse": {}
}

I tried sending following json response as per https://api.ai/docs/reference/agent/query#response document.

------------RESPONSE--------------

{
  "result": {
    "source": "agent",
    "resolvedQuery": "city",
    "action": "tell.facts",
    "actionIncomplete": false,
    "parameters": {
      "facts-category": "city"
    },
    "contexts": [],
    "metadata": {
      "intentId": "873b1895-cdfc-42a4-b61b-5a1703c72a4d",
      "webhookUsed": "true",
      "webhookForSlotFillingUsed": "false",
      "webhookResponseTime": 417,
      "intentName": "tell-facts"
    },
    "fulfillment": {
      "speech": "Amsterdam",
      "messages": [
        {
          "type": 0,
          "speech": "Amsterdam"
        }
      ]
    },
    "score": 1
  }
}

What is it that i'm missing??

6 Answers

I had this issue because I had not given any action name. Giving the action name resolved this for me.

A little late, but I recently had the same problem whilst connecting to Google Assistant. After some head scratching I realised that my welcome intent did not have a properly configured voice response. Note that I am not using webhooks at yet. But the error indicates that there is a missing voice response.

In my case I solved it by checking all my intents, and at the bottom of the each intent, writing a text response in the "Default" tab, and then going to the Google Assistant tab, and enabling the "Use response from the DEFAULT tab as the first response." After that, my voice app started working.

For me it was the action somehow got changed in the Default Welcome Intent. I had an action to go and get the user's name for the welcome message but that had gone. I put it back in and it started working again

Related