How to create voice shopping lists with Home Assistant, Alexa, Siri

Several ways to add items to a shopping list in Home Assistant using your voice, including options for Assist, Alexa, and Siri.

How to create voice shopping lists with Home Assistant, Alexa, Siri

Introduction

In a prior video, my wife and I discussed her smart home wish list. One thing that she wanted was a way to add items to a our shopping list using her voice. You might be in the middle of cooking and realize you are low on a particular ingredient. Adding it to your grocery list by voice can be really convenient.

Now, there are a bunch of ways to do this depending on your goals and what smart home platforms and voice assistants you are using.

I’m going to show you several options, and I’ll leave links if you want to go deeper on any one of them.

🍿
Don't feel like reading? Watch it on YouTube.

Main Points

Choosing a voice assistant

The first consideration is which voice assistant do you want to interact with when adding an item to your shopping list. This comes down to the devices you already own, or are interested in getting.

We have Amazon Echo and Sonos speakers around our home, so one option for us was Alexa. My wife and I also use iPhone and Apple Watch, so Siri was another consideration. And then there’s Home Assistant, our main smart home platform, which has its own built-in conversation agent, known as Assist.

If you just want to add an item to a shopping list by voice and have it appear in the Alexa app or the iOS Reminders app, this just works today. You can simply tell Alexa or Siri to “add milk to your shopping list” or whatever item you want, and you’re good to go. If it’s your first time trying this with Siri, it may tell you, “I didn’t find a “Shopping List,” do you want to create one? Saying yes will add this list to the Reminders app in iOS.

But my goal was to make this work in Home Assistant, and I’ll show you about half a dozen ways that you might do this, organized by voice assistant.

Assist

Since our ultimate goal was to have the shared shopping list viewable in Home Assistant, I started with Assist, which again is the native conversation agent for Home Assistant. But, making this hands-free was going to be difficult since at the time of making this video I did possess a device that supports wake word detection for Assist.

You may already have this capability if you built your own solution using Rhasspy and an ESP32-S3-Box. Just as I was working on this video, Home Assistant announced the release of Home Assistant Voice Preview Edition, their first official voice hardware. If you have that, well, this should get a lot easier.

But, what if you don’t want to buy new a device?

Well, one thing that you can do right now without any special hardware is add an Assist widget to the iOS lock screen. A single click on that widget brings up Assist listening for your voice command. While this works, it requires physically touching the phone, and my wife asked for a hands-free voice solution, so that was going to work.

This got me wondering how I could make this work using other devices that I already owned.

Alexa

From there, I then turned to Amazon’s voice assistant, since she is listening from every corner of my home and has a native shopping list feature. I thought this was going to be the best route for us — not only because of our countless Echo devices, but also because we’ve started ordering groceries from Amazon Fresh.

According to Amazon’s website, you should be able to say something like, “Alexa, add eggs to my Fresh cart.” The same is supposed to be true if you order from Whole Foods. However, no matter what item I tried to add, and whether or not that item was already added to our Alexa shopping list, this never worked. Instead, it would respond, “I couldn’t find anything for eggs,” or whatever item I asked it to add. We even have a jar of Amazon Fresh peanut butter that says right on the packaging to try saying, “Alexa, add Amazon Fresh Creamy Peanut Butter to my Fresh cart.” Frustratingly, this did not work. I’ve seen others complain of similar issues online without a clear resolution. I even contacted customer service, but this did not resolve my issue.

So, I went back to the original plan of trying to add an item to the Alexa shopping list by voice, and then finding a way to make it sync with Home Assistant. While adding an item to the Alexa shopping list by voice is fast and easy, the syncing part with Home Assistant is hard.

In Summer 2024, Amazon announced it was shutting down developer access to shopping and to-do lists APIs, making this task more complicated. Previously, you could have used an app like AnyList or Grocy to manage your shopping list across platforms. I was already using a custom component called Alexa Media Player that exposed my Echo devices to Home Assistant. I thought this might allow for shopping list syncing, but turns out it does not.

In my quest for a solution, I found a custom component that synchronizes Amazon and Home Assistant shopping lists, which I was pumped about. This uses a server to access your shopping list on Amazon, and then a component added to Home Assistant to sync the shopping list between the two places. While it sounds quite simple, installation is not as beginner-friendly. It makes use of docker containers and python scripts, and I wanted to see if I could find something simpler.

Alexa Shopping List to Home Assistant Synchroniser custom component

This led me to another option that uses Node-RED as a Home Assistant add-on. I’ve known about Node-RED for years, but I’ve yet to take the plunge, so I thought this might be the time. But since it required setting up a new add-on, and creating various input helpers, I was still curious if there was an even simpler way.

Node-RED plus input helpers to sync voice shopping lists

Siri

This led me to Siri, who is always at the ready on our phones, watches, and computers. Here, I found several options to consider.

The first is using an app called OurGroceries. This is a grocery list app for iOS or Android, but I’ll focus on iOS. The app integrates with Apple’s Siri — and Alexa — so you can use your voice to add items to your OurGroceries grocery list. For example, you can say, “Hey Siri, add milk with OurGroceries.”

You can then sync your shopping list between OurGroceries and Home Assistant using the OurGroceries integration. This will create a new shopping list within the “To-do lists” of Home Assistant. You will have to create an OurGroceries account for this to work.

But if you’re not keen to download another app or create a third-party app account, there is an alternative. You can use the iOS Reminders app that comes bundled with every iPhone, plus Office 365. For this to work, you create a free outlook.com address, set up the Office 365 integration for Home Assistant, and then create and sync to-do tasks. However, the developer of the Office 365 integration indicated that this integration is moving toward end of life, so you may soon have to find another solution.

iOS Reminders plus Outlook 365 can be used to sync voice shopping lists

This led me to find one final way, at least for now, to add items to a Home Assistant shopping list using voice. Using the iOS Shortcuts app pre-installed on iPhone, you can create a Shortcut that will listen to dictated text, and add that text to your shopping list in Home Assistant, without the need to install or have that item appear in some other smart home platform or app. Now, we can say, “Siri, add to shopping list.” Then, we say the item, “milk.” It would be better of course if we could just say “Add milk to shopping list” without the little back-and-forth.

Note: I intentionally named the Shortcut "Add to shopping list" because that is the natural language command we must say every time to trigger the Shortcut.

Final Thoughts

So that’s at least half a dozen ways you might add a shopping list item by voice using Home Assistant. For our needs, the OurGroceries and iOS Shortcuts options are the easiest to setup and use.

OurGroceries has the benefit of working with both Amazon and Apple voice assistants, whereas Shortcuts has the benefit of not requiring any additional app or account for it to work. But, neither is perfect. They both require you to make your voice request in a very specific way for it to work, which can be annoying.

As mentioned, this task will become much easier with the recent release of Home Assistant Voice Preview Edition hardware, if you choose to pick that up. But I know not everyone wants to buy a new device to make something work, so I wanted to show several options.

Watch on YouTube

https://youtu.be/VWoQn7ih_Gk

Tech I Use
Below is all the tech I use everyday, from smart home gadgets, to productivity desk setups, to mobile devices, and more. You will find exclusive discount codes on some of the products listed below. 🛍️Prefer to shop on Amazon? Visit my Amazon storefront. 🪟 BLINDS & SHADES SmartWave Motorized Blackout Cellular Shades