kintone Webhook & Microsoft Power Automateを使ってSlackに投稿する

目次

はじめに

便利なコミュニケーション手段として、 Slack (External link) を利用している企業やプロジェクトチームも多いのではないでしょうか?
kintoneアプリでのレコード登録やプロセス更新のタイミングによって、kintone Webhookを利用したSlackのChannel(グループ)に通知してみましょう。
環境がそろっていると3分で連携できました。
Webhook とは、Webアプリケーションでイベントが実行された際、外部サービスにHTTPで通知するしくみです。
Webアプリケーション同士を連携するときの考え方のひとつです。

Webhookを使ったしくみ

今回は、 Microsoft Power Automate (External link) を利用した連携を実現してみたいと思います。

完成形の画面

準備

利用するサービス、API

各サービスの環境はご準備ください。

Slack

Channelを作成

今回は「demo」チャンネルを作成します。

Microsoft Power Automate

事前にサインアップをしたうえでフローを作成してください。

フローの作成

フローを作成するメニューから、手動でフローのトリガーを与える「インスタントクラウドフロー」を選択します。

「HTTP要求の受信時」トリガーの選択

「このフローをトリガーする方法を選択します」から「HTTP要求の受信時」を選択し、「作成」ボタンをクリックします。

「要求本文のJSONスキーマ」

今回はレコード登録時のメッセージをSlackで投稿するため、次のJSONをコピーします。
JSONは JSONschema.net (External link) のSchemaに準拠したものです。各プロパティの詳細は以下のとおりです。

  • app > name :アプリ名
  • recordTitle :レコードタイトル
  • url :レコードへ移動できるURL
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "app": {
      "type": "object",
      "properties": {
        "name": {
          "type": "string"
        }
      }
    },
    "recordTitle": {
      "type": "string"
    },
    "url": {
      "type": "string"
    }
  }
}

貼り付け後のイメージ

グレーアウトされているURL欄は保存後に生成されます。

「Slack」アクションの追加

「新しいステップ」をクリックし、「Slack」を検索して「メッセージの投稿(V2)」を選択します。
Slackアクションの追加後、投稿先アカウントの認証を求められます。

投稿メッセージの情報入力

メッセージテキストは文字を入力しつつ、右側の要求リストから動的なコンテンツを選びます。

  • チャネル名:#demo
  • ボット名:kintone-bot(任意)

フローの作成と保存

フロー名を「kintone > Slack投稿メッセージ」に変更し、「保存」をクリックします。

HTTP POSTのURLの確認

保存することで、HTTP POST URLが確定するため、マイフローから作成したフローを開き、「HTTP POSTのURL」をコピーします。
このURLは、kintoneのWebhook機能で利用します。

kintone Webhook

事前に準備したアプリの設定画面を操作し、レコード追加して完成です。

Webhookの追加

アプリの設定画面に移動し、Webhook > Webhookの追加画面を表示し、Microsoft Power AutomateでコピーしたURLを設定します。
kintoneの「Webhook URL」の入力欄には、コピーした文字列のhttps://以外の部分をコピーしてください。
Webhook保存後は、必ずアプリの設定画面に移動し、「アプリを更新」をクリックします。

レコードを追加してSlackで通知

kintoneアプリに戻り、レコードを入力して保存すると、Slackで投稿されます。

おわりに

いかがでしょうか。
今回は、Microsoft Power Automateの「HTTP要求の受信時」トリガーとSlackの「メッセージの投稿」アクションを使って、 kintoneからSlackへの投稿を実現してみました。
JSON形式を設定することにはなりますが、ノンプログラミングで数分以内に連携できると思います。

参考

Slack Incoming Webhookを利用して、kintoneアプリからJavaScriptで活用したプログラムTipsもあります。

information

このTipsは、2022年2月版kintoneで動作を確認しています。