My Alexa reminders skill works great when testing from the Alexa iPhone app but fails with a 500 Internal Server Error when I invoke it from a physical Alexa show device.
My skill creates Alexa reminders using the reminders API with the following snippet:
const reminderRequest = { requestTime: moment().tz("America/New_York").format("YYYY-MM-DDTHH:mm:ss"), trigger: { type: "SCHEDULED_RELATIVE", offsetInSeconds: 30, }, alertInfo: { spokenInfo: { content: [{ locale: "en-US", text: "This is a demo reminder", ssml: "This is a demo reminder" }] } }, pushNotification: { status: "ENABLED" } }; let reminderClient = handlerInput.serviceClientFactory.getReminderManagementServiceClient(); await reminderClient.createReminder(reminderRequest); // <==== The problem line
This is working fine when I use the Alexa app to test. When I use my Alexa Show device (connected to the same Amazon account - with reminder permission) I get the following exception in the CloudWatch console:
2020-10-31T21:01:16.331Z 2e9c9f05-814c-4dc6-bc64-83fd6cc41671 INFO { ServiceError:Internal Server Error at ReminderManagementServiceClient.<anonymous> (/var/task/node_modules/ask-sdk-model/index.js:219:35) at step (/var/task/node_modules/ask-sdk-model/index.js:45:23) at Object.next (/var/task/node_modules/ask-sdk-model/index.js:26:53) at fulfilled (/var/task/node_modules/ask-sdk-model/index.js:17:58) at process._tickCallback (internal/process/next_tick.js:68:7) name: 'ServiceError', statusCode: 500, response: { code: 'INTERNAL_SERVER_ERROR', message: 'Internal Server error' } }
I've handled permissions and if reminder permission is missing I prompt for them and they get assigned successfully. Also, teh await is not an issue as the whole method is async. The only difference is the skill being invoked from the Alexa app versus being invoked from a Show physical device.
The 500-InternalServerError leaves a lot to the imagination. Can anyone help with some insight into what the issue may be?
Thanks.