This guide will show you how to install Google Assistant to your Alexa device (Amazon Echo / Dot / Show / Spot). You can now use the “Hey, Google” skill on your Amazon Alexa device with some limitations. This skill uses the official Google Assistant API giving you access to more features on your Alexa device.
Before we begin, there are some things you need to know:

What can the Google Assistant Skill do?

For information on what Google Assistant can do, read here. However, not all of these features are functional on the Alexa device.
The following features do not work:
  1. Alarms and timers. Use Alexa for these.
  2. Device location. If you have a Home address set in your google account then it will use that as a default. NOTE:- if you are in Europe and want weather forecasts in metric then just ask the assistant to “Change my units to Celsius”.
  3. Playing music, news, or podcasts is not supported.
  4. Account linking for third party services requires owning a Google Home and installing the Google Home application. This affects using services like Uber, or connecting to home automation devices like Hue.
  5. Multiple Users are not supported – it will only use the Google account linked through the Alexa app
  6. Asking Google Assistant to change volume. You will need to ask Alexa directly.

What is the difference between this and the other Ask Google skill?

The Google Assistant skill does everything the Ask Google skill does but better and has even more features. The Ask Google skill is basically a screen-reader and answers your questions by reading the Google answer boxes at the top of the results page. This can give incomprehensible answers if there are charts or tables in the answer box. This will not happen with the Google Assistant skill which uses the official Google Assistant API. You can ask Google Assistant any kind of questions, ask for traffic travel times, ask about local places, ask about events on your Google Calendar, ask about flight information, and much much more.

Is it free?

The latest Google Assistant Alexa skill no longer uses AWS Polly, therefore the skill is now free to use unless you go over the Free Tier limits. As of April 16, under the AWS Lambda free tier plan you get “1,000,000 free requests per month and it does not expire at the end of your 12-month AWS Free Tier term”.
You will need to enter a valid credit card in order to create an AWS account (even for the Free Tier). However, you will not be charged unless you go over the limits.

This is an unofficial Google Assistant skill and is not endorsed by Google or Amazon.
This skill was created by tartan_guru. More information on this skill including instructions, updates, troubleshooting, and more can be found on the official page here:

How to Install Google Assistant Skill to Echo / Dot / Show / Spot

(This tutorial has been completely updated since April 2018.)
1. Go to the Amazon Alexa Developer page and go to Sign In on the top-right corner.

2. Create an Amazon Developer account or sign into your account if you already have one.
3. In the Payments page, make sure you answer No for both questions.
4. Once you are signed into the Developer Console page, go to Alexa Skills Kit.
5. Hit Create Skill.
6. Name the SkillName: “Google Assistant for Alexa“.
7. Select the correct language for your country and hit Next.
8. Select Custom and hit Create skill.
9. Go to Invocation on the left side menu.
10. Enter an Invocation Name (keep it all lowercase) – This will be the skill activation name, so for example if you name it “google”, you will say “Alexa, ask google…” to activate the skill. Some popular choices are “google”, “assistant”, or “google assistant”. If you have already installed the old “Ask Google” skill which already used the “google” invocation name, you will need to use a different invocation name. After you entered a name, hit Save Model.
11. Go to Intents on the left side menu and hit +Add Intent.
12. Select Use an existing intent from Alexa’s built-in library.
13. Go down to Standard and hit the arrow button to show all of the options. You will then need to make sure all of the following Intents have been added by hitting +Add Intent next to the specific Intent:
  • AMAZON.NavigateSettingsIntent
  • AMAZON.MoreIntent
  • AMAZON.PageDownIntent
  • AMAZON.PageUpIntent
  • AMAZON.ScrollRightIntent
  • AMAZON.ScrollDownIntent
  • AMAZON.ScrollLeftIntent
  • AMAZON.ScrollUpIntent
  • AMAZON.HelpIntent
  • AMAZON.NextIntent
  • AMAZON.PreviousIntent
  • AMAZON.StopIntent
  • AMAZON.CancelIntent
  • AMAZON.NoIntent
  • AMAZON.YesIntent
14. Hit Save Model.
15. Go to Slot Types on the left side menu and hit Add Slot Type+.
16. Make sure Create custom slot type is selected, enter “search” for the name, and hit Create custom slot type.
17. Enter the following in the value box and hit the + button:
who is the queen
18. Now enter the following in the value box and hit the + button:
why is the sky blue
19. Go back to Intent on the left side menu and hit +Add Intent.
20. Make sure Create custom intent is selected, enter “SearchIntent” for the name, and hit Create custom intent.
21. In the Sample Utterances box, enter the following then hit the + button:
SearchIntent {search}
22. Under Intent Slots, select “search” for the SLOT TYPE for search.
23. Hit Save Model.

24. Go to Endpoint on the left side menu select AWS Lambda ARN, and hit Save Endpoints.
25. Go to Account Linking on the left side menu.
26. Enable Do you allow users to create an account or link to an existing account with you?
27. Copy the three Redirect URL links on the bottom of the page. You will need this later. Leave this page open and open a new tab on your browser.

