Integrating Notion with Google Assistant
My Google Assistant IFTTT Applets alongside the
notion-heroku GitHub repository
Google Assistant is never too far away from me. I almost always have my phone within arms reach, and I also have multiple Google devices throughout my house. In the past, I’ve used other productivity applications in conjunction with Google Assistant (i.e., Evernote, and Todoist) to capture notes and tasks. With my recent commitment to Notion, I’ve been missing this integration.
The 2 main requirements I’m looking for here are:
I would also like the end solution to be one that is extensible and can grow with my template and use cases.
At the time of writing, no official API has been released for Notion. For a previous project, I was able to create
alfred-notion using an unofficial API client called
notion-py to much success. To be honest, I suspect the official API to likely be restrictive to some degree, although only time will tell. In either case, using this API client gives me great flexibility in what can be done in Notion.
I’ve been successful in hooking Google Assistant into other application via the IFTTT platform and naturally gravitate to this free solution.
The next piece of this solution is being able to execute custom code based on an action from the Google Assistant trigger on IFTTT. Fortunately, IFTTT has the capabilities to perform HTTP requests in response to a trigger. Thus, my end-goal solution requires a server to run my custom code, which uses
I decided to reach for Heroku as they have a pretty offering that allows you to run an application for free (within limits).
I’ve put together
notion-heroku, a GitHub repository, a Heroku application that performs Notion actions based on voice requests via IFTTT Webhooks and Google Assistant. I’ve put together easy-to-follow instructions that can help others open up integrations like this for themselves.
NOTE: v1.0.0 is current at the time of publication (July 15, 2019).
Running the application on Heroku (or any server to be honest) opens up new opportunities. For example, it would be entirely possible to have something run periodically or on a schedule. I can also continue to iterate and add to and improve the integration with Google Assistant (i.e., new endpoints that run Notion commands on my behalf).