Google Keep Integration for Shopping list syncronization

Years ago I managed to write a simple app on AppDaemon for this.
It would receive the event of an item added to the Shopping list, use the python library gkeep to add it to google keep, then check the item and clear the list in HA (so I would see it disappear, knowing that it worked)

gkeepapi relied on an custom application password and at some point it stopped being able to log in. AFAIR gkeep wasn’t using the Keep API but mimicked the calls the browser makes (still an API but not a public one).

It seems to be still maintained, so I’ll maybe give it another spin.

Now that Assist is so good and I can add things to the list by shouting things into the air ( (c) Merlin Mann) I’d like to try to get that feature back.

Right. I remembered why it was tricky to use it. Without digging too much, I found in the issue Loggin issue with AppPassword · Issue #144 · kiwiz/gkeepapi · GitHub a combo of version and SSL library that works, and I packaged a simple http endpoint to write to a google keep list.

It’s insecure and naive, but you can take a look here:

…and now I can shout my list to the air, and Assist+HASS+appdaemon+mylittlescript will take it from there :slight_smile:

Is there any hope that google keep will work with home assistant some day? :slight_smile:

Custom integration to sync Google Keep lists with Home Assistant shopping/todo lists:

6 Likes

thxn for sharing, i see there are services that you can use
do you also think we can use this service with our voice

todo.add_item

How to make the “ingredient” as a variable from our voice?

It works automatically with Assist in Home Assitant, whether voice or text. Simply say, “Add X to the shopping list,” and it will appear in Home Assistant then sync back to Keep.

And is there a way to make it work with other voice assistants like Google Home or Alexa? Possibly with the help of my Nabu Casa account?

thats great, but i use Google Assistant as voice, is it also possible then ?

Yes, automatically as well. As far as Google Home/Google Assitant is concerned, it works with voice just like every other Google Keep list. If you add something using your voice with Google Home, it will sync over to Home Assistant.

You must (re)create the list in Keep first. You can’t start syncing a list that is already in HA.

One caveat: My Google Assistant lists were migrated to Keep as per Shopping Lists & Notes are moving to Google Keep - Google Assistant Help. I don’t know if this will work if yours haven’te been migrated yet.

1 Like

yeah, i’m aware of the google keep provider as native in Google Assistant , it works great… BUT it only works decent in US language, in dutch it doesnt work … thats why i was asking :slight_smile:

Ah, got it. What happens if you set English (US) as the first language in Google Assistant and Dutch as the second?

From everything I’ve read, they plan to move shopping lists backto Keep in all languages, so I suppose it is a matter of time.

yeah probably, setting US as and NL as secondary doesnt work, only US words are being recognized to add items
Since the change 3 years ago, to select Google Keep as provider, this option was never present for dutch users :slight_smile:

Now it is, since the change last month, but the keywords to add items are totally wrong, they messed up… and dont want to wait again 3 years

Good luck. The change away from Keep three years ago was very annoying but at least it worked in English. Hopefully they’ll get it right and leave it in Keep this time.

At least tthere’s a good custom integration when you get it working in Dutch!

1 Like

Here we needed to use the phrasing “CAN YOU add tomato to the shopping list” for it to work with shoppinglist.google.com. But now when it moved to Keep we have to say “add tomato to THE LIST”. Using “can you” or “shopping list” instead of just “list” will lead to errors. When adding to “the list” it will reply that it added it to the list called “shopping list”. :clown_face:

yeah i know, it works in english indeed, but not in dutch
We receive an error from GA like; Sorry, we are unable to get your list frm google keep, there is a problem with the sync…

I’m asking it in Norwegian. Just translated it to English so you could understand it. :wink:

1 Like

I just tried it in German and it worked! The list seems to be identified by the list name (“Einkaufsliste”) which must be exactly as Google Assistant expects it. I first created a new shopping list with Google Assistant, but could later delete it and give my old list the same name. Now Assistant is using the old list. This way I can keep on using the list that is shared with my wife.

Here is what worked in German to add potatoes:
“Setze Kartoffeln auf die Einkaufsliste.”

1 Like

Oh wow, it’s more than that!
I can ask for other existing lists too now!
“Setze TNG auf die Filme-Liste.” or
“Setze TNG auf die Liste Filme.” will both add “TNG” to my existing list “Filme” (= movies). Great!

that doesnt work for me
I have several lists in Google Keep

if i say like : Add choco to the “test” list … I get a response like: sorry , i was unable to retrieve the “shopping list” …

Dont understand why only 1 list work

This is GREAT, finally syncked lists, and it… just works!!! Just one question: why the 15 minutes limitation for pooling from google keep? I can see where it is defined, is there any problem with reducing that to 5 minutes, for instance? Thanks again for this!