Can't get name with API block

Hi all.
I’m trying to follow this guide to get account name and use it in voiceflow as a variable.
But when I test it on Alexa Developer Console the results is that the API call fail.
I attach some images to show you what I’ve done.

This is my project

This is the Populate block where I set the apiEndpoint and the apiAccessToken

This is the API Block

This is the block where I set {nome} variable if API fail

This is the results in Alexa Developer Console

I’ve tried to show the endpoint and the token using a Speak Block and it works, I can get the endpoint and the token, but I don’t know why it don’t work if the endpoint and the token are used in API block.

Can you help me?

Hi @COAT

Can you send your project file over to support@voiceflow.com - we can investigate further from there!

Cheers,

Catherine
Voiceflow Customer Success

Hi @Catherinemaddock .
I’ll send to you the .vf file

1 Like

Thanks for sharing the details,

today I have faced the same problem, but in my case the first block (Set API, “Populate”) already had problems. I had followed the same documentation and had tried to set the 2 variable “apiEndpoint” and “apiAccessToken”, but both variables were set to “0” after the block. As a consequence the API call to {apiEndpoint}/v2/accounts/~current/settings/Profile.email etc. could not run.

My assumption: The _system variable created in each Voiceflow project must have some issues…

@VoiceFlow: Has anything changed with that _system variable?

Best wishes
Thomas

Just an addon to my last comment.
In the Alexa developer console I can see that the 2 variables “apiEndpoint” and “apiAccessToken” have normal values, but they dont make it to the VoiceFlow _system variable…

Finally, the following data could not be fetched from the system data as well:
_system.device.deviceId
_system.application.applicationId
_system.user.userId

The variable user_id in the Voiceflow project, however, is set correctly.

So my summary: Something is wrong in setting the _system variable in VF, while setting the user_id variable is correct.

Hope that helps VF to find and correct the problem pretty soon. We have different skills where permission to send emails is critical.

Thanks

Hi @thomasmeigen
I think that the first block (Set API) doesn’t work in Voiceflow test console.
In fact, in Alexa Developer Console you can see the token and the endpoint correctly.

It’s probably not a Voiceflow error but just the inability of the Voiceflow console to retrieve the data from the _system variable which maybe is for Alexa’s exclusive use

Hi @COAT

Yes, I agree. All of my tests had been done in the Alexa Developer Console, as the Voiceflow test procedures have no access to these account and device data. Thats always the restriction of testing in Voiceflow.

So testing in the Alexa Developer Console shows that the account data are available, but they are not transferred to the “_system” variable that we try to access in the Voiceflow project. Perhaps my description was a bit unclear in that respect. The Voiceflow-block where the two variables are set by calling the _system variable (e. g., {apiEndpoint} is set to _system.apiEndpoint || 0 ) must be transferred to code that is called/executed in the Alexa Developer Console. And I suspect that there is some error in that code, created by Voiceflow, but not executed in the Voiceflow test console. Complicated…

That’s more clear.
Yes, I think you’re right.
I hope developers find the problem and suggest to us a walkthrough

Short update… after melting my projects down to the very minimum, I noticed a very strange behavior.

When I copy/pasted on “old” permission block from a 2021-project (see image) without connecting it to any other block in my project, then my _system variables were filled correctly and I could handle the email / name permissions correctly as described in the tutorials.

I still assume that this a Voiceflow bug… and in some way a newly introduced bug. I had followed the tutorial last year and it had worked nicely. So I am far from understanding why an “old” VF block is required… but it is a workaround for me now.

anyone got a solution to this? My AI response chatbot just stopped working today with the same error “There was a problem with the requested skill’s response”. Been working fine for weeks now.

I’m still getting the error even after starting a new AI from scratch using AI builder and not changing anything .

Hi @r0nz3y
I don’t know about AI but I’m writing with Catherine at Voiceflow Support and a few days ago she told me there was a problem with the “_system” variables.
Now, she said they fixed it and you need to both grant the “Given Name” permission in the Alexa Developer Console AND in the Skill Settings in the Alexa app.

I tried it a few seconds ago and it works (there’s no reference to the Alexa app and permission in the guide)

HI @COAT

thanks for your efforts to talk with Voiceflow directly.

I just made my tests… and now I can access the _system variables without that outdated permission block. It works as given in the tutorial!

Thanks!