Power Automate(Workflow)を使ったkintoneとteamsの連携 その2

前回の記事ではkintoneにレコードが追加されたときにteamsのチームに固定メッセージを投稿するフローを作成しました。
今回の記事では、固定メッセージではなくkintoneの追加されたレコードの内容を反映したメッセージを投稿する方法を解説いたします。
この記事は前回の記事の続きとなります。前回記事の設定を利用して説明いたしますので前回記事を確認してから読むことをお勧めいたします。前回記事リンク

この記事を書いている時に見つけたのですが、kinotneのヘルプページにkintoneとoutlookを連携させてメールを送る方法が記載されていました。そこでPowerAutomateの中にkintoneのトリガーが存在することを知りました。
kintoneのトリガーを使った方がレコード内容をメッセージに載せるのが楽だと思います。kintone限定となりますが少しでもわかりやすくしたい方はkintoneのヘルプも併せて見てみるのも良いかもしれません。
この記事の有用性を見失いそうになりましたが、この記事の方法ならkintoneに限らずWehookを用いているシステムに応用もできると思います(汗)

目次

準備作業

データの確認

前回の記事で作成したフローを実行すると、kintoneからデータが届きます。
そのデータの中にはレコードの内容も含まれているので確認していきましょう。

WEBブラウザよりPower Autmateにアクセスし、[マイフロー]-[クラウドフロー]よりkintoneからWebhook要求を受信して動作しているフローの[実行履歴]を開きます。

実行履歴の中から成功しているフローをクリックします。

フローの編集画面と似た画面が開くので[Teams Webhook 要求を受信したとき]のアクションをクリックして内容を確認します。
[パラメーター]-[出力]の[body]に記載されている内容がkintoneから受信したデータとなっており、レコードの内容を含んでおります。

下の画像はテキストエディターに一部抜粋したものです。

「レコード番号」などキントーンで見覚えのある言葉があります。
この抜粋に表示されている「”受付日”」「”レコード番号”」「”受付時間”」はkintoneのフィールドに設定した「フィールドコード」となります。
「“type”」はフィールドの種類、「”value”」は入力されている値となります。
kintoneのアプリを作成する際にフィールドコードを編集した覚えのない人はkintoneのフィールドの設定より確認しましょう。

私はkintoneのアプリを作成するときに「いつか使うから!」とフィールド名とフィールドコードを揃えて設定していました。kintone利用開始から数年、やっと報われます。
しかし、全く同じにしてしまうと説明の時に混同してしまいそうで不便かなと感じました。。。

ともあれ、これらの情報をteamsのメッセージに含めるために前回作ったフローを編集します。

フローの編集

kintoneの内容を出力するための関数

[クラウドフロー]よりkintoneからWebhook要求を受信して動作しているフローの鉛筆マークをクリックして編集画面を開きます。
[チャットまたはチャネルでメッセージを投稿する]アクションをクリックしてパラメーターを開きます。

パラメーター内のMessage(メッセージ)の入力欄をクリックすると雷と「fx」のようなマークが表示されます。

「fx」のマークをクリックすると難しそうな画面が表示されます。
この画面の検索ボックスに「triggerbody」と入力して、下の検索結果の「triggerBody()」をクリックします。
クリックすると検索ボックスの上の方にクリックした内容が表示されます。
この「triggerBody()」という文字列(関数)を使用して先ほど確認した出力のbodyの内容を参照して記述することができます。

例えば、先ほどの出力のbodyにある「受付日」「レコード番号」「受付時間」を指定する文字列は以下の通りになります。

水色の文字はフィールドコードであるためkintoneの設定によって異なります。緑の文字は出力のbodyに記述されている形式で使用される文字列です。

上のカラフルな文字列のrecord以降を言葉で説明してみると、「”record”の中の”受付日”の中の”value”を指定する」となります。説明が下手ですみません。
フィールドコードを水色で示しましたが緑で示した方がわかりやすい人もいるかもしれません。

kintoneのフィールドの内容だけメッセージに載せられれば良い人であれば「水色の部分のフィールドコードを変える」だけで望みのフィールドコードを載せることができます。

PowerAutomateの設定

実際に前述の関数をPowerAutomateに入力し、[追加]をクリックします。

「受付日」「レコード番号」「受付時間」の3つを追加すると下の画像のようになります。

同じ内容が3つあるように見えますが、マウスカーソルを合わせると追加した中身が表示され、違う内容であることを確認できます。
右上の[保存]ボタンをクリックして編集完了です。

kintoneにレコードを追加して目的の内容がteamsに投稿されるか確認しましょう。

最後に

固定メッセージを投稿するまでであれば自力でできたのですが、今回のようなスクリプト?系の知識が全くないので苦労しました。
検索しても「kintoneとteamsの連携」がピンポイントすぎるのか、情報が少なかったです。(後にkintoneのヘルプからkintoneとoutlookの連携方法のページを見つけたのですが、、、)
知識を持っている人であればkintoneであろうが何であろうが関係ないのかもしれませんが、素人の私は基礎知識がないので「kintoneとteamsの連携」というピンポイントな解説を欲してしまいます。

今回は先生に聞いて実際に設定ができたので自分なりに嚙み砕いて記事にしてみました。
この記事が誰かの助けになれば幸いです。

目次