Pocket

ターゲット リリース(旧先行リリース)テナントの『Office 365 グループに接続された SharePoint Online モダン チーム サイト』では、「コネクタ」という分類の Web パーツが利用できるようになっています。「Asana」「GitHub」「RSS」「Stack Overflow」「Trello」「Wunderlist」などのほか、「O365 コネクタ」を選択すると、「Visual Studio Team Services」「Zendesk」「Heroku」「Jenkins」などなど、これまで Office 365 グループや Microsoft Teams で利用できていたような数多くのコネクタを SharePoint のページに追加できるようです。

今回の記事では、その中でも汎用性が高い「Incoming Webhook」のコネクタを試してみます。

Incoming Webhook コネクタ Web パーツを追加する

ページ上に Incoming Webhook を追加しようとすると、設定パネルが表示されます。設定は簡単で、名前を決めたり、アイコンをアップロードしたりするだけですね。

「名前」を入れて「作成」をクリックすると設定が完了です。追加されたパーツの編集パネルを開くと、「指定の数のアイテムを一度に表示」と「コネクタの構成」というメニューがあります。「指定の数のアイテムを一度に表示」とは、Webhook で受信したコンテンツをページ上に何件表示するかという設定ですね。

「コネクタの構成」をクリックすると、Incoming Webhook コネクタの設定パネルが表示されるので、そこから Webhook で利用する URL を取得します。

それではさっそくこの URL にメッセージを POST してみます。

メッセージ カード形式で POST する

単純にテキストを POST することも可能なのですが、より凝ったレイアウトを実現できる「メッセージ カード」という形式を利用してみます。

サンプルは下記のリンク先にいくつか用意されていますので、今回は「Connectors reference example」というサンプルを利用してみます。

MessageCard Playground
https://messagecardplayground.azurewebsites.net/

POST には、「Postman」を使ってみましょう。

Postman | API Development Enviroment
https://www.getpostman.com/

URL をセットして、Body には MessageCard Playground のサンプルをセットして Send します。

Status に「200 OK」が返ってくれば成功です。すると、SharePoint のページにはこんな感じで表示されました。

これは楽しいです。メッセージ カードについてより良く知りたい方は下記がリファレンスになっています。

Actionable messages in Outlook, Office 365 Groups, and Microsoft Teams
https://docs.microsoft.com/en-us/outlook/actionable-messages/

こちらを見てもわかるように、これまで Office 365 グループや Microsoft Teams で利用できていたものが SharePoint Online モダン チーム サイトへも拡張されたというものですね。

さいごに

外部の Web アプリケーションから Webhook で情報を投げ込む先としては、Microsoft Teams などのチャット ツールがこれまでの主流だったのですが、コネクタ Web パーツが追加されたことにより SharePoint Online のページ上にもさまざまな情報を投げ込んで利用することができるようになりました。さらに、今回紹介したメッセージ カードを利用することで、少々表現力の高いコンテンツを作成することもできます。

また、Incoming Webhook コネクタへの POST は、Microsoft Flow からも出来ますので、Microsoft Flow と組み合わせた利用も考えられそうです。

今回は Incoming Webhook コネクタ Web パーツを利用しましたが、RSS コネクタ Web パーツを利用することで、従来の「RSS ビューアー Web パーツ」のように利用することも出来そうです。

個人的には SharePoint のページの役割は、Office 365 に保存されたデータや、そのほかの Web アプリケーションのデータをオーサリングしていくことにあるのかなと思っています。「コネクタ」Web パーツをうまく利用することで、その対象を大きく広げられるように感じます。