3
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Power Apps / Power Automate の kintone コネクタの使い方

Last updated at Posted at 2025-12-04

CybozuDays 2025 では、kintone x Power Platform について登壇させてもらいましたが、その中でこういったデモをさせていただきました。

ここでは kintone API を、カスタムコネクタとして登録し

自由にアプリが作成できる Power Apps
様々なサービスとの連携をノーコードで実装可能な Power Automate を使って、kintone と連携させることで実現しています。

今回は独自に作成したカスタムコネクタを使いましたが、実は kintone のコネクタというものはちゃんと用意されていて、簡単に連携することが可能です。
というわけで、Power Apps と Power Automate にあらかじめ用意されている kintone コネクタ について、その使い方を説明したいと思います。

そもそもコネクタとは?

様々なサービスに用意されている API を、市民開発者でも簡単に利用できるようにしたものが「コネクタ」と呼ばれるものになります。
コネクタは製品名で提供されており、その中に「トリガー」や「アクション」といったものが定義されています。

トリガー

サービス側のデータ操作に応じて、主に Power Automate 側が起動するきっかけとなるものです。

  • メールを受信した
  • メッセージが来た
  • データが登録された

といったイベントを検知するものが多いです。

アクション

サービス側に対して操作を行うものです。

  • メールを送信する
  • Teams にメッセージを送信する
  • データを登録する
  • ファイルを作成する

といった具合に、サービスに応じた操作を行うことができます。

Power Automate

では、Power Automate 側から見ていきましょう。

トリガー

image.png

指定したアプリのデータや、コメントがあれば実行されたり、プロセス管理をしているアプリの場合は、そのステータスが更新されたときに実行されるようになっています。

レコード操作系

設定

アプリIDを指定するだけです。

image.png

動的コンテンツ

トリガーの結果を後続のアクションに渡すことができますが、指定されたアプリの項目を取得して、使用できるようになっています。とても便利です。

image.png

image.png

コメント系

設定

これもアプリIDを指定するだけです。

動的コンテンツ

image.png

コメントがついたレコード番号や、コメントの内容を取得できるようになっています。

image.png

ただし、レコードの内容を取得することはできません。

プロセス系

設定

これもアプリIDを指定するだけです。

動的コンテンツ

image.png

ステータスや作業者はもちろんのこと、そのレコードの情報も取得することができます。

image.png

というわけで、様々なトリガーが用意されているため、それに合わせて Microsoft 365 などを組み合わせた複雑な業務も自動化できそうです。

アクション

用意されているアクションは2つです。

image.png

追加と更新しかなく、アプリ内のデータを参照したり、検索したりといったことができません。
そのため、データソースとして扱いたい場合は、カスタムコネクタを作る必要があります。

追加

データ登録をするときに使用するアクションです。

入力

詳細パラメーターにチェックを入れることで入力項目が出てきます。

初期状態では、アプリIDの項目しかありません。
※入力項目の取得で下図の通り、エラーが起きるときがあります。

image.png

ここにアプリIDを入れることで、アプリに定義されている項目が表示されます。

image.png

動的コンテンツ

見たところ出てこないようです。

image.png

そのため、戻り値は取れないように思います。ところが出力内容を見てみると、このようになっています。

image.png

そのため、body/id もしくは body/revision で取得できそうです。

image.png

Power Automate の outputs 関数を用いれば 以下の式を用いて、後続のアクションに渡すことができます。

outputs('アクション名')['body']['id']

更新

データを更新するときに使用するアクションです。

入力

追加と同様に、アプリID、そしてレコード番号を新たに指定する必要があります。

image.png

アプリIDを入れると、項目が追加されます。

image.png

出力

body/revision のみが取得できそうです。

image.png

Power Apps

Power Automate と違って、Power Apps はアクションしか実行できません。
使用する際は、データから kintone コネクタを指定します。

image.png

コマンドを確認すると、AddRecordUpdateRecord の2つを指定できます。
image.png

AddRecord(追加)

データの追加を行います。

書き方は、まず App ID を指定して、第2引数には、解説で出ている ACTION_POST_RECORD を指定します。

image.png

image.png

第3引数には実際のデータを入れることになると思いますが、どうも見慣れない 「Dynamic 型」と呼ばれるデータ型を指定する必要があるようです。

image.png

とりあえず、項目をRecord型で指定してみます。

image.png

どうやら、Dynamic 型と明示的に指定しないといけないようです。

Dynamic 型を指定するには

'@odata.type': "Microsoft.Dynamics.CRM.account" 

これを追加して送信する必要があります。

Set(_varTargetObject,{
        ItemName: {
            value: "BBB"
        },
        Quantity: {
            value: 10
        },
        Store: {
            value: "テスト店"
        },
        '@odata.type': "Microsoft.Dynamics.CRM.account"
    }
);
// record データを Dynamic 型に変換
Set(_varTargetDynamicValue, ParseJSON(JSON(_varTargetObject))); 

Kintone.AddRecord(<App ID>,"ACTION_POST_RECORD",{record:_varTargetDynamicValue})

という風に書いてあげることで、データ登録をすることができます。

UpdateRecord (更新)

アプリ ID の隣に、更新対象のレコード番号を指定し、その後 ACTION_PUT_RECORD の文字列を指定した上で、更新対象のデータを、同じように Dynamic 型 で指定するという動きのようです。

image.png

まとめ

というわけで、最後のほうは駆け足になりましたが、Power Automate で行う場合は割と自動解決してくれるので便利ですが、Power Apps で利用する際は、ちょっと面倒な書き方をしなくてはなりません。
しかし、Power Apps から Power Automate を呼び出すこともできますので、楽にアプリを作りたいのであれば、Power Apps と Power Automate を併用するやり方をお勧めします!😃

Power Apps や Power Automate にも無限の可能性がありますので、kintone アプリをもっとよくしたいという場合は、ぜひ kintone コネクタをご活用ください!

3
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?