こんにちは。連日の在宅勤務で朝のお掃除ルーチンが超進化してしまい、部屋からホコリを殲滅する事に新たな生きがいを感じ始めた波多野です。

さて、今回は5月20日にリリースされたコラボフローの新機能「Webhook」のご紹介を兼ねて、Webhookを使ってサイボウズガルーンに承認依頼通知を表示する方法について、ご案内したいと思います。

※ガルーンのポータルに「申請状況ポートレット」を配置する方法については、こちらの記事をご覧ください。

Webhookとは?

Webhookとは、クラウドサービスで何らかの操作(イベント)が行われた事をきっかけに、自動的に別のサービスにデータを送り付ける機能です。

これを利用する事で、例えばコラボフローの承認、却下、差戻の状態を、自動的に他のサービスと共有する、といった事ができるようになります。

連携の全体像

前述の通り、Webhookを使えばコラボフローの承認、却下、差戻時といった操作に応じて、自動的に他システムに、決まった形式のデータを送り付けてくれます。

しかしほとんど場合、ただデータを送っただけでは相手は受け取ってくれません。相手のシステムにもデータ受け入れの決まりがあるからです。

そのため、その「決まり」に沿って、データの変換を行ったり、ログイン認証を通したりする「中継役」が別途必要となります。この中継役となるクラウドサービスは「iPaaS」と呼ばれています。

今回は、この「iPaaS」に「Microsoft PowerAutomate(旧Microsoft flow)」を利用しますので、以降はコラボフロー、Microsoft PowerAutomate、ガルーンの3つのサービスについて、それぞれ設定を行っていきます。

1.ガルーンの設定

サイボウズガルーンは、セキュリティの関係でデフォルトでは外部からの通知リクエストを拒否するようになっています。そのため、コラボフローの承認依頼通知をガルーンに表示するためには、ガルーン側でコラボフローからの通知を許可してあげる必要があります。

外部通知を許可するには、cybozu.comの「ガルーンシステム管理」にアクセスし「(1)各アプリケーションの管理」タブを選択して「(2)通知一覧」→「(3)外部通知の設定」に進み、画面左上にある「外部通知を追加する」をクリックして設定画面を表示します。

「外部通知の追加」画面では、(1)許可する外部通知を「API」とし、(2)外部通知コードには任意の文字を入力します。(3)許可するURLには、利用中のコラボフローのURLを入力します。(詳しくはクラウド版ガルーンヘルプのAPIの外部通知の設定を参照してください。)

これでガルーン側の設定は完了です。

2.Microsoft Power Automateの設定

次に、コラボフローとガルーンの中継役となる「Microsoft Power Automate」の設定を行います。

PowerAutomateでは「コラボフローからのWebhookを受け取ってデータを変換し、依頼メンバー全員にガルーン通知を登録する」という処理を作成しますが、全て説明すると長くなってしまうので、今回はあらかじめ準備した設定ファイルをインポートして設定を進めることにします。

※このファイルはここからダウンロードできますので、ご興味のある方はご利用ください。

まずはMicrosoft Power AutomateのTOPページにアクセスし、左のメニューから「マイフロー」をクリック。画面上部にある「インポート」から、設定ファイルのインポートを行います。

ファイルをアップロードすると、インポートの設定画面が表示されますので「パッケージコンテンツの確認」エリアにある(1)スパナアイコンをクリック。表示される「インポートの設定」ウインドウから、(2)セットアップを「新しく作成する」に変更して、(3)保存をクリックします。

最後に、画面下部にある「インポート」ボタンをクリックしてインポートを開始します。インポートが完了したら、インポートしたフローを開いて、環境固有の値を設定します。

(1)Cybozu.comサブドメインの設定
通知登録先ガルーンが稼働している、Cybozu.comのサブドメインを指定します。

(2)コラボフローURL名の設定
Webhookの送信元となるコラボフローのURL名(インスタンス名)を指定します。

(3)サイボウズガルーンAPIKeyの設定
ガルーンの通知APIを登録するユーザーの「ログイン名:パスワード」をBASE64エンコードしたものを値に指定します。(詳細はGaroon REST APIの共通仕様を参照ください。)

(4)サイボウズガルーン外部通知コードの設定
ガルーンに設定した「外部通知コード」を指定します。

また、コラボフローからのWebhook送信先となる「HTTP 要求の受信時」アイコンを開いて、「HTTP POSTのURL」をコピーし、記録しておきます。

上記の操作が全て終わったら「保存」をクリックします。
これでMicrosoft Power Automateの設定は完了です。

3.コラボフローの設定

最後に、いよいよコラボフローのWebhook設定を行います。

コラボフローWebhook設定は経路毎に行います。今回は「稟議書」の承認通知をガルーンに飛ばす想定ですので、稟議書の「経路設定」を開きます。

稟議書の経路設定を開くと、新しく「(1)Webhook」タブが追加されていますので、タブを選択し、(2)新規追加ボタンをクリックします。

Webhookの設定画面が表示されますので、(1)Webhook名に任意の名前を入力し、(2)通知先のWebhook URLにPowerAutomateで控えておいた「HTTP POSTのURL」を入力します。通知条件には「受信時」を指定して、最後に「保存」ボタンをクリックして設定を保存します。

以上で、全ての設定が完了しました。

実際の動作

実際にコラボフローから稟議書を送信し、承認者でガルーンにログインしてみると・・・

おおー!この通り、通知が届いていますね。
コラボフローとガルーンの一体感が更にUPして、幸せを感じられます。

まとめ

このように、Webhookを利用する事で、コラボフローとさまざまなサービスを自由につなげる事が可能となります。コラボフローWebhookについてもっと知りたい!という方は、コラボフローサポートサイト経路のWebhook通知についてより、詳細をご確認ください。

みなさまの業務に適した理想の環境を実現するために、ぜひ、このコラボフローの新しい機能「Webhook」をご活用頂ければ幸いです。

※Microsoft Power Automateの設定についてはもっと適切な方法があるかもしれません。もし「こんな風にした方がいいよ!」というご指摘があれば、そっとお知らせ頂けると波多野が喜びます。