Microsoft Power Automate の HTTP アクションで任意の kintone REST API を実行する

目次

はじめに

Microsoft Power Automate で利用できる kintone コネクタ を使用すると、ノンコーディングで他サービスと kintone の連携が可能ですが、次のような制限があります。

  • ゲストスペースで利用できない。
  • 対応する kintone REST API に限りがある。

そこで今回は、kintone コネクタを使用せずに、Power Automate の汎用的な HTTP リクエストを送ることのできる機能(HTTP アクション)を使って kintone REST API を実行する方法を紹介します。

概要

Microsoft Power Automate (External link) を使用して、Microsoft Forms と kintone を連携する方法について紹介します。
Microsoft Forms (External link) (以下、Forms)は、Microsoft が提供しているアンケート作成ツールです。
今回は、この Forms にて回答された内容を Microsoft Power Automate を経由して、kintone に回答結果を追加していきます。

準備

利用するサービス

  • kintone
  • Microsoft Forms
  • Microsoft Power Automate
warning
注意

本記事内で使用する「HTTP アクション」は Premium コネクタに分類されるため、Power Automate の有償ライセンスが必要になります。 Office 365 に含まれている Power Automate では Premium コネクタを使用できないためご注意ください。
詳細は Power Automate 価格 (External link) 並びに Power Platform のライセンスに関する FAQ (External link) を確認してください。

kintone アプリの作成

Microsoft Forms にて集められた回答をまとめるための kintone アプリを作成します。
アプリをはじめから作成し、以下の表と画像を参考にしてフィールドを配置してください。

作成したアプリ ID は Microsoft Power Automate の設定で利用するのでメモしましょう。
アプリ ID は URL から確認できます。
たとえば、URL が「https://{subdomain}.cybozu.com/k/123/」の場合、「123」がアプリ ID になります。

フィールド名 フィールドタイプ フィールドコード
受講日 日付 date
お名前 文字列(1行) userName
感想 文字列(1行) note

今回は、Microsoft PowerAutomate から kintone REST API を実行するため、API トークンを生成します。
生成した API トークンはのちほど Power Automate の設定 で使用します。

API トークンの権限設定はデフォルトで「レコード閲覧」のみにしかチェックが入っていません。
そのため、上記の画像のようにアクセス権の「レコード追加」にもチェックを追加し、保存しておきましょう。

API トークンの詳しい設定方法については API トークンを生成する (External link) を参考にしてください。

Microsoft Forms の設定

あらかじめ、Microsoft 365 にサインインしたうえで、Forms を作成してください。

フォームの作成
  1. Forms のトップページの上部にある「新しいフォーム」よりフォームを作成します。
    「無題のフォーム」が表示されるので、フォーム上にある「新規追加」のボタンをクリックして、質問を追加していきます。

  2. 今回はアンケート項目として、日付で「受講日」、テキストで「お名前」と「感想」を追加しました。
    Forms の設定は以上です。

Power Automate の設定

あらかじめ、Microsoft 365 にサインインしたうえで、フローを作成してください。

フローの作成
  1. Power Automate のトップページの「作成」よりフローを作成します。
    今回は、「自動フロー」よりフローを作成します。

  2. 自動フローを作成します。
    今回のフローのトリガーは、Microsoft Forms の「新しい応答が送信されるとき」を選択します。
    このとき、フロー名も分かりやすい名前に設定しましょう。

アクションの追加

フローの詳細を編集していきます。
ここでは、Microsoft Forms と HTTP リクエストのアクションの追加方法について説明します。

  1. Microsoft Forms のトリガーの設定
    トリガーとして設定した「新しい応答が送信されるとき」で取得するフォームの ID を設定します。
    事前に作成しておいた Microsoft Forms をドロップダウンから選択します。

  2. Microsoft Forms のアクションの設定
    「+ 新しいステップ」よりアクションを追加します。

    Microsoft Forms の「応答の詳細を取得する」を選択します。
    (アクションの候補に表示されない場合は「Forms」と検索すると出てきます)

    以下の画像のように「フォーム ID」にはさきほどと同じフォームを設定し、
    「応答 ID」には動的なコンテンツから選択できる「応答 ID」を設定します。

  3. HTTP アクションの設定
    先ほどと同様に新しいステップを追加し、「HTTP アクション」を追加します。
    (アクションの候補に表示されない場合は「HTTP」と検索すると出てきます)

    HTTP アクションは、kintone REST API を実行するために以下の画像のように設定し、保存します。

設定のポイント

今回は、Microsoft Forms で新しい回答があった際に、kintone のアプリにレコードを登録したいので、 1 件のレコードを登録する を参考に設定しました。
また、ヘッダーには kintone アプリの作成 で生成した API トークンを設定します。

さらに本文には、レコードの登録(1 件)のリクエストボディをオブジェクト型で記述します。
すべてコードで記述もできますが、「動的なコンテンツ」を使用することにより、容易にリクエストボディを記述できます。
以下のリクエストボディのサンプルコードにしたがって、該当する動的なオブジェクトを入力してみましょう。
kintone アプリの作成 でメモをしておいたアプリ ID もここで記述します。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
{
  "app": 1,
  "record": {
      "date": {
          "value": "<動的なコンテンツより「日付」を選択>"
      },
      "userName": {
          "value": "<動的なコンテンツより「お名前」を選択>"
      },
      "note": {
          "value": "<動的なコンテンツより「感想」を選択>"
      }
  }
}

HTTP アクションの「本文」が以下の画像のように設定できれば、Power Automate の設定は完了です。

動作確認

kintone アプリ、Microsoft Forms、Power Automate それぞれの設定が完了したので動作確認をしてみましょう。
Microsoft Forms より回答を作成してみます。

回答を送信できたことを確認したあと、連携している kintone アプリを開いて回答内容が連携されているか確認しましょう。

回答が連携されていることを確認できました!

おわりに

kintone コネクタは使用せずに HTTP アクションを使用して、kintone REST API を実行する方法を紹介しました。
既存の kintone コネクタでは利用できなかった kintone REST API も試されてみてはいかがでしょうか。

information

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