LINE WORKS のトーク BOT を利用したワークフローで外部連携有効化を自動化


LINE WORKS のトーク BOT を利用したワークフロー

LINE WORKS Bot との対話で、利用者からの LINE 連携有効化の申請を受けて、管理者が審査の上で有効化を実行するしくみを作成してみました。

申請ベースで利用許可を付与するような場合に、その都度に管理画面にアクセスする必要なく、チャットボットとのやり取りで申請から権限付与まで行うことができます。

LINE WORKS 上でのながれ

1.利用者が LINE 連携申請用 BOT から連携の申請を行う。


2.管理者に連携申請の可否の確認のメッセージが届く。管理者は申請に対する可否の応答をする。

3.応答に応じて連携の有効化が行われる。
4.有効化が完了すると利用者に通知が届く。

Microsoft Flow

一連の処理は Microsoft Flow で行っています。

LINE 連携申請受付用 BOT のフロー

BOT の利用開始時に送られる postback の "start" をトリガーに、ボタン テンプレート形式で利用開始申請の意思確認のメッセージを送っています。

ボタンテンプレート メッセージの JSON ペイロードは次のようにしています。

{
    "botNo": $botNo,
    "accountId": "$accountid",
    "content": {
    "type": "buttonTemplate",
    "contentText": "$contentText",
    "buttons": [{
      "text": "はい",
      "postback": "ButtonTemplate_Yes"
        }, {
      "text": "いいえ",
      "postback": "ButtonTemplate_No"
    }]
    }
}

このメッセージに「はい」を返すことで postback の "ButtonTemplate_Yes" を受けて、管理者宛に以下のボタン テンプレートを含むメッセージが送られます。

{
    "botNo": $botNo,
    "accountId": "$accountid",
    "content": {
    "type": "buttonTemplate",
    "contentText": "$contentText",
    "buttons": [{
      "text": "LINE連携を承認します",
      "postback": "$userid"
        }, {
      "text": "却下します",
      "postback": "ButtonTemplate_No"
    }]
    }
}

管理者による確認用 BOT のフロー

管理者が承認のボタンをタップすることで、次のフローの処理に移ります。

LINE WORKS 外部連携を有効化 API を実行する AzureAutomation のジョブにより有効化処理を行います。

有効化 API については、こちらを参照。

TITLE: API で LINE WORKS の外部トーク連携を有効化する
URL: https://qiita.com/iwaohig/items/715c86ba8b0c216c0b3a