2017年9月19日火曜日

Gluegent Flow 活用例:ワークフローの承認依頼や処理状況をSlackへ通知するには?

Gluegent FlowはG Suite (旧Google Apps)やOffice 365と連携することができるクラウド型ワークフローです。G Suiteとの連携では、承認/決裁時に申請内容をスプレッドシートへ出力したり、ドキュメントとして保存できる自動処理機能を活用することで、より効率的に社内業務の円滑化が実現できるようになります。 一方で、Gluegent FlowをG SuiteやOffice 365以外のクラウドサービスと連携したいケースもあるでしょう。最近では利用シーンに合わせて様々なクラウドサービスを活用している企業も増えてきており、そのようなサービスとGluegent Flowが連携できないかご相談を受けるケースも増えてきました。
今回は、その連携の一例として、ワークフローの承認依頼や処理状況を外部サービスであるSlackに通知するための方法をご紹介します。

Gluegent FlowからSlackへ通知できるようにする方法

Slackへ通知できるようにするためには、Gluegent Flowから「Slack API」を操作できる必要があり、そのためにはお使いのSlackにてアプリケーション登録およびアクセストークンの発行が必要となります。
一方、Gluegent FlowからSlack APIを操作するには、Web APIに対するGET/POST操作を行うための自動処理「外部システム実行」を利用します。この設定においてアクセストークンをパラメータに指定することでSlackにメッセージが投稿できるようになります。
以上を踏まえると、Slackとの連携イメージは以下のようになります。

まず処理担当者がGluegent Flowで処理を行った後、申請モデルに定義した外部システム実行自動処理によりSlack APIを通じてメッセージを投稿します。そのメッセージを閲覧した次の処理担当者がGluegent Flowにアクセスし、処理を行います。

それでは以下から設定内容を順に説明していきましょう。


  • Slack APIを操作するためのアクセストークンを用意する
  • Slack API操作にはOAuth アクセストークンが必要となりますので、最初にこの発行から行います(詳細はhttps://api.slack.com/docs/oauth を参照)。

    1) Slackにログインした状態で以下のURLにアクセスする
    URL: https://api.slack.com/apps

    2) 「Create New App」ボタンを押し、アプリケーション名(App Name)、Workplace(Slack Workspace)を入力し、「Create App」ボタンを押す

    3) Scopesとして「chat:write:bot」を指定し、「Save Changes」ボタンを押す

    4) 追加したアプリケーションをSlack Apps一覧から選び、左メニューから「OAuth & Permissions」を選択する。 「Install App to Workspace」ボタンを押し、該当Workplaceに新規アプリケーションを追加する

    6) OAuth Access Tokenの「Copy」ボタンを押し、アクセストークンをコピーしておく
          
    ここでコピーしたアクセストークンは次で説明するGluegent Flowの自動処理設定で指定します。

  • Gluegent Flowの自動処理「外部システム実行」を設定する
  • Slack APIを通じてメッセージをSlackに通知するための設定を行います。
    ※この設定は各経路の実行ボタン毎に行ってください
    以下のように各項目について設定を行ってください。
    No.
    設定項目
    設定内容
    1
    自動処理の名前
    設定内容が分かる名称を記入する
    2
    URL 
    https://slack.com/api/chat.postMessage
    3
    HTTPメソッド
    POST
    4
    パラメータ
    No
    パラメータ名
    設定内容
    1
    token
    上記手順6)でコピーしたSlack APIアクセストークン
    2
    channel
    通知先
    3
    text
    メッセージ

    以上の設定内容を踏まえた申請モデル「営業日報」を作ってみました。
    これは営業担当者がその日の活動内容を報告するイメージです。通常、Gluegent Flow単体の場合では次の経路に指定した処理担当者にメールで通知しますが、各経路のボタン毎に外部システム実行自動処理によるSlack通知が設定されていれば、画面で指定されたSlackアカウント宛にも通知することができます。
    以下がSlackに通知されたメッセージです。
    このメッセージ上のリンクをクリックすれば、Gluegent Flowにて該当の報告内容を直接確認することができます。

以上、Gluegent Flowの自動処理を利用することで外部サービスであるSlackに通知するための方法をご紹介しました。上記の例では個人アカウント宛に直接メッセージ通知する例でしたが、パラメータ値を変更すればスレッド宛に通知することも可能です。 もし、Slack以外に連携したいサービスがございましたら、弊社ホームページから是非お問い合わせください。