Google Assistant API V2 userstorage
up vote
0
down vote
favorite
I'm attempting to develop a Google Action with the Dialogflow v2 API
My function saves a value to userstorage as follows
def save_value(value):
res =
"fulfillmentText": "Set value to ".format(int(value)),
"payload":
"google":
"userStorage": str(value)
print ("Saved value")
response = jsonify(res)
return response
And I get the following back from testing in Dialogflow
"fulfillmentText": "Set value to 36237269",
"payload":
"google":
"userStorage": "36237269"
This works for the duration of session, I am able to use this in later intents via
value = request_json['originalRequest']['data']['user']['userStorage']
However, the data is only stored for one session - if I invoke my action again, there is nothing saved.
Is this the correct way of using userstorage? Has anyone successfully used it with Python?
Failed "response"
"responseMetadata":
"status":
"code": 10,
"message": "Failed to parse Dialogflow response into AppResponse because of empty speech response",
"details": [
"@type": "type.googleapis.com/google.protobuf.Value",
"value": ""id":"816605a7-f7e0-4d37-a490-c84ff63fb7dd","timestamp":"2018-11-08T17:18:49.422Z","lang":"en-us","result":,"alternateResult":,"status":"code":206,"errorType":"partial_content","errorDetails":"Webhook call failed. Error: 500 Internal Server Error","sessionId":"ABwppHHai3qsY2WPZWezmh9Q_bUF45aD51GbQ81sUDF7iSrRLA2m8KFgZ1ZYavnCv3fAckW1tcoJdydZTXQY5Nw""
]
Working "response"
"conversationToken": "",
"finalResponse":
"richResponse":
"items": [
"simpleResponse":
"textToSpeech": "Text"
]
,
"responseMetadata":
"status":
"message": "Success (200)"
,
"queryMatchInfo":
"queryMatched": true,
"intent": "047ad9d9-0180-47f9-88bd-e5ffc8936c08"
,
"userStorage": "36237269"
Working "Request"
"user":
"userId": "ABwppHE5H0FKrXKk8PjJyzZJ12OSMQcjxuT2NnfPAgLvai0UsfWEoYE8R_L8qLQdqY29sOnsZhQhE5G4XVVXiGs",
"locale": "en-US",
"lastSeen": "2018-11-08T17:18:16Z",
"userStorage": "36237269"
,
"conversation":
"conversationId": "ABwppHE6BwK2zIBKxHA8hc9uBGumVgKbbNGHhRVFz7O6yrxxa1WJ_xtKNqhesj3EwNCVlestM-bF6tDWzZhqUXE",
"type": "ACTIVE",
"conversationToken": ""
,
"inputs": [
"intent": "actions.intent.TEXT",
"rawInputs": [
"inputType": "KEYBOARD",
"query": "when is the next bus"
],
"arguments": [
"name": "text",
"rawText": "when is the next bus",
"textValue": "when is the next bus"
]
],
"surface":
"capabilities": [
"name": "actions.capability.MEDIA_RESPONSE_AUDIO"
,
"name": "actions.capability.WEB_BROWSER"
,
"name": "actions.capability.AUDIO_OUTPUT"
,
"name": "actions.capability.SCREEN_OUTPUT"
]
,
"isInSandbox": true,
"availableSurfaces": [
"capabilities": [
"name": "actions.capability.WEB_BROWSER"
,
"name": "actions.capability.AUDIO_OUTPUT"
,
"name": "actions.capability.SCREEN_OUTPUT"
]
],
"requestType": "SIMULATOR"
Failed "request"
"user":
"userId": "ABwppHE5H0FKrXKk8PjJyzZJ12OSMQcjxuT2NnfPAgLvai0UsfWEoYE8R_L8qLQdqY29sOnsZhQhE5G4XVVXiGs",
"locale": "en-US",
"lastSeen": "2018-11-08T17:18:41Z"
,
"conversation":
"conversationId": "ABwppHHai3qsY2WPZWezmh9Q_bUF45aD51GbQ81sUDF7iSrRLA2m8KFgZ1ZYavnCv3fAckW1tcoJdydZTXQY5Nw",
"type": "ACTIVE",
"conversationToken": ""
,
"inputs": [
"intent": "actions.intent.TEXT",
"rawInputs": [
"inputType": "KEYBOARD",
"query": "when is the next bus"
],
"arguments": [
"name": "text",
"rawText": "when is the next bus",
"textValue": "when is the next bus"
]
],
"surface":
"capabilities": [
"name": "actions.capability.WEB_BROWSER"
,
"name": "actions.capability.MEDIA_RESPONSE_AUDIO"
,
"name": "actions.capability.SCREEN_OUTPUT"
,
"name": "actions.capability.AUDIO_OUTPUT"
]
,
"isInSandbox": true,
"availableSurfaces": [
"capabilities": [
"name": "actions.capability.WEB_BROWSER"
,
"name": "actions.capability.SCREEN_OUTPUT"
,
"name": "actions.capability.AUDIO_OUTPUT"
]
],
"requestType": "SIMULATOR"
python dialogflow
|
show 4 more comments
up vote
0
down vote
favorite
I'm attempting to develop a Google Action with the Dialogflow v2 API
My function saves a value to userstorage as follows
def save_value(value):
res =
"fulfillmentText": "Set value to ".format(int(value)),
"payload":
"google":
"userStorage": str(value)
print ("Saved value")
response = jsonify(res)
return response
And I get the following back from testing in Dialogflow
"fulfillmentText": "Set value to 36237269",
"payload":
"google":
"userStorage": "36237269"
This works for the duration of session, I am able to use this in later intents via
value = request_json['originalRequest']['data']['user']['userStorage']
However, the data is only stored for one session - if I invoke my action again, there is nothing saved.
Is this the correct way of using userstorage? Has anyone successfully used it with Python?
Failed "response"
"responseMetadata":
"status":
"code": 10,
"message": "Failed to parse Dialogflow response into AppResponse because of empty speech response",
"details": [
"@type": "type.googleapis.com/google.protobuf.Value",
"value": ""id":"816605a7-f7e0-4d37-a490-c84ff63fb7dd","timestamp":"2018-11-08T17:18:49.422Z","lang":"en-us","result":,"alternateResult":,"status":"code":206,"errorType":"partial_content","errorDetails":"Webhook call failed. Error: 500 Internal Server Error","sessionId":"ABwppHHai3qsY2WPZWezmh9Q_bUF45aD51GbQ81sUDF7iSrRLA2m8KFgZ1ZYavnCv3fAckW1tcoJdydZTXQY5Nw""
]
Working "response"
"conversationToken": "",
"finalResponse":
"richResponse":
"items": [
"simpleResponse":
"textToSpeech": "Text"
]
,
"responseMetadata":
"status":
"message": "Success (200)"
,
"queryMatchInfo":
"queryMatched": true,
"intent": "047ad9d9-0180-47f9-88bd-e5ffc8936c08"
,
"userStorage": "36237269"
Working "Request"
"user":
"userId": "ABwppHE5H0FKrXKk8PjJyzZJ12OSMQcjxuT2NnfPAgLvai0UsfWEoYE8R_L8qLQdqY29sOnsZhQhE5G4XVVXiGs",
"locale": "en-US",
"lastSeen": "2018-11-08T17:18:16Z",
"userStorage": "36237269"
,
"conversation":
"conversationId": "ABwppHE6BwK2zIBKxHA8hc9uBGumVgKbbNGHhRVFz7O6yrxxa1WJ_xtKNqhesj3EwNCVlestM-bF6tDWzZhqUXE",
"type": "ACTIVE",
"conversationToken": ""
,
"inputs": [
"intent": "actions.intent.TEXT",
"rawInputs": [
"inputType": "KEYBOARD",
"query": "when is the next bus"
],
"arguments": [
"name": "text",
"rawText": "when is the next bus",
"textValue": "when is the next bus"
]
],
"surface":
"capabilities": [
"name": "actions.capability.MEDIA_RESPONSE_AUDIO"
,
"name": "actions.capability.WEB_BROWSER"
,
"name": "actions.capability.AUDIO_OUTPUT"
,
"name": "actions.capability.SCREEN_OUTPUT"
]
,
"isInSandbox": true,
"availableSurfaces": [
"capabilities": [
"name": "actions.capability.WEB_BROWSER"
,
"name": "actions.capability.AUDIO_OUTPUT"
,
"name": "actions.capability.SCREEN_OUTPUT"
]
],
"requestType": "SIMULATOR"
Failed "request"
"user":
"userId": "ABwppHE5H0FKrXKk8PjJyzZJ12OSMQcjxuT2NnfPAgLvai0UsfWEoYE8R_L8qLQdqY29sOnsZhQhE5G4XVVXiGs",
"locale": "en-US",
"lastSeen": "2018-11-08T17:18:41Z"
,
"conversation":
"conversationId": "ABwppHHai3qsY2WPZWezmh9Q_bUF45aD51GbQ81sUDF7iSrRLA2m8KFgZ1ZYavnCv3fAckW1tcoJdydZTXQY5Nw",
"type": "ACTIVE",
"conversationToken": ""
,
"inputs": [
"intent": "actions.intent.TEXT",
"rawInputs": [
"inputType": "KEYBOARD",
"query": "when is the next bus"
],
"arguments": [
"name": "text",
"rawText": "when is the next bus",
"textValue": "when is the next bus"
]
],
"surface":
"capabilities": [
"name": "actions.capability.WEB_BROWSER"
,
"name": "actions.capability.MEDIA_RESPONSE_AUDIO"
,
"name": "actions.capability.SCREEN_OUTPUT"
,
"name": "actions.capability.AUDIO_OUTPUT"
]
,
"isInSandbox": true,
"availableSurfaces": [
"capabilities": [
"name": "actions.capability.WEB_BROWSER"
,
"name": "actions.capability.SCREEN_OUTPUT"
,
"name": "actions.capability.AUDIO_OUTPUT"
]
],
"requestType": "SIMULATOR"
python dialogflow
Can you update your question to include info about how you're testing this? If you are using the Action Simulator, can you include in your question the contents of the "request" tab from two different sessions?
– Prisoner
Nov 8 at 16:26
Thank you, I've updated the comment - the failed response shows the following in logs as there is no userstorage after leaving the action request_json['originalDetectIntentRequest']['payload']['user']['userStorage'] KeyError: 'userStorage'
– user10624743
Nov 8 at 17:29
Can you also add the "request" tab?
– Prisoner
Nov 8 at 18:32
Thank you, have done. Any help is appreciated!
– user10624743
Nov 8 at 19:08
That is definitely peculiar. Have you tested from a device linked with the same account? How are you initializing the test each time?
– Prisoner
Nov 8 at 19:50
|
show 4 more comments
up vote
0
down vote
favorite
up vote
0
down vote
favorite
I'm attempting to develop a Google Action with the Dialogflow v2 API
My function saves a value to userstorage as follows
def save_value(value):
res =
"fulfillmentText": "Set value to ".format(int(value)),
"payload":
"google":
"userStorage": str(value)
print ("Saved value")
response = jsonify(res)
return response
And I get the following back from testing in Dialogflow
"fulfillmentText": "Set value to 36237269",
"payload":
"google":
"userStorage": "36237269"
This works for the duration of session, I am able to use this in later intents via
value = request_json['originalRequest']['data']['user']['userStorage']
However, the data is only stored for one session - if I invoke my action again, there is nothing saved.
Is this the correct way of using userstorage? Has anyone successfully used it with Python?
Failed "response"
"responseMetadata":
"status":
"code": 10,
"message": "Failed to parse Dialogflow response into AppResponse because of empty speech response",
"details": [
"@type": "type.googleapis.com/google.protobuf.Value",
"value": ""id":"816605a7-f7e0-4d37-a490-c84ff63fb7dd","timestamp":"2018-11-08T17:18:49.422Z","lang":"en-us","result":,"alternateResult":,"status":"code":206,"errorType":"partial_content","errorDetails":"Webhook call failed. Error: 500 Internal Server Error","sessionId":"ABwppHHai3qsY2WPZWezmh9Q_bUF45aD51GbQ81sUDF7iSrRLA2m8KFgZ1ZYavnCv3fAckW1tcoJdydZTXQY5Nw""
]
Working "response"
"conversationToken": "",
"finalResponse":
"richResponse":
"items": [
"simpleResponse":
"textToSpeech": "Text"
]
,
"responseMetadata":
"status":
"message": "Success (200)"
,
"queryMatchInfo":
"queryMatched": true,
"intent": "047ad9d9-0180-47f9-88bd-e5ffc8936c08"
,
"userStorage": "36237269"
Working "Request"
"user":
"userId": "ABwppHE5H0FKrXKk8PjJyzZJ12OSMQcjxuT2NnfPAgLvai0UsfWEoYE8R_L8qLQdqY29sOnsZhQhE5G4XVVXiGs",
"locale": "en-US",
"lastSeen": "2018-11-08T17:18:16Z",
"userStorage": "36237269"
,
"conversation":
"conversationId": "ABwppHE6BwK2zIBKxHA8hc9uBGumVgKbbNGHhRVFz7O6yrxxa1WJ_xtKNqhesj3EwNCVlestM-bF6tDWzZhqUXE",
"type": "ACTIVE",
"conversationToken": ""
,
"inputs": [
"intent": "actions.intent.TEXT",
"rawInputs": [
"inputType": "KEYBOARD",
"query": "when is the next bus"
],
"arguments": [
"name": "text",
"rawText": "when is the next bus",
"textValue": "when is the next bus"
]
],
"surface":
"capabilities": [
"name": "actions.capability.MEDIA_RESPONSE_AUDIO"
,
"name": "actions.capability.WEB_BROWSER"
,
"name": "actions.capability.AUDIO_OUTPUT"
,
"name": "actions.capability.SCREEN_OUTPUT"
]
,
"isInSandbox": true,
"availableSurfaces": [
"capabilities": [
"name": "actions.capability.WEB_BROWSER"
,
"name": "actions.capability.AUDIO_OUTPUT"
,
"name": "actions.capability.SCREEN_OUTPUT"
]
],
"requestType": "SIMULATOR"
Failed "request"
"user":
"userId": "ABwppHE5H0FKrXKk8PjJyzZJ12OSMQcjxuT2NnfPAgLvai0UsfWEoYE8R_L8qLQdqY29sOnsZhQhE5G4XVVXiGs",
"locale": "en-US",
"lastSeen": "2018-11-08T17:18:41Z"
,
"conversation":
"conversationId": "ABwppHHai3qsY2WPZWezmh9Q_bUF45aD51GbQ81sUDF7iSrRLA2m8KFgZ1ZYavnCv3fAckW1tcoJdydZTXQY5Nw",
"type": "ACTIVE",
"conversationToken": ""
,
"inputs": [
"intent": "actions.intent.TEXT",
"rawInputs": [
"inputType": "KEYBOARD",
"query": "when is the next bus"
],
"arguments": [
"name": "text",
"rawText": "when is the next bus",
"textValue": "when is the next bus"
]
],
"surface":
"capabilities": [
"name": "actions.capability.WEB_BROWSER"
,
"name": "actions.capability.MEDIA_RESPONSE_AUDIO"
,
"name": "actions.capability.SCREEN_OUTPUT"
,
"name": "actions.capability.AUDIO_OUTPUT"
]
,
"isInSandbox": true,
"availableSurfaces": [
"capabilities": [
"name": "actions.capability.WEB_BROWSER"
,
"name": "actions.capability.SCREEN_OUTPUT"
,
"name": "actions.capability.AUDIO_OUTPUT"
]
],
"requestType": "SIMULATOR"
python dialogflow
I'm attempting to develop a Google Action with the Dialogflow v2 API
My function saves a value to userstorage as follows
def save_value(value):
res =
"fulfillmentText": "Set value to ".format(int(value)),
"payload":
"google":
"userStorage": str(value)
print ("Saved value")
response = jsonify(res)
return response
And I get the following back from testing in Dialogflow
"fulfillmentText": "Set value to 36237269",
"payload":
"google":
"userStorage": "36237269"
This works for the duration of session, I am able to use this in later intents via
value = request_json['originalRequest']['data']['user']['userStorage']
However, the data is only stored for one session - if I invoke my action again, there is nothing saved.
Is this the correct way of using userstorage? Has anyone successfully used it with Python?
Failed "response"
"responseMetadata":
"status":
"code": 10,
"message": "Failed to parse Dialogflow response into AppResponse because of empty speech response",
"details": [
"@type": "type.googleapis.com/google.protobuf.Value",
"value": ""id":"816605a7-f7e0-4d37-a490-c84ff63fb7dd","timestamp":"2018-11-08T17:18:49.422Z","lang":"en-us","result":,"alternateResult":,"status":"code":206,"errorType":"partial_content","errorDetails":"Webhook call failed. Error: 500 Internal Server Error","sessionId":"ABwppHHai3qsY2WPZWezmh9Q_bUF45aD51GbQ81sUDF7iSrRLA2m8KFgZ1ZYavnCv3fAckW1tcoJdydZTXQY5Nw""
]
Working "response"
"conversationToken": "",
"finalResponse":
"richResponse":
"items": [
"simpleResponse":
"textToSpeech": "Text"
]
,
"responseMetadata":
"status":
"message": "Success (200)"
,
"queryMatchInfo":
"queryMatched": true,
"intent": "047ad9d9-0180-47f9-88bd-e5ffc8936c08"
,
"userStorage": "36237269"
Working "Request"
"user":
"userId": "ABwppHE5H0FKrXKk8PjJyzZJ12OSMQcjxuT2NnfPAgLvai0UsfWEoYE8R_L8qLQdqY29sOnsZhQhE5G4XVVXiGs",
"locale": "en-US",
"lastSeen": "2018-11-08T17:18:16Z",
"userStorage": "36237269"
,
"conversation":
"conversationId": "ABwppHE6BwK2zIBKxHA8hc9uBGumVgKbbNGHhRVFz7O6yrxxa1WJ_xtKNqhesj3EwNCVlestM-bF6tDWzZhqUXE",
"type": "ACTIVE",
"conversationToken": ""
,
"inputs": [
"intent": "actions.intent.TEXT",
"rawInputs": [
"inputType": "KEYBOARD",
"query": "when is the next bus"
],
"arguments": [
"name": "text",
"rawText": "when is the next bus",
"textValue": "when is the next bus"
]
],
"surface":
"capabilities": [
"name": "actions.capability.MEDIA_RESPONSE_AUDIO"
,
"name": "actions.capability.WEB_BROWSER"
,
"name": "actions.capability.AUDIO_OUTPUT"
,
"name": "actions.capability.SCREEN_OUTPUT"
]
,
"isInSandbox": true,
"availableSurfaces": [
"capabilities": [
"name": "actions.capability.WEB_BROWSER"
,
"name": "actions.capability.AUDIO_OUTPUT"
,
"name": "actions.capability.SCREEN_OUTPUT"
]
],
"requestType": "SIMULATOR"
Failed "request"
"user":
"userId": "ABwppHE5H0FKrXKk8PjJyzZJ12OSMQcjxuT2NnfPAgLvai0UsfWEoYE8R_L8qLQdqY29sOnsZhQhE5G4XVVXiGs",
"locale": "en-US",
"lastSeen": "2018-11-08T17:18:41Z"
,
"conversation":
"conversationId": "ABwppHHai3qsY2WPZWezmh9Q_bUF45aD51GbQ81sUDF7iSrRLA2m8KFgZ1ZYavnCv3fAckW1tcoJdydZTXQY5Nw",
"type": "ACTIVE",
"conversationToken": ""
,
"inputs": [
"intent": "actions.intent.TEXT",
"rawInputs": [
"inputType": "KEYBOARD",
"query": "when is the next bus"
],
"arguments": [
"name": "text",
"rawText": "when is the next bus",
"textValue": "when is the next bus"
]
],
"surface":
"capabilities": [
"name": "actions.capability.WEB_BROWSER"
,
"name": "actions.capability.MEDIA_RESPONSE_AUDIO"
,
"name": "actions.capability.SCREEN_OUTPUT"
,
"name": "actions.capability.AUDIO_OUTPUT"
]
,
"isInSandbox": true,
"availableSurfaces": [
"capabilities": [
"name": "actions.capability.WEB_BROWSER"
,
"name": "actions.capability.SCREEN_OUTPUT"
,
"name": "actions.capability.AUDIO_OUTPUT"
]
],
"requestType": "SIMULATOR"
python dialogflow
python dialogflow
edited Nov 8 at 19:08
asked Nov 8 at 16:14
user10624743
11
11
Can you update your question to include info about how you're testing this? If you are using the Action Simulator, can you include in your question the contents of the "request" tab from two different sessions?
– Prisoner
Nov 8 at 16:26
Thank you, I've updated the comment - the failed response shows the following in logs as there is no userstorage after leaving the action request_json['originalDetectIntentRequest']['payload']['user']['userStorage'] KeyError: 'userStorage'
– user10624743
Nov 8 at 17:29
Can you also add the "request" tab?
– Prisoner
Nov 8 at 18:32
Thank you, have done. Any help is appreciated!
– user10624743
Nov 8 at 19:08
That is definitely peculiar. Have you tested from a device linked with the same account? How are you initializing the test each time?
– Prisoner
Nov 8 at 19:50
|
show 4 more comments
Can you update your question to include info about how you're testing this? If you are using the Action Simulator, can you include in your question the contents of the "request" tab from two different sessions?
– Prisoner
Nov 8 at 16:26
Thank you, I've updated the comment - the failed response shows the following in logs as there is no userstorage after leaving the action request_json['originalDetectIntentRequest']['payload']['user']['userStorage'] KeyError: 'userStorage'
– user10624743
Nov 8 at 17:29
Can you also add the "request" tab?
– Prisoner
Nov 8 at 18:32
Thank you, have done. Any help is appreciated!
– user10624743
Nov 8 at 19:08
That is definitely peculiar. Have you tested from a device linked with the same account? How are you initializing the test each time?
– Prisoner
Nov 8 at 19:50
Can you update your question to include info about how you're testing this? If you are using the Action Simulator, can you include in your question the contents of the "request" tab from two different sessions?
– Prisoner
Nov 8 at 16:26
Can you update your question to include info about how you're testing this? If you are using the Action Simulator, can you include in your question the contents of the "request" tab from two different sessions?
– Prisoner
Nov 8 at 16:26
Thank you, I've updated the comment - the failed response shows the following in logs as there is no userstorage after leaving the action request_json['originalDetectIntentRequest']['payload']['user']['userStorage'] KeyError: 'userStorage'
– user10624743
Nov 8 at 17:29
Thank you, I've updated the comment - the failed response shows the following in logs as there is no userstorage after leaving the action request_json['originalDetectIntentRequest']['payload']['user']['userStorage'] KeyError: 'userStorage'
– user10624743
Nov 8 at 17:29
Can you also add the "request" tab?
– Prisoner
Nov 8 at 18:32
Can you also add the "request" tab?
– Prisoner
Nov 8 at 18:32
Thank you, have done. Any help is appreciated!
– user10624743
Nov 8 at 19:08
Thank you, have done. Any help is appreciated!
– user10624743
Nov 8 at 19:08
That is definitely peculiar. Have you tested from a device linked with the same account? How are you initializing the test each time?
– Prisoner
Nov 8 at 19:50
That is definitely peculiar. Have you tested from a device linked with the same account? How are you initializing the test each time?
– Prisoner
Nov 8 at 19:50
|
show 4 more comments
active
oldest
votes
active
oldest
votes
active
oldest
votes
active
oldest
votes
active
oldest
votes
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53211782%2fgoogle-assistant-api-v2-userstorage%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Can you update your question to include info about how you're testing this? If you are using the Action Simulator, can you include in your question the contents of the "request" tab from two different sessions?
– Prisoner
Nov 8 at 16:26
Thank you, I've updated the comment - the failed response shows the following in logs as there is no userstorage after leaving the action request_json['originalDetectIntentRequest']['payload']['user']['userStorage'] KeyError: 'userStorage'
– user10624743
Nov 8 at 17:29
Can you also add the "request" tab?
– Prisoner
Nov 8 at 18:32
Thank you, have done. Any help is appreciated!
– user10624743
Nov 8 at 19:08
That is definitely peculiar. Have you tested from a device linked with the same account? How are you initializing the test each time?
– Prisoner
Nov 8 at 19:50