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で動作を確認しています。