Skip to content
Doug Krahmer edited this page Mar 28, 2022 · 21 revisions

Meals Menu Alexa Skill Setup Instructions

The Meals Menu Alexa Skill provides read access to your personal Meals Menu Google Sheet. Follow the instructions below to get started with your own Meals Menu.

If you need assistance, find a bug, or have a feature suggestion please post to the Meals Menu Reddit forum: https://www.reddit.com/r/MealsMenuAlexaSkill/

Prerequisites:

  • An Alexa compatible device
  • A free Google account
  • A desktop web browser (recommended over mobile)

Meals Menu setup instructions:

  1. Enable the "Meals Menu" skill in the Alexa mobile app or on your Alexa device by saying "Alexa, start Meals Menu". If Alexa asks if you would like to enable, tell her "yes". When the skill is enabled Alexa should respond with "Which meal and day would you like to know?". Just say "Alexa, exit" and complete the rest of the instructions below.
  2. Create your personal "Meals Menu" Google sheet and API:
    • Login to your Google account, if you are not already logged in.
    • In a new browser window, navigate to the "Meals Menu Template" Google sheet: https://docs.google.com/spreadsheets/d/1CeN--2e88JeP_DrmEbDjBlMeG1lMayaU8ZPn52O9tCM
    • Click: File > Make a copy, then type a name that you want to use for your sheet and click "OK"
    • After your copy of the Google sheet loads, click: Extensions > Apps Script
    • Set your secret passphrase
      • See the color-coded PASSPHRASE line near the top of the file. Change "open sesame" to your own passphrase.
      • Your passphrase should contain one or more words that Alexa can easily understand when spoken by you. The passphrase should not contain any punctuation or special characters.
      • Click the save button after changing the passphrase.
      • Remember your passphrase. Alexa will ask for it later when linking to the Google sheet API.
    • Initialize the script
      • Click the "Run" button located in the header. This will run the "initialize" function.
      • An "Authorization required" pop up will display. Click "Review permissions"
      • An account chooser window will pop up. Click your account.
      • A warning will show that indicates the app isn't verified. Click Advanced then click the gray "Go to Meals Menu API Code (unsafe)". (This is safe, I promise. You can read through the API code if you have doubts.)
      • An "Allow" button should now be visible. Click the "Allow" button.
        • Note: You should receive a "Security alert" from Google letting you know that Meals Menu API Code was granted access. You are in control of the "Meals Menu API Code" code files and there is no other external control.
      • If you see a "Function execution has timed out" error message. Click the "Run" button again and it should work.
    • Deploy the API
      • Click in the header above the script code: Deploy > New deployment > Deploy
      • Your personal Meals Menu web API URL will be shown to you. Click the "Copy" button next to the blue URL then click "Done".
        • Note: You can find this API URL later by clicking Deploy > Manage deployments
  3. Create a yellkey short URL for your personal Meals Menu API URL:
    • In a new browser window, navigate to yellkey: https://www.yellkey.com
    • Paste the URL in the "full url" textbox, select 1 hour from the drop down list, then click "generate yellkey"
    • Make a note of the keyword that will display below the button. This is your temporary keyword that will be used to connect Alexa to your personal Meals Menu Google sheet. The keyword will expire after the amount of time you selected.
  4. Connect your Meals Menu Google sheet to your Alexa account:
    • Tell Alexa: "Alexa, ask Meals Menu to setup"
    • Alexa will ask "What is your API URL keyword?". Respond by clearly stating the keyword that was generated from yellkey.
    • Alexa will respond asking for your passphrase. Speak the passphrase that you entered in the Google sheet code from step 2.
    • Alexa will respond "The API URL has been set"
  5. Alexa is now connected to your Meals Menu Google sheet. Do a simple test.
    • Navigate to your new Meals Menu Google sheet and update the first "Week of" date in the sheet to the starting date of the previous week. The "Week of" date can be any day of the week but is normally a Sunday or Monday.
    • Try it out. Here are a few sample questions that Meals Menu knows how to answer:
      • Meals by date
        • Alexa, ask Meals Menu what are we going to eat?
        • Alexa, ask Meals Menu what is for supper?
        • Alexa, ask Meals Menu what are we eating tomorrow?
        • Alexa, ask Meals Menu what is for breakfast next Wednesday?
        • Alexa, ask Meals Menu what was for dinner yesterday?
        • Alexa, ask Meals Menu what did we eat on (date)?
      • Date by meal description
        • Alexa, ask Meals Menu when was the last time we had pizza?
        • Alexa, ask Meals Menu when is the next time we are going to eat chicken?
  6. Set preferred meal names (optional)
    • Spoken meal names can be change by saying "Alexa, ask Meals Menu to set meal names."
    • Meal names in the Google sheet can be change as long as the number of meals and order remain the same.
Clone this wiki locally