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.

(source: https://github.com/tartanguru/alexa-assistant)

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 a 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 a 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:

https://github.com/tartanguru/alexa-assistant

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:

google_assistant

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:

Assistant

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:

https://s3-eu-west-1.amazonaws.com/googleassistantskillcloudformationbucket/cloudformation.json

55. Enter the following for the Stack name and hit Next:

AlexaAssistant

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:

https://accounts.google.com/o/oauth2/auth?access_type=offline

62. Enter the following for the Access Token URI:

https://accounts.google.com/o/oauth2/token

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:

https://www.googleapis.com/auth/assistant-sdk-prototype

66. Hit + Add scope again and add the following:

https://www.googleapis.com/auth/script.external_request

67. Hit +Add domain and add the following:

google.com

68. Hit +Add domain again and add the following:

googleapis.com

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.


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

18 Comments

  • Brian Finnegan November 23, 2017 Reply

    Excellent guide, works a treat. Thank you!

  • J November 27, 2017 Reply

    Works great, thanks!

  • Ken Esq December 6, 2017 Reply

    For some reason the skill has stopped working. All I get now is, “I wasn’t able to talk to Google, please try again.” The skill worked fine until recently

  • Farhan December 13, 2017 Reply

    Hi there, the AWS console page has changed now. Where it asks you to choose a trigger if you choose Alexa Skills then the options to end clients disappears and it asks to configure the alexa skill. Any advice?
    Thanks

    • alexamods December 14, 2017 Reply Author

      Thanks, Farhan. I just updated the tutorial with all new screenshots!

  • alexamods April 12, 2018 Reply Author

    UPDATE: The whole process has changed. There are new layouts and new instructions. I am in the process of revamping the entire tutorial with all new screenshots. It’ll be up in a day or two. No later.

    • alexamods April 17, 2018 Reply Author

      Sorry about the delay. It took way longer than expected but the whole tutorial has finally been updated!

      • Chandrajit Rudra April 18, 2018 Reply

        Did every step as suggested but after trying to link with alexa app… it says – We were unable to link Google Assistant for Alexa at this time. 🙁

        • alexamods April 19, 2018 Reply Author

          It seems like a few others are having this issue too. I posted the fix on the bottom of the tutorial in the section titled “Common Issues & How to Solve Them”.

          • Chandrajit Rudra April 19, 2018

            Tried it. Still the same issue. 🙁

  • John G April 12, 2018 Reply

    I successfully followed the tutorial and installed the skill on Jan 5, 2018. Works great. Has there been any updates since then for an existing installation that I need to update? Am I running the latest and greatest version if I installed it on Jan 5?

    • alexamods April 13, 2018 Reply Author

      Yes, there’s a new update. The new version no longer uses Amazon Polly so it should be free to use now within the free AWS tier. I’ll have a guide on how to update soon!

  • Lloyd B April 20, 2018 Reply

    alexamods, I may have figured it out. For the others that are having difficulty linking, one of two things may have happened. First, it may just take some time for the skill to be approved on Amazons end before you can link it. I say that because after looking for the linking error, I was finally able to link it. Secondly, and probably the more accurate reason for being unable to link the skill, was that in my Skill Builder checklist in the Developer Console, the 3.Build Model box was grayed out and incomplete. Maybe I missed a step, but at some point I clicked build model again, and it went to a green check mark. I hope these two things help the others having trouble. I am so grateful to the author for this guide. Thank you again.

    • alexamods April 22, 2018 Reply Author

      Thank you Lloyd!

  • Antonio Rocha April 21, 2018 Reply

    Hey – just an update – I have solved the issue. There is a missing step – on the Alexa Skills Kit Developer we need to click “build model” on the invocation screen right after step 75.

    Thanks!

    • alexamods April 22, 2018 Reply Author

      Thanks Antonio!

  • LJ April 22, 2018 Reply

    Thank you to the creator of the app and to whomever took the time to write out this guide. This was all absolute gibberish to me and I had no idea what I was doing. I simply followed every step carefully. When I finished, I asked Alexa a question, and got “sorry, I don’t know the answer to that.” I then took a deep breath and said, “Alexa, ask google…”
    It worked! I got my answer! To those of us who are not computer savvy, I sincerely thank you! I am rejoicing and feeling like a genius even though I have no idea what I did. Cannot thank you enough. This is worth $$. I’d pay for this guide if I had to do it again.

  • Chanel April 23, 2018 Reply

    Thank you! Works wonderfully!

Leave a Reply

Your email address will not be published. Required fields are marked *