Kintoneにおいて、アプリAでレコードを新規作成した際に、そのレコードのコピーをアプリBにも追加したいといったケースが割と少なくありません。

アプリAの詳細画面に追加されたボタンをクリックするとアプリBにコピーが作成されるといったプラグインはいくつかありますが、レコード保存時に自動でコピーされた方が効率的でヌケモレも防げます。

<サンプルコードの仕様>

・前提条件として、アプリBでは、アプリAの重複禁止かつ入力必須の「顧客IDやメールアドレス等のユニークな値」をルックアップしています。
・特定の条件にマッチした場合のみアプリBにコピーしたい場合に、コード内の"条件フィールドコード"と"◯◯"を任意の値に差し替えてください。全てのレコードを対象にされたい場合にはif文を削除してください。
・コード内の"アプリID"の箇所を、コピー先となるアプリBのアプリIDに差し替えてください。
・コード内の"ルックアップ先フィールドコード"の箇所を、コピー先となるアプリBのルックアップのフィールドコードに差し替えてください。
・コード内の"ルックアップ元フィールドコード"の箇所を、コピー元であるアプリAのルックアップ元のフィールドコードに差し替えてください。

サンプルコードを環境に合わせてご変更いただければ、かなり便利なスクリプトになるかと思いますので、ご自由にお使いください!

※ご質問にはお答えできませんので予めご承知おきくださいませ。

コード

(function () {
  "use strict";

  kintone.events.on("app.record.create.submit.success", function (event) {
    var record = event.record;

    if (record.条件フィールドコード.value == "◯◯") {
      const body = {
        requests: [
          {
            method: "POST",
            api: "/k/v1/record.json",
            payload: {
              app: アプリID, //コピー先アプリID
              record: {
                ルックアップ先フィールドコード: {
                  //コピー先フィールドコード
                  value: record.ルックアップ元フィールドコード.value, //コピー元フィールドコード
                },
              },
            },
          },
        ],
      };
      return kintone
        .api(kintone.api.url("/k/v1/bulkRequest", true), "POST", body)
        .then(function (resp) {
          console.log(resp);
          alert("レコードがコピーされました"); // コピー成功時のメッセージ
          return event;
        })
        .catch(function (error) {
          console.log(error);
          alert("エラーが発生しました。\n" + error.message); // エラー発生時のメッセージ
          return event;
        });
    }
  });
})();