28. In a new tab, go to Cloud Platform Console and sign into your Google account. If this is your first time in the Google Developer Console, you will be prompted to accept the Terms of Service.
29. Name the project anything you want (the name will not affect anything) then hit Create.
30. Wait for a notification on the top-right corner of the page to appear to indicate the creation of the project.
31. Open the notification and click on Create Project: <name of project>
32. Go to the API Manager page here.
33. Enable Google Assistant API.
34. Make sure Google Assistant API is selected for What API are you using?
35. Select Web server (e.g. node.js, Tomcat) for Where will you be calling the API from?
36. Select User data for What data will you be accessing?
35. Hit the blue What credentials do I need? button.
36. Change the name to:
37. Under Authorized redirect URIs, copy the first Redirect URL from step 27 and hit enter.
38. Now copy the second Redirect URL from step 27 and hit enter.
39. Finally, copy the third Redirect URL from step 27 and hit enter.
40. Hit the blue Create client ID button.
41. Under Product name shown to users, enter the following then hit Continue:
42. Hit the Download button and download the credential information. The file will be named “client_id.json”, you will need to rename it “client_secret.json“. Do not share this file with anyone, it contains your authentication details.
43. Hit Done.
44. Click on google_assistant.
45. Copy both the Client ID and Client secret values. You will need this later. You can now exit this page.

46. Create a personal AWS account here using the same email address used to register your Alexa device.
47. You will need to enter a credit card or debit card to complete the setup. You will not be charged unless you go over the AWS Free Tier limits.
48. You will also need to complete a phone verification.
49. Select Basic Plan.
50. Once your account has been created, sign in to the Console.
51. Click on the region drop-down next to your name on the top-right corner and select “US East (N. Virginia)” if you live in North America, or “EU (Ireland)” if you live outside of North America. These are the only two regions that support Alexa.
52. Now click on Services on the top-left corner and go to CloudFormation under the Management Tools section.
53. Hit the blue Create new stack button.
54. Under Choose a template, select Specify an Amazon S3 template URL, enter the following and hit Next:
55. Enter the following for the Stack name and hit Next:
56. Do not change anything on the Options page. Hit Next.
57. Check the I acknowledge that AWS CloudFormation might create IAM resources and hit Create.
58. The stack creation will be in progress. You can check the status under the status column. Hit the refresh icon to update the status. You will need to wait until the status reads CREATE_COMPLETE (it takes about 2-3 minutes).
59. Once the status reads CREATE_COMPLETE, hit the Outputs tab on the bottom section.
60. Copy the FunctionARN Value output (it should read “arn:aws:lambda….”). You will need this later.

61. Go back to the Amazon Alexa Developer page from step 27. Enter the following for the Authorization URI:
62. Enter the following for the Access Token URI:
63. Enter the Client ID from step 45 into the Client ID field.
64. Enter the Client Secret from step 45 into the Client Secret field.
65. Hit + Add scope and add the following:
66. Hit + Add scope again and add the following:
67. Hit +Add domain and add the following:
68. Hit +Add domain again and add the following:
69. Hit Save.
70. Go to Custom on the left side menu and click on Endpoint.
71. Check AWS Lambda ARN and for Default Region enter FunctionARN Value output from step 60. Then hit Save Endpoints.
72. Go to Custom on the left side menu and hit 3. Build Model. You will be prompted on the screen when the build is successful.

73. You can close this window then open a new window and go to the AWS Console.
74. Press on the “alexaassistant-s3…” bucket name.
75. Hit the Upload button, then hit Add files, and select the client_secret.json file from step 42.
76. Hit Upload.
77. You can now exit this page.

78. Open the Google Activity Controls page here (sign in with your Google account if you’re not already signed in), and enable the following:
  • Web & App Activity – Check the box for “Include Chrome browsing history and activity from websites and apps that use Google services
  • Location History
  • Device Information
  • Voice & Audio Activity
79. In the Alexa app (on your iOS or Android device or you can use the web based app here), go to Skills.
80. Go to Your Skills on the top-right corner.
81. Go to DEV SKILLS.
82. Open Google Assistant for Alexa
83. Enable Skill.
84. Sign into your Google Account.
85. Press Allow.
Your account should now be linked.
86. There’s just one more thing you need to do to set the correct location. Download the latest Google Assistant app on your iOS or Android device and sign in with your Google account.
You can activate the skill by saying, “Alexa, ask Google…”, or if you set a different invocation name, “Alexa, ask <invocation name>…”

Common Issues & How to Solve Them

“We were unable to link Google Assistant for Alexa at this time.”

If you followed my tutorial before, you may have received this error. I omitted a very important step. To correct this issue, please look back and complete step #72 for the Amazon Alexa Developer page.
72. Go to Custom on the left side menu and hit 3. Build Model. You will be prompted on the screen when the build is successful.

Skill keeps asking to reauthorize or relink Google Account.

1. Go to the Google Apps Access page and sign into your Google account.

2. Click on Assistant, hit Remove Access, and hit OK.

3. Go to the Alexa web app and sign in.

4. Go to Skills on the left side bar.

5. Go to Your Skills on the top-right corner.

6. Go to Dev Skills.

7. Click on Google Assistant for Alexa.

8. Hit Disable Skill.

9. Now hit Enable.

10. A new tab should open asking you to sign into or select your Google account (make sure your pop-up blocker is disabled if you are not getting this page).

11. Hit Allow.

If you have any questions or comments, feel free to leave it below and we will try to answer them quickly.