App-to-app account linking

Has anyone successfully implemented app-to-app account linking with a web or native app?

I am quite confused with the Alexa docs on how to do this:

https://developer.amazon.com/en-US/docs/alexa/account-linking/app-to-app-account-linking.html

I have an app in Bubble.io that sends an email and text message that the user defines. The app uses Amazon Login to allow the user quick login.

I need to link that account to this Alexa skill so that the user can tell Alexa to do something which will send an API call to Bubble to send the email that the user wants.

However, figuring out how this app-to-app linking works is very confusing at the moment.

don’t know much about bubble.io, but if you want link alexa skill with your bubble.io app account, your bubble.io app should be oauth2 server, but guessing in your post, your bubble.io app sounds oauth2 client to me.

I don’t know if it is possible to create oauth2 server on bubble.io

Hi @dfrenkel! You can use bubble to do the LWA flow, add the API Connector plugin and setup it with something like this:

Then, add a second API call to do the skill activation with the token you get from the first step.

@Nicolas Thank you very much for your help! I think that using Bubble to build a companion app is perfect for VoiceFlow, so thank you for taking the time to walk through this.

I had actually gotten about this far as well, but had a slightly different flow with the same result.

The next problem is the most confusing for me. Let’s say we have a pizza delivery app. When the user says “Alexa, order me a pizza”, the flow in VoiceFlow must connect to the Bubble app via API, find the connected user and find the address associated with the user, so we can send them a pizza.

However, the main thing I cannot figure out is how to have VoiceFlow send an API call to the Bubble app and identify the user that is connected to the Alexa skill. If that makes sense?

I found an older guide for doing something similar while using Auth0 as the OAuth server.

I’m looking into using Auth0 to make the connection.

It looks like @kun432 is correct, I need my Bubble app to act as an OAuth server.

I was able to retrieve an Amazon access token, but in the end the Skill Activation API fails because it expects my bubble app to issue an OAuth token back to the Alexa app.

https://developer.amazon.com/en-US/docs/alexa/account-linking/skill-activation-api.html#enable-and-link

The redirect_uri parameter that was included in the authorization request to your OAuth 2.0 server to obtain the user’s authorization code. This enables Amazon to retrieve access tokens from your token server. This URL must be opaque to Amazon.

Since I don’t think my Bubble app can be an OAuth server, I will look into using the Auth0 service since there is an Auth0 Bubble.io plugin