LINE WORKS の掲示板の新着投稿をトークで通知する Bot をつくってみました。
掲示板機能の通知機能もありますが、前日の新着投稿をまとめて Bot に知らせてもらうといった使い方を想定しています。
LINE WORKS の API 2.0 のトーク Bot と Board の API を使ってます。
Microsoft PowerAutomate を使ってます。
LINE WORKS API 2.0
以下の LINE WORKS API を使っています。
最新投稿リストの取得
https://developers.worksmobile.com/jp/reference/board-recent-post-get?lang=ja
メッセージの送信 - ユーザー指定
https://developers.worksmobile.com/jp/reference/bot-user-message-send?lang=ja
Text
https://developers.worksmobile.com/jp/reference/bot-send-text?lang=ja
LINE WORKS の Developer Console での API 2.0 の設定や、Bot の設定については LINE WORKS Developers サイトの記載や、Qiita 内の LINEWORKSタグの記事が参考になります。
Power Automate のクラウドフロー
Microsoft Power Automate でクラウド フローを作成します。
スケジュールで起動
[スケジュール] をトリガーにします。
LINE WORKS の Board API で掲示板の最新投稿リストを取得
掲示板 API のカスタム コネクタを作成しました。詳細は別記事にします。
LINE WORKS API のレスポンスを解析
[JSON の解析コネクタ] でレスポンスを解析して返信を取り出します。
"スキーマ" は以下です。
{
"type": "object",
"properties": {
"posts": {
"type": "array",
"items": {
"type": "object",
"properties": {
"boardId": {
"type": "integer"
},
"postId": {
"type": "integer"
},
"title": {
"type": "string"
},
"readCount": {
"type": "integer"
},
"commentCount": {
"type": "integer"
},
"fileCount": {
"type": "integer"
},
"createdTime": {
"type": "string"
},
"modifiedTime": {
"type": "string"
},
"userId": {
"type": "string"
},
"userName": {
"type": "string"
},
"isMustRead": {
"type": "boolean"
},
"resourceLocation": {},
"isUnread": {
"type": "boolean"
}
},
"required": [
"boardId",
"postId",
"title",
"readCount",
"commentCount",
"fileCount",
"createdTime",
"modifiedTime",
"userId",
"userName",
"isMustRead",
"resourceLocation",
"isUnread"
]
}
},
"responseMetaData": {
"type": "object",
"properties": {
"nextCursor": {}
}
}
}
}
前日の投稿を選択
"最新投稿リストの取得" の API の動作は以下です。
30日以内に登録された投稿リストを取得する。
このため、前日の記事のみ選択するように、日時コネクタを利用します。
1 日前の日時を生成し、タイムゾーン変換で JST にしつつ書式を整形します。
投稿の createdTime をタイムゾーン変換で書式を整形します。
合致した場合は、以下の記事のカスタム コネクタを用いて Bot からメッセージを送信します。
https://qiita.com/iwaohig/items/4c47a2a1aabe2cb864a8
フローは以上です。
動作確認
所定の時刻に、前日の新着投稿の通知が Bot から送られます。