この記事について
スプレッドシートが更新されたらMicrosoft Teamsで通知が欲しかったのでIFTTTで実装した時の方法についてのメモです。とても簡単で無料で実装できました。
チームのインシデント管理なんかを共有スプレッドシートで行っていて、誰かが新しいインシデント(行)を追加したらチームメンバ全員が参加するチャネルに通知がほしい、そんなケースに使えるかなと思います。
用意するもの
- Googleアカウント
- Googleスプレッドシート
- 監視対象となるシート。共有化されていること。上記で用意したGoogleアカウントに閲覧権限以上の権限が付与されていること。
- IFTTTアカウント
- 今回はGoogleアカウント経由ログインを選択した。
- Teamsアカウント
- webhookを追加するために管理者権限が必要な場合があります。
- Teams通知先チャネル
手順概要
- 【Teams】通知先チャネルでWebhookを有効にする。
- 【IFTTT】レシピを作成する。
【Teams】通知先チャネルでWebhookを有効にする。
Teamsを開き、通知先となるチャネルのミートボールメニューの中の「コネクタ」をクリックします。
コネクタ一覧が開くので、「Incomming webhook」を探して追加します。
構成画面が開くので通知してくれるbotアカウントの①名前と②アイコン画像を設定します。
作成ボタンを押すとpost先のurlが生成されます。IFTTTの設定で必要になるのでコピーしておきます。完了を押してTeamsの設定は終わりです。
【IFTTT】レシピを作成する。
「If This」をクリック⇒「Google Sheets」をクリックします。今回は新規行追加を通知のトリガーとするので「New row added to spreadsheet」をクリックします。(ほかにも「フォルダー内に新しいスプレッドシートが作成されたら」とか、「セルが更新されたら」などのトリガーがあるみたいですね。)
下図の赤枠のところ、スプレッドシートのURLを入力しCreate Triggerをクリックします。
「Then that」をクリック⇒「webhooks」⇒「Make a web request」をクリックします。
- URL
- teamsの設定の時にコピーしたURLを入力します。
- Method
-
POST
を選択します。
-
- ContentType
-
JSON
を選択します。
-
- BODY
テストしてみる。
エラーの時、躓いた時に確認すること
- IFTTTのレシピ作成が出来ない・・・。
- レシピ作成数が上限かも。(トライアルアカウントだと3つまで。)IFがクリック出来ないときはコレの可能性大。既存のレシピを削除すべし。
- スプレッドシートを更新しているのに通知されない・・・。
- IFTTTのレシピをクリック⇒Activity Logからログを確認して動作状況、エラー状況を確認しましょう。
おわり
おしまい。