0
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?

サイボウズ「連携コネクタ」使ってみました アプリ間レコードコピー(その3)

0
Last updated at Posted at 2026-07-25

2026年5月20日にリリースされたサイボウズの「連携コネクタ」。
前回は、kintoneアプリ間のレコードコピー(追加・更新)をしました。
添付ファイルフィールド1つにつき、一番最初の添付ファイル1つがコピーされるものです。

添付ファイルが複数あっても、全部コピーする方法を模索してみました。
しかし、添付ファイルを複数コピーする方法はわかりませんでした。
2026年7月にやってみたけどできなかった、という内容の記事です。

kintoneの添付ファイルの更新について

kintoneの添付ファイルフィールドは、内部では配列として管理されています。例えば、3つのファイルが添付されている場合は、イメージとしては次のようなデータになります。

添付ファイル.value = [
  { fileKey: "AAA" },
  { fileKey: "BBB" },
  { fileKey: "CCC" }
];

レコードをAPIで更新する際には、添付ファイルフィールドの値に次のようにまとめて指定する必要があります。

{
  添付ファイル: {
    value: [
      { fileKey: "AAA" },
      { fileKey: "BBB" },
      { fileKey: "CCC" }
    ]
  }
}

一方、今回の連携コネクタでは、添付ファイルを1件ずつダウンロード・アップロードして更新しているため、更新時に指定できるのは

{
  添付ファイル: {
    value: [
      { fileKey: "AAA" }
    ]
  }
}

のような1件分だけになります。
添付ファイルが複数ある場合に、繰り返し処理を入れてみたのですが、コピー先には最後のファイル1つだけがコピーされた状態になりました。

繰り返しの処理で、次のファイルを

{
  添付ファイル: {
    value: [
      { fileKey: "BBB" }
    ]
  }
}

で更新すると、既存の添付ファイル「AAA」は消えて「BBB」だけになってしまうのです。

つまり、複数の添付ファイルを保持したまま更新するには、[{fileKey: ...}, {fileKey: ...}] の配列をまとめて作成して一度に更新する必要があります。 今回は連携コネクタ上でこの配列を組み立てる方法が見つけられず、複数ファイルのコピーは実現できませんでした。

(後日わかったので追記)複数添付ファイルのアップロードは、添付ファイルフィールドに「アップロード用fileKey」のカンマ区切り文字列を入れれば可能

やってみたこと

コピー元アプリの添付ファイルフィールドの値は配列になっているので、繰り返し処理を追加しました。
スクリーンショット 2026-07-25 20.34.44.png
繰り返し対象は、Webhookの添付ファイルフィールドの値(ステップ1:レコードの追加・編集の検知の"record"/"コピー元添付ファイル"/"value")の「Array」を選択します。

添付ファイルのダウンロード/アップロードのアクションはこの繰り返し(ステップ5.2)の中に、作ることで、複数ファイルある場合は繰り返し処理されて、1つずつのアップロード用fileKeyを得られます。
スクリーンショット 2026-07-25 21.14.23.png
ここで得たアップロード用fileKeyを配列にして、親ステップ5.2に渡してコピー先アプリのレコードを更新する、というシナリオです。
「fileKeyを配列にして、親ステップに渡す」方法として、以下の2つを試みました。

1.fileKeyを入れた文字列をJSON変換

「一般」のアクションに「JSON文字列を値に変換」というのがあるので、なんとかして
[{fileKey:"AAA"},{fileKey:"BBB"}]
という文字列を作れれば、このアクションを使用して変換した値を添付ファイルフィールドに入れればいいのではないかと考えました。

スクリーンショット 2026-07-25 20.56.15.png
「フィールド関数を実行する」アクションの「式フィールド1_文字列」に
CONCAT(CONCAT("{fileKey:\"",<5.2.1fileKey>),"\"}")
と入れて、
「{fileKey:"AAA"}」の文字列を生成できたものの、これを繰り返しの親ブロックに返して、文字列で連結させる方法がわからず断念。
スクリーンショット 2026-07-25 20.56.37.png

2.変換テーブルの活用

次に「変換テーブル」を使ってみる方法を考えました。
「fileKey蓄積用配列」という変換テーブルを作成しました。
キー列名は、fileKeyです。
スクリーンショット 2026-07-25 21.05.27.png

繰り返しアクション5.2.3「添付ファイルのアップロード」の後に、「変換テーブルへのレコードの追加」アクションを追加して、fileKeyの値を追加しました。
スクリーンショット 2026-07-25 21.17.30.png

繰り返しの親ステップに戻り、ステップ5.3に「変換テーブルからの複数レコードの取得」アクションを追加して、出力確認したところ、fileKeyの配列が出ていました。

スクリーンショット 2026-07-25 21.19.27.png
変換テーブルのレコードの削除をしていないので、たくさんのfileKeyが出ていますが、とりあえずそれは置いておいて、複数添付ファイルをコピーする方法を先に確認します。

ステップ5.4に「レコードの更新」を追加して、5.3「複数レコードの取得」で取得した変換テーブルの値をコピー先添付ファイルに入れようとしましたが、nameとcontentしか選べないのでイヤな予感。
スクリーンショット 2026-07-25 21.22.34.png

contentを入れてみましたが、案の定エラーになってしまいました。
スクリーンショット 2026-07-25 21.22.56.png

まとめ

どうしてもできないので、Claudeに相談してみたところ、

Yoomのkintoneコネクタの既知の仕様です。

と言われました。
スクリーンショット 2026-07-25 21.26.29.png

※本フローでアップロード可能なファイル数は1つまでとなります。同一カラムに2つ以上のファイルはアップロードできないため、その場合はカラムを追加する等のご対応をお願いします。

サイボウズ「連携コネクタ」については、まだまだ情報が少なくてAIもわからなさそうです。
「YoomじゃなくてbizteXの変換コネクタです」と言ったら、

BizteXでしたか、失礼しました。訂正します。

ですって。

結局、BizteXの連携コネクタにおいても、できない可能性が高そうです。
スクリーンショット 2026-07-25 21.30.04.png

追加情報があったら追記したいと思います!

(2026/07/27追記)
複数添付ファイルの更新について、

  • コピー先添付ファイルフィールドの値にはアップロード用fileKeyをカンマ区切りで入れればいいこと
  • 「変換テーブル」のレコードを変数のようにして取り扱うことで、カンマ区切り文字列が作れること

を教えていただきました

変換テーブルの「追加用」というレコードに、fileKeyのカンマ区切り文字を入れているので、他のアプリや他のレコードで同時に同じ変換テーブルのレコードを編集してしまうことになるので、引き続き模索してみたいと思います!

(2026/07/28追記)
できたので完結編を投稿しました。

0
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
0
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?