2024年7月ころ、Alexa と Todoist の連携が使用不可になってしまいました。
これは本当に悲しかったです。
Todoist で ToDo リスト管理をしていましたし、Alexa の『買い物リスト』と Todoist の買い物リストを連携させて、Alexa に「○○買い物リストに追加」と言えば、Todoist の買い物リストにそれが追加されていました。

これが意外と便利でよく使っていたんです。
もちろん、Alexa 自体にも『買い物リスト』はあったんですが、ウィジェット化できないし、動作は遅いし…ということで、あまり使っていなかったんですね。
Alexa から Todoist に書き込みすることで、ウィジェットは Todoist の方を使えばいいし、動作はそれなりに軽いし、音声で追加できるし…という感じだったんですが。
連携されなくなってしまってショックでした。
しばらくは手作業で Todoist に追加したりしていたんですが、手が離せないときに買い物リストへの追加が発生すると「後で追加しよう」となってしまって。
で、忘れる、と。
これで何回かシャンプー的なものを買い忘れて、プチ混乱していました。
どうにかしなければ…と考えていたときに思いついたのが『Webhook』でした。

以前『Webhook』について唐突に理解できたので、これを使えば『買い物リスト』への追加と、ついでに『在庫管理』もできるんじゃないか…と思いつきました。
流れとしては、以下の感じです。
- 家の中で繰り返し使う商品について、1つにつき1つ QR コードを発行する
QR コードはタグに貼って、その商品に付けておく - QR コードを読み取ると、以下の3つが同時に発動
- ① (念の為)スマホに通知を出す
- ② 商品の名前と現在の日時が Google スプレッドシートに記録される
- ③ 商品の名前が Todoist の買い物リストに追加される
まぁ、それだけなんですけど…。
(わざわざ番号付きの箇条書きにする必要なかったかな…)
「手入力と変わらないじゃん」と思われるかと思いますが、『QR コードの付いたタグがある』ことで入力忘れがそれなりに減るんですよね。
記憶だけに残すのと、ブツがあるのだとちょっと違うといいますか。
それと、QR コードを読み取るのがちょっと POS っぽくて楽しいので忘れない、という効果もありました。
(多分、私限定ですけど)
これで、去年の8月くらいから運用していて、それなりに安定運用ができるようになりました。
それぞれの商品の回転期間を見たりするのも楽しいです。
前提として、IFTTT には PRO に課金している状態です。
あと、Todoist と Google アカウントを IFTTTに連携させます。
管理する商品は(結果的に)100を超えますが(今も増殖中)、IFTTT のアプレットは1個で大丈夫でした。
…これ、最初、在庫管理を Google フォームの機能でやろうかなと思っていたんですが、そうしなくて良かった…。

どんだけ長い Google フォームにしなきゃいけないことか。
項目を選ぶのも一苦労ですね。
ジャンルごとにページを分けるとしても、それはそれで面倒ですし。
IFTTT で新しいアプレットを作成します。
- If This
- Webhooks → Receive a web request
『Event Name』は適当に『Zaiko』とかにしました(相変わらずネーミングセンスなし)
- Webhooks → Receive a web request
- Then That
- ① Notifications → Send a notification from the IFTTT app
- Message: 使用期間と Todoist に『{{MakerWebhooks.event.Value1}}』を追加しました。
- {{MakerWebhooks.event.Value1}} の部分はWebhookで送る商品名です
- カーソルを当てていないときは『 Value1 』みたいな感じに見えます
- Message: 使用期間と Todoist に『{{MakerWebhooks.event.Value1}}』を追加しました。
- ② Google Sheets → Add row to spreadsheet
- Google Sheets account: 自分のアカウント(連携させます)
- Spreadsheet name: 適当な名前(私は『使用期間』としました)
- Formatted row:
=DATEVALUE(SUBSTITUTE(GOOGLETRANSLATE(LEFT(“{{OccurredAt}}”,FIND(” at “,”{{OccurredAt}}”)),”en”,”ja”),” “,””))+TIMEVALUE(RIGHT(“{{OccurredAt}}”,LEN(“{{OccurredAt}}”)-FIND(” at “,”{{OccurredAt}}”)-3)) ||| {{Value1}} ||| =SUBSTITUTE(INDIRECT(“RC[-1]”,FALSE),”�”, “”) |||=IF(COUNTIF(INDIRECT(“R1C[-1]:R[-1]C[-1]”,FALSE),INDIRECT(“RC[-1]”,FALSE)),INDIRECT(“RC[-3]”,FALSE)-MAXIFS(INDIRECT(“R1C[-3]:R[-1]C[-3]”,FALSE),INDIRECT(“R1C[-1]:R[-1]C[-1]”,FALSE),INDIRECT(“RC[-1]”,FALSE)),””)|||- ここについては、次以降の回でもうちょっと詳しく書きます
- Drive folder path: {{MakerWebhooks.event.EventName}}
- カーソルを当てていないときは『 EventName 』みたいな感じに見えます
- 完成すると、Google ドライブに『Zaiko』フォルダができて、その中に『使用期間』というスプレッドシートができます
- ③ Todoist → Create task
- Todoist account: 自分のアカウント(連携させます)
- Project and section: すでに Todoist に作ってある買い物リストを選択
- Task content: {{MakerWebhooks.event.Value1}}☆
- ここも、カーソルを当てていないときは『 Value1 ☆』みたいな感じに見えます
- 末尾に『☆』を付けたのは、なんとなく IFTTT で追加したリストであることがわかるように、です(別途手作業で追加するときもあるので)
- その他『Priority』とかはテキトー
- ① Notifications → Send a notification from the IFTTT app
これが、IFTTT の大まかな設定です。
細かいところは次以降の回で。
コメント