Power Automate for desktop

APIを使ったkintoneとPower Automate for desktopの連携

前回の記事でkintone 開発者ライセンスの取得方法を紹介したので、せっかくなのでkintone REST APIを使ってPower Automate for desktop(PAD)からレコードを登録する方法も紹介します。

事前準備

APIを使ってアプリの操作を行うにあたり、いくつかの事前準備が必要となります。

  1. アプリの設定画面から各フィールドの「フィールドコード」を設定します。
  2. 設定タブから「APIトークン」を開きます。
  3. API実行時に必要になるため、「例」行に表示されているURLからアプリのID(下図例の場合は「3」)をメモ帳等にコピーし、「生成する」ボタンをクリックします。
  4. 生成されたAPIトークンをメモ帳等にコピーし、アクセス権を設定し(今回はレコードの登録を行うので「レコード追加」にチェック)、「保存」ボタンをクリックします。アクセス権は後から変更することもできます。
  5. アプリを更新」ボタンをクリックして設定を反映します。

以上で事前準備は完了です。

PADからkintoneアプリのレコードを登録

APIトークンの準備もできたので、いよいよPADからkintoneアプリのレコード登録を行っていきます。今回操作するアプリのフィールド情報は下記の通りです。
(※テストに使用しているアプリのデータは「個人情報テストデータジェネレーター」で作成したダミーデータになります。)

  • アプリ名:会員情報管理
  • アプリID:3
フィールド名 フィールドコード 種類
氏名 氏名 文字列(1行)
氏名(ひらがな) しめい 文字列(1行)
生年月日 生年月日 日付
性別 性別 ラジオボタン
メールアドレス メールアドレス リンク
電話番号 電話番号 文字列(1行)
会社名 会社名 文字列(1行)

2023/11/1 追記:
フィールドコードを取得するための簡易的なブックマークレットを作成しました。

フロー全体

変数の設定

「変数の設定」アクションでAPIトークンを変数(%APIToken%)の値として設定します。
(機密情報としてマークすると良いでしょう。)

変数の設定

「変数の設定」アクションでサブドメイン(URL「https://(サブドメイン).cybozu.com」の左記部分)を変数(%SubDomain%)の値として設定します。
(必要に応じて機密情報としてマークすると良いでしょう。)

数値をテキストに変換

「数値をテキストに変換」アクションでアプリIDを変数(%AppID%)の値として設定します。
このアクションを使うことで、カスタム オブジェクトをJSONに変換した際(後述)にアプリIDが自動的に数値として変換されることを防ぎます。

JSON をカスタム オブジェクトに変換

「JSON をカスタム オブジェクトに変換」アクションでPOSTするパラメーターの元となるJSONをカスタム オブジェクト(%JsonAsCustomObject%)に変換します。

{
  "app": "",
  "record": {
    "氏名": {
      "value": ""
    },
    "しめい": {
      "value": ""
    },
    "生年月日": {
      "value": ""
    },
    "性別": {
      "value": ""
    },
    "メールアドレス": {
      "value": ""
    },
    "電話番号": {
      "value": ""
    },
    "会社名": {
      "value": ""
    }
  }
}

変数の設定

「変数の設定」アクションでカスタム オブジェクトに変換したJSONの値(%JsonAsCustomObject[‘app’]%)を設定します。

変数の設定

「変数の設定」アクションでカスタム オブジェクトに変換したJSONの値(%JsonAsCustomObject[‘record’][‘氏名’][‘value’]%)を設定します。

変数の設定

「変数の設定」アクションでカスタム オブジェクトに変換したJSONの値(%JsonAsCustomObject[‘record’][‘しめい’][‘value’]%)を設定します。

変数の設定

「変数の設定」アクションでカスタム オブジェクトに変換したJSONの値(%JsonAsCustomObject[‘record’][‘生年月日’][‘value’]%)を設定します。

変数の設定

「変数の設定」アクションでカスタム オブジェクトに変換したJSONの値(%JsonAsCustomObject[‘record’][‘性別’][‘value’]%)を設定します。

変数の設定

「変数の設定」アクションでカスタム オブジェクトに変換したJSONの値(%JsonAsCustomObject[‘record’][‘メールアドレス’][‘value’]%)を設定します。

変数の設定

「変数の設定」アクションでカスタム オブジェクトに変換したJSONの値(%JsonAsCustomObject[‘record’][‘電話番号’][‘value’]%)を設定します。

変数の設定

「変数の設定」アクションでカスタム オブジェクトに変換したJSONの値(%JsonAsCustomObject[‘record’][‘会社名’][‘value’]%)を設定します。

カスタム オブジェクトを JSON に変換

「カスタム オブジェクトを JSON に変換」アクションでカスタム オブジェクト(%JsonAsCustomObject%)からJSON(%CustomObjectAsJson%)に変換します。

Web サービスを呼び出します

「Web サービスを呼び出します」アクションでkintone REST APIを実行してレコードを登録します。

  • URL:https://%SubDomain%.cybozu.com/k/v1/record.json
  • メソッド:POST
  • 受け入れる:application/json
  • コンテンツ タイプ:application/json
  • カスタム ヘッダー:X-Cybozu-API-Token: %APIToken%
  • 要求本文:%CustomObjectAsJson%
  • 要求本文をエンコードします:オフ

Switch

API実行時に問題が発生した場合は、ステータスコード(%StatusCode%)として200以外の値が返ってくるのでSwitchとCaseアクションを使って判定を行い、エラー内容(%WebServiceResponse%)をメッセージボックスで表示します。

実行画面

以上のような手順で、kintone REST APIを使ってPADからkintoneアプリへレコード登録できることが確認できました。

APIの知識は必要になりますが、PADの「Web サービスを呼び出します」アクションを使用することで、kintoneに用意されている様々なAPIを簡単に実行することができます。


2023/10/31 追記:
kintone REST APIを使ってPADから複数のレコードをまとめて登録する方法についても記事を書きました。

参考Webサイト

  1. 1 件のレコードを登録する – cybozu developer network
  2. kintone REST API を Postman で実行してみよう – cybozu developer network

kintone 開発者ライセンスの取得方法前のページ

APIを使ったkintoneとPower Automate for desktopの連携(2)次のページ

関連記事

  1. Power Automate for desktop

    [Power Automate for desktop]他ブックのマクロを実行する方法

    2022年1月のアップデートで、「Excel の起動」アクションでEx…

  2. Windows 11

    Power Automate for desktop(Power Automate Desktop)…

    前回の記事でも触れていますが、Windows 11ではPower Au…

  3. Power Automate for desktop

    [Power Automate Desktop]Google Driveにファイルをアップロードする…

    前々回の記事でGoogle Drive APIの実行に必要なアクセスト…

  4. Power Automate for desktop

    Power Automate Desktopを更新するPowerShellスクリプト

    公式ブログを見れば分かる通り、Power Automate Deskt…

  5. Power Automate for desktop

    [Power Automate]クラウドフローとデスクトップフローとのファイル連携について

    前回の記事でクラウドフローとデスクトップフローの連携について紹介しまし…

コメント

  • コメント (0)

  • トラックバックは利用できません。

  1. この記事へのコメントはありません。

Time limit is exhausted. Please reload CAPTCHA.

※本ページはプロモーションが含まれています。

Translate

最近の記事

アーカイブ

PAGE TOP