このプラグインでできること
ノーコードカスタムプラグインは、kintone の処理をプログラムを書かずに作れるプラグインです。
設定画面で「ノード」と呼ぶブロックを並べてつなぐだけで、レコードの集計や別アプリへの書き込みができます。
画面にボタンを置いたり、条件に応じてフィールドを非表示にしたりもできます。
作った設定はアプリごとに保存され、PC とモバイルの両方で動作します。
1-1. 主な機能
- データの取得と加工:このアプリや他のアプリからレコードを取得し、絞り込み・結合・集計・並べ替えができます
- レコードの書き込み:別のアプリへレコードをまとめて追加・更新・削除できます。プロセス管理のステータスも進められます
- 画面へのボタン設置:一覧画面・詳細画面・追加画面・編集画面にボタンを置き、押したときに処理を実行できます
- 画面の制御:条件に応じて、フィールドの非表示・入力不可・必須、色、メッセージ、値の設定、一覧の行の色を切り替えられます
- 入力チェック:保存する前に値を確かめ、条件に合わなければ保存を止められます
- 通知とファイル出力:処理結果をメッセージで表示したり、CSV ファイルとして出力したりできます
- AI アシスタント:やりたいことを日本語で入力すると、フローの下書きを自動で作成します
1-2. こんな場面で使えます
- 一覧画面に「CSV出力」ボタンを置き、マスタアプリの名称や単価を突き合わせた CSV を出力する(4-6 で手順を通しで説明しています)
- 詳細画面のボタンで、明細を集計した結果を別アプリにレコードとして登録する
- 「区分」が「その他」のときだけ「備考」を必須にする、金額が上限を超えたら保存を止める
1-3. このマニュアルで使う言葉
| 言葉 | 意味 |
|---|---|
| フロー | 1 つのまとまった処理です。「いつ動くか(トリガー)」と「何をするか(ノード)」の組み合わせで作ります |
| ノード | フロー編集画面の左のパレットに並んでいるブロックです。1 つのノードが 1 つの処理をします |
| トリガー | フローが動き出すきっかけです。「トリガー」ノードで決めます |
| 行・データ | ノードからノードへ渡されるデータです。レコード 1 件が 1 行になります |
| 前のデータ | 前のノードから渡ってきた行の、列(フィールド)の値です |
動作環境・前提条件
2-1. 必要な権限
設定する人
| 項目 | 必要な権限 |
|---|---|
| プラグインの設定画面を開く・保存する | アプリ管理権限 |
| 実行ログの「専用アプリを作成」 | kintone でアプリを作成できる権限 |
| システム管理権限 | 不要です |
使う人(フローが動くときの利用者)
| 項目 | 必要な権限 |
|---|---|
| レコードを取得するアプリ | そのアプリ・レコードの閲覧権限 |
| レコードを追加・更新・削除するアプリ | そのアプリのレコードの追加・編集・削除の権限 |
| ステータスを進めるアプリ | そのアクションを実行できる権限 |
| 実行ログを記録するアプリ | ログを記録するアプリへのレコード追加権限 |
💡 プラグインの設定画面は、アプリ管理権限を持つ方だけが開けます。
⚠️ フローは、画面を操作している利用者の権限で動きます。他のアプリのレコードを取得・更新する処理を作る場合は、そのアプリに対するアクセス権が利用者本人に必要です。権限がないときの動き(エラーで止めるか、スキップするか)は「設定」タブで選べます(3-15 を参照)。
💡 実行ログを記録するアプリに追加権限がない利用者のときは、ログが残らないだけで、処理そのものは止まりません。
2-2. 事前に準備するもの
作りたい処理によって、事前の準備が必要な場合があります。
| 作りたい処理 | 事前に必要なもの |
|---|---|
| 別アプリへのレコードの追加・更新 | 書き込み先アプリと、書き込み先のフィールド |
| キーで一致するレコードを更新・追加(レコード追加更新) | 書き込み先アプリに、キーにするフィールド(重複禁止にしたフィールド) |
| 追加画面・編集画面へのボタン設置(詳細画面でスペースに置く場合も) | フォームに「スペース」を配置し、要素 ID を設定しておく |
| ラベル・スペース・罫線の非表示 | フォームで、その部品に要素 ID を設定しておく |
| 特定のフィールドの値が変わったときの処理 | 対象フィールド(指定できる型は 3-6-3 を参照) |
| ステータスを進める処理 | 対象アプリでプロセス管理を有効にしておく |
| AI アシスタントの利用 | OpenAI または Claude の API キー |
| 実行ログの記録 | ログを記録するアプリ(プラグインから自動作成できます) |
⚠️ 「スペース」の要素 ID は、kintone の「アプリの設定」→「フォーム」で、スペースを配置してから設定します。要素 ID が設定されていないスペースは、ボタンの配置先として選べません。
2-3. PC 版・モバイル版の対応
フローは PC 版とモバイル版の両方で動作します。トリガーの 10 種類は、どれもモバイル版でも動きます。
ただし、次の点が PC 版と異なります。
| 項目 | モバイル版での動き |
|---|---|
| ボタンの置き場所 | 一覧画面・詳細画面は「ヘッダーの下」、追加画面・編集画面は「スペース要素」に置けます(詳細画面はスペース要素も選べます) |
| 画面制御「一覧の行の色を変える」 | モバイル版では動きません |
| 画面制御「非表示にする」の罫線 | モバイル版では切り替えられません(フィールド・ラベル・スペースは切り替えられます) |
| プラグインの設定画面 | PC 版の kintone で開きます |
💡 「処理件数の上限」は PC 版・モバイル版で共通です。
設定手順
3-1. 設定画面を開く
- 対象のアプリで「アプリの設定」を開きます。
- 「プラグイン」をクリックします。
- 一覧から「ノーコードカスタムプラグイン」の歯車アイコンをクリックします。
プラグインの設定画面が開きます。
3-2. 設定画面の全体構成
設定画面は、上部のヘッダーと 3 つのタブで構成されています。
設定画面のヘッダーと 3 つのタブ
ヘッダーの表示内容
| 表示 | 意味 |
|---|---|
| 「○○KB / 256KB」のバー | 設定として保存できるデータ量の使用状況です。70% 以上で黄色、90% 以上で赤に変わります |
| 「未保存」/「保存済み」 | 変更内容が保存されているかを示します |
| 「エラー ○」 | 設定に問題があるときに表示されます。この表示があると保存できません |
| 「保存」 | 変更内容を保存し、アプリに反映します(3-16 を参照) |
3 つのタブ
| タブ名 | 内容 |
|---|---|
| 「フロー」 | 処理(フロー)の一覧です。ここから作成・編集します |
| 「設定」 | AI アシスタントや実行ログなど、アプリ全体の共通設定です(3-15 を参照) |
| 「エクスポート/インポート」 | 設定内容の書き出しと読み込みです(3-17 を参照) |
⚠️ 「保存」を押すまで、変更内容はアプリに反映されません。保存せずに画面を閉じようとすると、ブラウザから確認メッセージが表示されます。
3-3. 「フロー」タブでフローを管理する
3-3-1. フローを作成する
- 設定画面の「フロー」タブを開きます。
- 画面右上の「フローを作成」をクリックします。
「新しいフロー」という名前のフローが作成され、フロー編集画面が自動的に開きます。
フローが 1 つもないときの「フロー」タブ
💡 フローがまだ 1 つもない場合は、「フローがまだありません」と表示されます。
3-3-2. フローの名前を変更する
- 「フロー」タブで、対象のフローカードにある名前の欄をクリックします。
- 新しい名前を入力します。
フローカードの名前の欄で名前を変更する
3-3-3. フローを有効・無効にする
- 「フロー」タブで、対象のフローカード右上のスイッチをクリックします。
スイッチがオフのフローは実行されません。カードは薄い表示に変わります。
スイッチをオフにしたフローカード
💡 一時的に処理を止めたいときは、削除せずに無効にすると、設定を残したまま停止できます。
3-3-4. フローを複製する
- 「フロー」タブで、対象のフローカードにある「複製」アイコンをクリックします。
同じ内容のフローが「(コピー)」付きの名前で追加されます。
3-3-5. フローを削除する
- 「フロー」タブで、対象のフローカードにある「削除」アイコンをクリックします。
- 表示された確認画面で「削除する」をクリックします。
フローの削除の確認画面
⚠️ 削除したフローは、保存すると元に戻せません。念のため、削除前に「エクスポート/インポート」タブで設定を書き出しておくことをおすすめします。
3-3-6. フローを編集する
- 「フロー」タブで、対象のフローカードにある「編集」をクリックします。
フロー編集画面が全画面で開きます。
💡 フローカードには、ノードの数と、設定に問題があるときの「エラー ○」「注意 ○」が表示されます。「エラー」は保存を止める問題、「注意」は保存はできるものの設定どおりに動かない組み合わせです。表示をクリックすると、そのフローの編集画面が開きます。マウスを重ねると内容が表示されます。
3-4. フロー編集画面の見かた
フロー編集画面は、上部のツールバー、左のパレット、中央のキャンバスで構成されています。
フロー編集画面。左がパレット、中央がキャンバス
上部ツールバー
| 項目 | 内容 |
|---|---|
| フロー名の入力欄 | フローの名前を変更できます |
| 「有効」 | このフローを実行するかどうかを切り替えます |
| 「AIアシスタント」 | AI にフローの作成を依頼するパネルを開きます(3-14 を参照) |
| 「閉じる」 | フロー編集画面を閉じます。変更内容は残りますが、まだ保存はされていません |
| 「保存」 | 設定をアプリに保存し、反映します(ヘッダーの「保存」と同じです) |
左のパレット
配置できるノードが、種類ごとに分かれて並んでいます。
| 分類 | 内容 | 並んでいるノード |
|---|---|---|
| 「入力」 | 処理のきっかけと、扱うデータの取り出し | トリガー、レコード取得、固定値 |
| 「変換」 | 取り出したデータの加工 | 結合、集計、絞り込み、並べ替え、列の追加、列の選択、列名の変更、重複削除、サブテーブル展開、サブテーブル集約、縦横変換、横縦変換、結合(縦) |
| 「制御」 | 処理の分岐・中断、ボタンや画面の制御 | ボタン配置、画面制御、条件分岐、変数代入、処理中断、エラー処理、確認ダイアログ、中継 |
| 「出力」 | レコードの書き込み、画面への通知、ファイル出力 | 値をセット、レコード追加、レコード更新、レコード追加更新、レコード削除、自レコード更新、ステータス更新、CSV出力、通知表示、画面をリロード |
| 「拡張」 | JavaScript の実行 | JavaScript実行 |
中央のキャンバス
ノードを配置する作業エリアです。画面下部には操作のヒントが表示されます。
3-5. ノードを配置する・つなぐ・外す
3-5-1. ノードを配置する
- フロー編集画面の左パレットから、配置したいノードをドラッグします。
- キャンバス上の置きたい位置でマウスを離します。
離した位置にノードが配置されます。ドラッグ中は、置かれる場所が点線の枠で表示されます。
パレットからドラッグしているところ。置かれる場所が点線の枠で表示される
⚠️ パレットのノードはクリックしても配置されません。必ずドラッグ&ドロップで配置してください。
💡 置こうとした場所に別のノードがある場合は、いちばん近い空いている場所に配置されます。
3-5-2. ノードをつなぐ
ノード同士を隣り合わせに置くと、自動的につながります。線を引く操作は不要です。
- ノードの右隣に置くと、左から右へデータが流れます
- ノードの真下に置くと、上から下へデータが流れます
右隣と真下に置いたノードがつながった状態
出口や入口が 2 つあるノードは、置く向きで使い分けます。
| ノード | 右隣へ流れるデータ | 真下へ流れるデータ |
|---|---|---|
| 条件分岐 | 条件に一致した行(〇) | 一致しなかった行(✕) |
| エラー処理 | 通常の出力 | エラーの情報(✕) |
| ノード | 左隣から入るデータ | 真上から入るデータ |
|---|---|---|
| 結合 | 「左」(メイン側) | 「右」(結合相手側) |
| 結合(縦) | 「入力1」 | 「入力2」 |
💡 つながったノードは、片方をドラッグすると一緒に移動します。処理のまとまりごとに動かせます。
💡 動かした先に別のノードがあると、移動は取り消されて元の位置に戻ります。
⚠️ 別々の処理として動かしたいときは、ノードを 1 マス以上離して配置してください。隣り合っていると自動でつながってしまいます。
💡 「トリガー」「固定値」は入口がないため、左や上からはつながりません。「処理中断」「CSV出力」は出口がないため、右や下へはつながりません。
3-5-3. ノードのつながりを外す
- キャンバス上で、外したいノードを右クリックします。
- 表示されたメニューから「切り離す(接続を解除)」をクリックします。
ノードが他のノードから離れた位置に移動し、つながりが解除されます。
右クリックのメニュー
3-5-4. ノードを削除する
- キャンバス上で、削除したいノードを右クリックします。
- 表示されたメニューから「削除」をクリックします。
選択中のノードは、画面下部の設定パネルにある「このノードを削除」からも削除できます。
3-5-5. ノードの設定を開く
- キャンバス上で、設定したいノードをクリックします。
画面下部に設定パネルが開きます。パネルには「設定」タブが表示されます。
そのノードか、その手前に「レコード取得」「固定値」、または一覧画面以外のトリガーがある場合は「プレビュー」タブも表示されます(3-13 を参照)。
ノードをクリックすると、画面下部に設定パネルが開く
設定パネルの操作
| 項目 | 内容 |
|---|---|
| 「設定」 | このノードの設定項目を表示します。左側の項目名をクリックすると、その項目へ移動します |
| 「プレビュー」 | このノードが出力するデータを確認します(3-13 を参照) |
| 「有効」 | このノードを実行するかどうかを切り替えます。オフにしたノードは、受け取ったデータをそのまま次へ渡します |
| 「このノードを削除」 | このノードを削除します |
| 「×」 | 設定パネルを閉じます |
💡 設定パネルの上端をドラッグすると、パネルの高さを変えられます。高さは次回も引き継がれます。
💡 設定どおりに動かない組み合わせのときは、設定パネルの先頭に注意書きが表示されます。
3-5-6. キャンバスを操作する
| やりたいこと | 操作 |
|---|---|
| 表示位置を動かす | 何もない場所をドラッグします |
| 拡大・縮小する | マウスホイールを回します(30%〜250%) |
画面右下に現在の拡大率が表示されます。
💡 表示位置は、いちばん左上より外側には移動できません。ノードは左上を基準に配置されるためです。
3-6. 起動のきっかけを決める(「トリガー」ノード)
フローは「トリガー」ノードから始まります。いつフローを動かすかをここで決めます。
3-6-1. トリガーを設定する
- フロー編集画面のキャンバスで、「トリガー」ノードをクリックします。
- 設定パネルの左側で「起動条件」を選択します。
- 「トリガー種別」で、フローを動かすタイミングを選択します。
「トリガー種別」の選択肢
💡 フローを新規作成すると、「トリガー」ノードが 1 つ最初から配置されています。初期値は「一覧画面を表示したとき」です。
💡 1 つのフローに「トリガー」ノードを複数置くこともできます。それぞれのトリガーから、つながっているノードだけが動きます。
⚠️ トリガーからたどれないノード(どこにもつながっていないノード)があると、保存できません。「画面制御」ノードだけは、トリガーにつながなくても構いません(3-10-2 を参照)。
3-6-2. 選べるトリガー種別
| 選択肢 | 動作するタイミング |
|---|---|
| 「一覧画面を表示したとき」 | レコード一覧を開いたとき |
| 「詳細画面を表示したとき」 | レコードの詳細画面を開いたとき |
| 「追加画面を表示したとき」 | レコードの追加画面を開いたとき |
| 「編集画面を表示したとき」 | レコードの編集画面を開いたとき |
| 「追加画面で値を変更したとき」 | 追加画面で指定フィールドの値を変えたとき |
| 「編集画面で値を変更したとき」 | 編集画面で指定フィールドの値を変えたとき |
| 「追加のレコード保存前」 | 追加画面で保存ボタンを押した直後、保存される前 |
| 「編集のレコード保存前」 | 編集画面で保存ボタンを押した直後、保存される前 |
| 「追加のレコード保存後」 | 追加画面での保存が完了した後 |
| 「編集のレコード保存後」 | 編集画面での保存が完了した後 |
💡 ボタンを押したときに処理を動かしたい場合は、画面を表示するトリガー(例:「一覧画面を表示したとき」)を選び、その後ろに「ボタン配置」ノードをつなぎます。詳しくは 3-10-1 を参照してください。
3-6-3. 値の変更をきっかけにする
「トリガー種別」で「追加画面で値を変更したとき」または「編集画面で値を変更したとき」を選ぶと、「対象フィールド(値が変わったら実行。指定可能な型のみ)」が表示されます。
- 「対象フィールド(値が変わったら実行。指定可能な型のみ)」で、フィールドを選択します。
複数のフィールドを選択できます。選んだいずれかのフィールドが変更されると、フローが動きます。
値の変更をきっかけにするときの「対象フィールド」
⚠️ 値の変更をきっかけにできるフィールドは、kintone の仕様で決まっています。一覧に表示されないフィールドは指定できません。指定できるのは、ラジオボタン・ドロップダウン・チェックボックス・複数選択・ユーザー選択・組織選択・グループ選択・日付・時刻・日時・文字列(1行)・数値・テーブルです。
⚠️ 対象フィールドを 1 つも選ばないと、エラー「値変更トリガーの対象フィールドが選択されていません」になり、保存できません。
3-6-4. 条件を満たすときだけ動かす
一覧画面のトリガー以外では、「発火条件」を設定できます。
- 設定パネルの左側で「発火条件」を選択します。
- 条件を設定します。条件の設定方法は 3-7-3 を参照してください。
開いているレコードの値が条件を満たすときだけ、フローが実行されます。条件を空欄にすると、常に実行されます。
「発火条件」の設定欄
3-7. 値と条件の指定のしかた
多くのノードで共通して使う、値の入力欄と条件の設定欄の使い方です。
3-7-1. 値の入力欄
値の入力欄では、左のボタンで値の種類を切り替えてから、右の欄に入力します。
| 種類 | 入れかた |
|---|---|
| 「固定値」 | 決まった値を入力します。書き込み先が数値なら数値、日付ならカレンダーの入力欄になります |
| 「前のデータ」 | 前のノードから渡ってきた列(フィールド)を選びます。行ごとにその行の値が使われます |
| 「変数」 | 「変数代入」ノードで作った変数を選びます。先に「変数代入」ノードを置いておく必要があります |
| 「計算式」 | 式を書いて値を求めます(3-7-2 を参照) |
💡 条件の比べる値・メッセージ・確認メッセージ・集計の対象など、一部の欄では「計算式」は選べません。
3-7-2. 計算式の書きかた
| 書きかた | 意味 | 例 |
|---|---|---|
[フィールドコード] | 前のデータの、その列の値 | [数量] * [単価] |
"文字" | 文字列 | "様" |
$変数名 | 「変数代入」ノードで作った変数 | $合計 |
+ - * / % | 足し算・引き算・掛け算・割り算・割り算の余り | [金額] * 1.1 |
& | 文字をつなぐ | [会社名] & " 御中" |
= <> < > <= >= | 比較(等しい・等しくない・より小さい・より大きい・以下・以上) | [数量] >= 10 |
TRUE FALSE NULL | 真・偽・空 | IF([完了], TRUE, FALSE) |
使える関数は次のとおりです。
| 分類 | 関数 |
|---|---|
| 条件 | IF(条件, 真のとき, 偽のとき)、AND(…)、OR(…)、NOT(値)、ISEMPTY(値) |
| 数値 | SUM(…)、AVERAGE(…)、MAX(…)、MIN(…)、COUNT(…)、ROUND(値, 桁)、ROUNDUP(値, 桁)、ROUNDDOWN(値, 桁)、ABS(値) |
| 文字 | CONCAT(…)、LEFT(文字, 文字数)、RIGHT(文字, 文字数)、MID(文字, 開始位置, 文字数)、LEN(文字)、TRIM(文字)、REPLACE(文字, 探す文字, 置き換える文字)、CONTAINS(文字, 探す文字)、UPPER(文字)、LOWER(文字)、SPLIT(文字, 区切り)、JOIN(リスト, 区切り) |
| 日付 | TODAY()、NOW()、DATEADD(日付, 数, 単位)、DATEDIFF(日付1, 日付2, 単位)、YEAR(日付)、MONTH(日付)、DAY(日付)、FORMATDATE(日付, 書式) |
| 変換 | TEXT(値)、NUMBER(値) |
| リスト | FIRST(リスト)、LAST(リスト)、INDEX(リスト, 番号)、LENGTH(値) |
| ログインユーザー | LOGINUSER()(ログイン名)、LOGINUSERNAME()(表示名) |
💡
DATEADDとDATEDIFFの単位は"day"(日)・"month"(月)・"year"(年)で、省略できません。DATEDIFFは「日付2 − 日付1」を返します。💡
FORMATDATEの書式にはYYYY(年)・MM(月)・DD(日)・HH(時)・mm(分)・ss(秒)を使えます。例:FORMATDATE(TODAY(), "YYYY年MM月DD日")💡
MIDの開始位置とINDEXの番号は 0 から数えます。⚠️ 式の書きかたに誤りがあると、エラーになり保存できません。
3-7-3. 条件の設定のしかた
条件の設定欄は、「発火条件」「絞り込み」「条件分岐」「画面制御」などで共通です。
- 「すべて満たす」(AND)か「いずれか満たす」(OR)を選びます。
- 「+ 条件」をクリックして、条件の行を追加します。
- 左の欄でフィールドを選び、中央で比べ方を選び、右の欄に比べる値を入れます。
「+ グループ」をクリックすると、条件をまとめたグループを入れ子にできます(例:「A かつ(B または C)」)。行を消すときは右の「×」をクリックします。
| 比べ方 | 使えるフィールド |
|---|---|
| 「と等しい」「と等しくない」 | すべて |
| 「より大きい」「以上」「より小さい」「以下」 | 数値・日付・日時・時刻など |
| 「を含む」「を含まない」「のいずれかと等しい」「のいずれとも等しくない」 | 文字列など |
| 「が空」「が空でない」 | すべて(比べる値は入力しません) |
💡 フィールドの種類に合わない比べ方は、選択肢に表示されません。
💡 「レコード取得」の絞り込みでは、チェックボックス・複数選択・ユーザー選択などの比べ方が「が選ばれている」「が選ばれていない」「のいずれかが選ばれている」「のどれも選ばれていない」と表示されます。
3-8. 入力ノードの設定
3-8-1. レコード取得
アプリからレコードを取得して、次のノードへ渡します。
| 設定項目 | 内容 |
|---|---|
| 取得元アプリ | 「このアプリ」か「アプリを選択」を選びます。「アプリを選択」では一覧からアプリを選びます |
| 取得件数上限(空/0で全件) | 取得する最大件数です。空欄か 0 なら、条件に合うレコードをすべて取得します |
| 実行モード | 「1回だけ取得」:1 回取得します。 「上流の行ごとに取得」:前のノードから渡ってきた行ごとに取得し、結果をその行の「$related」列にまとめて入れます |
| 絞り込み条件 | 取得元アプリのフィールドで条件を指定します(3-7-3 を参照)。右の値に「前のデータ」を選ぶと、前のノードのデータ(詳細画面などでは開いているレコード)の値と比べられます |
| 取得フィールド | 取得する項目にチェックを付けます。未選択なら全項目を取得します。ドラッグで並び順を変えられます。「列名を変更(任意)」に入力すると、その列名で次のノードへ渡します |
💡 取得元アプリを別のアプリに変えると、取得フィールドと絞り込み条件はクリアされます。
💡 テーブル内のフィールドを条件にすると、テーブルのどれか 1 行でも条件に合うレコードを取得します。
💡 「列名を変更」は「1回だけ取得」のときに使われます。
⚠️ 一覧画面のボタンで動かすときも、一覧で絞り込んでいる条件は使われません。対象を絞るときは、このノードの「絞り込み条件」で指定してください。
3-8-2. 固定値
決まった行のデータを出力します。Excel のように、1 行目に列名、その下に値を入力します。
- 列を追加するときは見出しの右の「+」、行を追加するときは行の右の「+」をクリックします
- 列名が空の列には、値を入力できません
3-9. 変換ノードの設定
取り出したデータを加工するノードです。
| ノード | できること | 主な設定項目 |
|---|---|---|
| 結合 | 2 つのデータを、キーの列が等しい行どうしで横につなぎます | 結合タイプ(内部結合・左外部結合・右外部結合・完全外部結合)、結合キー(左の列 = 右の列)、列名が衝突したとき(右側に接頭辞を付ける・両方に接頭辞を付ける・左を優先)、複数一致したとき(すべて出力・最初の1件だけ) |
| 集計 | グループごとに合計などを求めます | グループ化キー(空欄なら全体を 1 件に集計)、集計項目(出力する列名・集計方法・対象フィールド)。集計方法は合計・平均・件数・種類数・最大・最小・先頭・末尾・連結・リスト |
| 絞り込み | 条件に合う行だけを残します | 絞り込み条件 |
| 並べ替え | 指定した列の順に並べ替えます | 並べ替えキー(フィールド、昇順・降順)。複数指定できます |
| 列の追加 | 計算した値の列を追加します | 列名、値(3-7-1 を参照) |
| 列の選択 | 列を絞ります | モード(選んだ列だけ残す・選んだ列を除外)、対象の列 |
| 列名の変更 | 列の名前を変えます | 変更前の列、新しい列名 |
| 重複削除 | 同じ内容の行を 1 つにします | 重複を判定するキー(未指定なら全列で判定)、残す行(先頭・末尾) |
| サブテーブル展開 | テーブルの各行を、1 行ずつのデータに展開します | 展開するサブテーブル、親レコードの列も残す、子列の接頭辞、行IDを入れる列名、サブテーブルが空のとき(行を捨てる・親だけ残す) |
| サブテーブル集約 | 行をまとめて、テーブルの形にします | グループ化キー、作成するサブテーブルの列名、サブテーブルに入れる列 |
| 縦横変換 | 縦に並んだ値を横の列に広げます(例:担当・月・売上 → 担当・1月・2月…) | 行キー、列に展開するフィールド、値のフィールド、同じマスが複数あるときの集計方法、列名の接頭辞 |
| 横縦変換 | 横に並んだ列を縦の行に畳みます(縦横変換の逆) | そのまま残す列、縦に展開する列、項目名を入れる列名、値を入れる列名 |
| 結合(縦) | 2 つのデータを縦につなぎます | 連結方法(列名で合わせる・位置で合わせる)、重複行を除外する |
💡 「結合」は、左隣から入るデータが「左」(メイン側)、真上から入るデータが「右」(結合相手側)です。列名が同じ列は、初期設定では右側に「R_」が付きます(「両方に接頭辞を付ける」では左に「L_」、右に「R_」)。
⚠️ 「結合」は結合キー、「集計」は集計項目、「サブテーブル展開」は展開するサブテーブルを設定しないと、保存できません。
3-10. 制御ノードの設定
3-10-1. ボタン配置
画面にボタンを置き、クリックされたら、このノードの後ろ(「クリック時」)につないだノードを実行します。
「画面を表示したとき」のトリガーの後ろにつなぎます。つないだトリガーの画面によって、置ける場所が変わります。
「ボタン配置」ノードの設定パネル(一覧画面のトリガーにつないだ場合)
ボタンの配置
| 画面 | 設定項目と選択肢 |
|---|---|
| 一覧画面 | 表示する一覧(全ての一覧で表示、または一覧を 1 つ)/PC での配置(メニューの右・メニューの下・配置しない)/モバイルでの配置(ヘッダーの下・配置しない) |
| 詳細画面 | PC での配置(メニューの上・スペース要素・配置しない)/モバイルでの配置(ヘッダーの下・スペース要素・配置しない)/スペース要素を選んだときは、配置するスペースフィールド |
| 追加画面・編集画面 | PCに配置・モバイルに配置(オン/オフ)/配置するスペースフィールド(必須) |
ボタンのデザイン
ラベル(ボタンの文言)、背景色、文字色、角丸(px)、文字サイズ(px)、枠線(線の太さ・枠線の色)、高さ(px)、幅(px)、内側の余白、外側の余白を設定できます。右の「ライブプレビュー」で見た目を確かめられます。
⚠️ ラベルが空だと、保存できません。
⚠️ 追加画面・編集画面は、スペース要素にしかボタンを置けません。「配置するスペースフィールド」を選ばないと保存できません。
⚠️ 処理(書き込み・通知など)は、必ず「ボタン配置」の後ろにつないでください。「ボタン配置」より手前に置いたノードは、画面を表示しただけで実行されます(設定パネルに注意書きが出ます)。
💡 ボタンを押したときは、ボタンより後ろのノードだけが実行されます。詳細画面・追加画面・編集画面では、押した時点の画面の値が渡されます。一覧画面では渡すデータがないため、後ろに「レコード取得」を置きます。
3-10-2. 画面制御
条件に応じて、フィールドの表示・入力・見た目などを切り替えます。条件が外れると元に戻せます。
| 制御の種類 | 内容 | 対象 |
|---|---|---|
| 入力不可にする | 入力できなくします | フィールド(複数可)。テーブルも選べます |
| 必須にする | 入力を必須にします | フィールド(複数可)。テーブルは 1 行以上の入力が必須になります |
| 非表示にする | 表示しないようにします | フィールド・テーブル内のフィールド(列ごと)・ラベル・スペース・罫線(複数可) |
| スタイルを変える | 背景色と文字色を変えます | フィールド(複数可。テーブル内のフィールドは不可) |
| メッセージを表示 | メッセージを出します(レベル:情報・警告・エラー) | フィールド 1 つ。空なら画面の上に表示 |
| 値を設定する | 値を入れます(3-7-1 を参照) | フィールド 1 つ。テーブル内のフィールドは全行に入ります |
| 一覧の行の色を変える | 条件に合うレコードの行に背景色を付けます | (対象の指定はありません) |
| 設定項目 | 内容 |
|---|---|
| 条件 | 満たすときだけ適用します。空なら常に適用します(3-7-3 を参照) |
| 条件が外れたら自動で元に戻す | オンなら、条件に合わなくなったときに元に戻します(初期値:オン) |
動くタイミング
- 画面を開いたときに条件を判定し、追加画面・編集画面では、条件に使ったフィールドの値を変えるたびに判定し直します。フローの実行順序とは関係なく動きます
- 動く画面は、同じフローの「トリガー」ノードの種類で決まります(一覧画面は除きます)。トリガーが一覧画面だけ、またはトリガーにつないでいない場合は、追加画面・編集画面・詳細画面で動きます
- 「一覧の行の色を変える」だけは、トリガーの種類に関係なく、一覧画面を開いたときに動きます
- 手前に「条件分岐」「絞り込み」などがあると、その条件もあわせて判定します
⚠️ 入力欄のないフィールド(計算・レコード番号・作成者など)は、「入力不可にする」「必須にする」「値を設定する」の対象にできません。添付ファイルとテーブルそのものには、値を設定できません。
⚠️ 計算・文字列(複数行)・リッチエディター・リンク・添付ファイルのフィールドや、ルックアップなどで自動で入った値は、変わっても判定し直しません(画面を開いたときの値で判定します)。
⚠️ 追加画面・編集画面では、「スタイルを変える」の色は付きません。「メッセージを表示」はフィールドの横ではなく画面の上に表示されます。「必須にする」はフィールド名の横に「*」は付きませんが、未入力のまま保存しようとすると「この項目は必須です。」と表示して保存を止めます。
💡 ラベル・スペース・罫線は、フォームの設定で要素 ID を付けたものだけ選べます。
3-10-3. 条件分岐
条件で行を 2 つに振り分けます。右隣へ一致した行(〇)、真下へ一致しなかった行(✕)を流します。
| 設定項目 | 内容 |
|---|---|
| 判定のしかた | 「1件ずつ判定して振り分ける」:行ごとに判定します(例:金額が 1 万以上の行だけ通知)。 「全体をまとめて判定する」:先頭の 1 件で判定し、合えば全件を一致側、合わなければ全件を不一致側へ流します |
| 条件 | 3-7-3 を参照 |
💡 条件分岐を続けて置くときは、間に「中継」ノードをはさんで間仕切りにします。
3-10-4. 変数代入
フローの中で使う変数を作ります。作った変数は、値の入力欄の「変数」で選べます。
| 設定項目 | 内容 |
|---|---|
| 変数名 | 変数の名前です |
| 範囲 | 「フロー全体」:フローで 1 つの値を持ちます。 「行ごと」:行ごとに値を計算し、その名前の列として追加します |
| 値 | 「フロー全体」では「式で指定」(先頭の行で計算)か「入力の全行を集計」(合計・件数・平均・最大・最小)を選べます |
| この時点の行集合を保存する変数名(任意) | この時点のデータ全体を、変数として残します |
3-10-5. 処理中断
ここで処理を止めます。
| 中断の種類 | 動き |
|---|---|
| 正常終了 | 何も表示せずに処理を終えます |
| エラー | 処理を止めて、メッセージを表示します。保存前のトリガーでは、保存も止まります |
| 保存キャンセル | 保存前のトリガーで、保存を止めてメッセージを表示します。「エラーを表示するフィールド(任意)」を選ぶと、そのフィールドにメッセージを表示します |
💡 データが 1 件も流れてこないときは実行されません。「条件分岐」の一致側にだけつなぐと、「条件に合うときだけ保存を止める」入力チェックが作れます。
💡 テーブル内のフィールドには、エラーを表示できません。
3-10-6. エラー処理
パレットに表示されますが、現在のバージョンでは、つないだノードで起きたエラーを受け止めることはできません(5-7 を参照)。エラーが起きたときの動きは、「設定」タブの「エラー時の動作」で決めてください。
3-10-7. 確認ダイアログ
処理を続ける前に、確認のダイアログを表示します。
| 設定項目 | 内容 |
|---|---|
| 確認メッセージ | ダイアログに表示する文です(初期値:実行しますか?) |
| 対象の件数を表示する | オンなら「対象: ○ 件」を表示します(初期値:オン) |
| タイトル(任意) | ダイアログの見出しです |
| 実行ボタンの文言・キャンセルボタンの文言 | 空欄なら「実行」「キャンセル」です |
| キャンセル時 | 「処理を中断」か「空データで続行」を選びます |
💡 データが 0 件でも表示されます。
3-10-8. 中継
受け取ったデータを、そのまま次のノードへ渡します。条件分岐を続けて置くときの間仕切りに使います。
3-11. 出力ノードの設定
3-11-1. 書き込みの設定(共通)
レコード追加・レコード更新・レコード追加更新・自レコード更新・値をセットでは、「フィールドマッピング」で書き込む値を決めます。
- 「+ マッピングを追加」をクリックします。
- 「書き込み先」でフィールドを選びます。
- 「値」に書き込む値を入れます(3-7-1 を参照)。
「値が空ならスキップ」をオンにすると、値が空の行ではそのフィールドを書き換えません。
💡 書き込み先に選べるのは、文字列(1行)・文字列(複数行)・リッチエディター・数値・チェックボックス・ラジオボタン・複数選択・ドロップダウン・日付・時刻・日時・リンク・ユーザー選択・組織選択・グループ選択・テーブルです。
一部失敗時(レコード追加・更新・追加更新・削除・ステータス更新)
| 選択肢 | 動き |
|---|---|
| 停止 | 失敗したところで処理を止めます。それより前の分は書き込み済みです |
| 続行 | 失敗した分の理由を結果の列に残して、残りを続けます |
3-11-2. 各ノードの設定項目
| ノード | できること | 主な設定項目 |
|---|---|---|
| 値をセット | 追加画面・編集画面の入力欄に値を入れます(保存はしません) | 画面にセットするフィールド |
| レコード追加 | 行ごとにレコードを追加します | 書き込み先アプリ、フィールドマッピング、作成後に再取得する、一部失敗時 |
| レコード更新 | 行ごとにレコードを更新します | 更新先アプリ、対象の特定方法(レコードID・重複禁止フィールド)、レコード ID の式またはキーにするフィールドとキーの値、フィールドマッピング、リビジョン(チェックしない(推奨)・厳密)、一部失敗時 |
| レコード追加更新 | キーで一致するレコードがあれば更新、なければ追加します | 対象アプリ、キーにするフィールド(重複禁止フィールド)、キーの値、フィールドマッピング、一部失敗時 |
| レコード削除 | 行ごとにレコードを削除します | 削除先アプリ、削除するレコードIDの式、実行前に確認する、リビジョン、一部失敗時 |
| 自レコード更新 | 表示中のレコードを更新します | 更新するフィールド |
| ステータス更新 | プロセス管理のアクションを実行します | 対象アプリ、レコードIDの式、実行するアクション名、作業者(「作業者を選択」するアクション時のみ)、一部失敗時 |
| CSV出力 | CSV ファイルをダウンロードします | ファイル名(初期値:export.csv)、出力する列(見出しの変更・× で削除・ドラッグで並べ替え)、文字コード(UTF-8・Shift-JIS)、BOM を付ける(Excel向け) |
| 通知表示 | 画面にメッセージを表示します | レベル(情報・成功・警告・エラー)、メッセージ、表示位置(左上〜右下の 9 か所)、表示時間(ミリ秒。0 ならクリックで閉じるまで表示) |
| 画面をリロード | 画面を読み込み直して最新の値を表示します。フローの最後に置きます | 待機時間(ミリ秒。初期値:400) |
💡 レコード ID の式は、初期値が前のデータの「$id」(レコード番号)です。「レコード取得」で取ったレコードをそのまま更新・削除するときは、初期値のままで使えます。
💡 「レコード削除」の「実行前に確認する」がオン(初期値)なら、実行前に「○ 件のレコードを削除します。よろしいですか?」と表示します。「キャンセル」を押すと処理を中断します。
💡 「値をセット」は、詳細画面を表示したとき・保存後のトリガーでは画面に反映されません。保存済みのレコードを書き換えるときは「自レコード更新」を使います。
💡 「自レコード更新」は、追加画面・編集画面では入力欄に値を入れ(利用者が保存したときに保存されます)、詳細画面のボタン・保存後のトリガーではレコードを直接更新します。詳細画面のボタンで更新したあとは、画面を自動で読み込み直します。
💡 「CSV出力」の BOM は、文字コードが UTF-8 のときに付きます。複数の値を持つフィールドは「;」区切り、ユーザーなどは表示名で出力します。
⚠️ 「レコード追加」「レコード更新」「レコード追加更新」は、フィールドマッピングを 1 つも設定しないと保存できません。
3-12. 拡張ノード(JavaScript実行)
JavaScript のコードを実行して、データを加工します。
| 設定項目 | 内容 |
|---|---|
| 実行単位 | 「$row: 行ごと」:行ごとに実行し、$row で行を受け取ります。「$rows: 全行一括」:全行を $rows で受け取って 1 回実行します |
| JavaScript コード | 実行するコードです。return で結果を返します(初期値:return $row;)。「.js ファイルを読み込んでコード欄に貼り付け」からファイルを読み込めます |
| 結果を入れる列名(任意) | 指定すると、戻り値をその列に入れます。空欄なら戻り値そのものを行として次へ渡します |
コードの中では、$vars(変数)、$user(ログインユーザー)、$runtime(アプリ ID・現在日時など)も使えます。
⚠️ コードに誤りがあると「JavaScript の実行でエラーが発生しました」と表示されます。外部から入手したコードを貼り付けるときは、内容を確かめてから使ってください。
3-13. プレビューで結果を確かめる
ノードの設定パネルの「プレビュー」タブで、そのノードが出力するデータを表で確認できます。
- キャンバスでノードをクリックします。
- 設定パネルの「プレビュー」タブをクリックします。
最新のデータで確かめるときは「更新」をクリックします。
💡 プレビューは、各ノードの設定どおりに実際にデータを取得します。書き込み・通知・リロードなどは実行しません。
💡 速度のため、最大 100 件まで取得・表示します。実際の実行では、設定した件数まで処理されます。
💡 詳細画面などのトリガーでは、このアプリのレコード 1 件を見本として使います。
3-14. AI アシスタントでフローを作る
やりたいことを日本語で入力すると、AI がフローを作成します。使う前に、「設定」タブで API キーを保存しておきます(3-15 を参照)。
- フロー編集画面のツールバーで「AIアシスタント」をクリックします。
- 「AI フローアシスタント」のパネルで、作りたい処理を入力して「送信」をクリックします(Shift+Enter で改行できます)。
- AI から質問が返ってきたら、答えるか、表示された選択肢をクリックします。
- 作成されたフローの内容を確かめて、「このフローを反映」をクリックします。
キャンバスに AI が作成したノードが並びます。キャンバスにすでにノードがあるときは、置き換えてよいかの確認が表示されます。
⚠️ AI が作るフローは完璧ではありません。反映したあと、各ノードの設定とプレビューを必ず確かめ、必要なら手で直してから保存してください。
💡 「新規チャット」をクリックすると、やり取りを消して最初からやり直せます。
💡 入力した文章と、アプリの一覧・フィールドの設定・現在のフローの内容が、選んだ AI(OpenAI または Claude)に送られます。
3-15. 「設定」タブ(共通設定)
アプリ全体に効く設定です。
AI アシスタント
| 項目 | 内容 |
|---|---|
| 使用するAI | OpenAI か Claude を選びます |
| OpenAI APIキー/Claude APIキー | 選んだ AI の API キーを入力します |
| 応答の上限 | Claude のときだけ表示されます。AI が 1 回の応答で使える量です。応答が途中で切れることが多い場合に大きくします |
| 生成したフローを自動チェックする | オンなら、作成したフローの無駄なノード・設定ミスを別の AI で検査・修正します。API の呼び出しが 1 回増えます |
💡 API キーは外部 API 実行用の保存領域に保存され、この設定画面からのみ参照できます。アプリの利用者からは参照できません。
実行ログ
| 項目 | 内容 |
|---|---|
| 実行ログを記録する | オンなら、フローを実行するたびに結果をログ記録先アプリに 1 件ずつ記録します |
| ログ記録先アプリ ID | ログを記録するアプリの ID です。「専用アプリを作成」をクリックすると、「Nocode 実行ログ」アプリを作成して ID を入れ、記録をオンにします |
💡 「専用アプリを作成」で作るアプリは、このアプリがスペースにあれば同じスペースに作られます。記録される内容は 4-7 を参照してください。
実行中の表示
| 項目 | 内容 |
|---|---|
| 処理内容をモーダル表示する | オンなら、ボタンで実行しているあいだ、処理の内容と進み具合をモーダルで表示します。オフなら画面に何も出さずに処理します |
実行の上限
| 項目 | 内容 |
|---|---|
| 処理件数の上限 | 1 回の実行で処理できるレコード件数の上限です。レコード取得で取り出した件数が上限を超えると、エラーで停止します |
エラー時の動作
| 項目 | 内容 |
|---|---|
| 連携先への権限がない場合 | 「エラーで停止」か「スキップして続行」を選びます。「スキップして続行」なら、権限がないノードを飛ばして処理を続けます |
| エラー表示レベル | 「簡易(本番向け)」はエラーの要点だけ、「詳細(開発時)」はエラーコードと詳しい内容も表示します |
| デバッグログを console に出力する | オンなら、ブラウザの開発者ツールのコンソールに、ノードごとの処理件数などを出力します |
3-16. 保存してアプリに反映する
- 画面右上の「保存」をクリックします(フロー編集画面の「保存」でも同じです)。
設定の検証 → 保存 → アプリへの反映の順に進み、完了すると「保存済み」に変わります。
保存の中で、kintone の「アプリを更新」まで自動で行います。アプリの設定画面に戻って「アプリを更新」をクリックする必要はありません。
⚠️ 「エラー ○」が表示されているあいだは、「保存」を押せません。フローカードの「エラー」をクリックして、問題のノードを直してください。
⚠️ アプリの設定で、ほかにまだ反映していない変更があると、それもあわせてアプリに反映されます。
💡 API キーは、ヘッダーの「保存」で保存されます。
3-17. エクスポート・インポート
設定を JSON ファイルに書き出し、別のアプリに読み込めます。バックアップや、同じ設定を別のアプリで使うときに使います。
3-17-1. エクスポートする
- 「エクスポート/インポート」タブを開きます。
- 「JSON をエクスポート」をクリックします。
「xenox-flow-config-(アプリID).json」という名前のファイルがダウンロードされます。フローと「設定」タブの内容が入ります。
💡 API キーはファイルに入りません。読み込んだ先のアプリで、改めて入力してください。
3-17-2. インポートする
- 読み込み先のアプリで、「エクスポート/インポート」タブを開きます。
- 「インポート」の欄で、JSON ファイルを選びます。
- 「インポートしました。内容を確認して保存してください。」と表示されたら、内容を確かめて「保存」をクリックします。
⚠️ インポートすると、今の設定(フローと「設定」タブの内容)は、ファイルの内容に置き換わります。保存するまでは反映されません。
⚠️ 別のアプリの設定を読み込んだときは、フィールドコードやアプリの指定が読み込み先と合っているか、各ノードを確かめてから保存してください。
3-18. 設定項目の一覧
フローごとの設定
| 項目 | 内容 | 初期値 | 必須 |
|---|---|---|---|
| フロー名 | フローの名前 | 新しいフロー | − |
| 有効 | フローを実行するか | オン | − |
| トリガー種別 | フローを動かすタイミング | 一覧画面を表示したとき | ○ |
| 対象フィールド | 値の変更をきっかけにするフィールド | なし | 値変更のトリガーのとき○ |
| 発火条件 | 動かす条件 | なし(常に実行) | − |
「設定」タブ
| 項目 | 内容 | 初期値 | 必須 |
|---|---|---|---|
| 使用するAI | AI アシスタントの接続先 | OpenAI | − |
| OpenAI APIキー/Claude APIキー | AI の API キー | なし | AI アシスタントを使うとき○ |
| 応答の上限 | Claude の 1 回の応答の上限 | 16,000 トークン(標準) | − |
| 生成したフローを自動チェックする | 作成したフローを別の AI で検査する | オン | − |
| 実行ログを記録する | 実行結果をアプリに記録する | オフ | − |
| ログ記録先アプリ ID | ログを記録するアプリ | なし | 記録するとき○ |
| 処理内容をモーダル表示する | ボタン実行中の進み具合を表示する | オフ | − |
| 処理件数の上限 | 1 回の実行で処理できる件数 | 10000 | − |
| 連携先への権限がない場合 | 権限エラーのときの動き | エラーで停止 | − |
| エラー表示レベル | エラーの表示の詳しさ | 簡易(本番向け) | − |
| デバッグログを console に出力する | 開発者ツールへのログ出力 | オフ | − |
使い方
4-1. ボタンで処理を実行する(PC)
- 設定した画面(一覧画面・詳細画面・追加画面・編集画面)を開きます。
- 「ボタン配置」ノードで設定した場所に表示されたボタンをクリックします。
ボタンの後ろにつないだノードが実行されます。実行中はボタンが押せなくなり、二重に実行されません。
💡 「確認ダイアログ」ノードを置いた場合は、確認が表示されます。「実行」(または設定した文言)をクリックすると続きが実行されます。
4-2. ボタンで処理を実行する(モバイル)
モバイル版でも、PC 版と同じ操作で実行できます。ボタンは、一覧画面・詳細画面ではヘッダーの下、追加画面・編集画面ではスペース要素に表示されます(「ボタン配置」で「配置しない」にした場合は表示されません)。
4-3. 画面の操作に合わせて自動で動く処理
ボタンを使わないフローは、トリガーのタイミングで自動で動きます。利用者が特別な操作をする必要はありません。
| トリガー | 利用者の操作 | よくある使い方 |
|---|---|---|
| 画面を表示したとき | 画面を開く | 画面を開いたら関連するレコードを取得して表示用の値をセットする |
| 値を変更したとき | 対象フィールドの値を変える | 選んだ値に合わせて他のアプリから値を取得し、「値をセット」で入れる |
| 保存前 | 保存ボタンを押す | 値を確かめ、条件に合わなければ「処理中断」で保存を止める |
| 保存後 | 保存が完了する | 保存したレコードの内容を、別のアプリに書き込む |
⚠️ 保存後のトリガーで処理しているあいだに画面を離れようとすると、ブラウザから確認メッセージが表示されます。処理が終わるまで待ってください。
4-4. 画面制御の動き
「画面制御」ノードを置いたフローがある画面を開くと、条件に合うフィールドが自動で非表示・入力不可などに切り替わります。
追加画面・編集画面で、条件に使ったフィールドの値を変えると、その場で判定し直します。「条件が外れたら自動で元に戻す」がオンなら、条件に合わなくなったときに元に戻ります。
4-5. 実行中の表示・完了の通知・エラーが起きたとき
- 「設定」タブの「処理内容をモーダル表示する」がオンなら、ボタンで実行しているあいだ、フロー名と処理中のノード名・件数がモーダルに表示されます。「キャンセル」を押すと、その時点で処理を中断します
- 「通知表示」ノードを置くと、処理の最後にメッセージを表示できます。メッセージはクリックすると消えます
- エラーが起きると、「(フロー名) の実行でエラーが発生しました」というダイアログが表示されます。保存前のトリガーでは、kintone の保存画面にエラーが表示され、保存が止まります。メッセージごとの対処は 6-2 を参照してください
4-6. 通しの例:一覧のボタンで、マスタと突き合わせた CSV を出力する
このアプリのレコードと、マスタアプリのレコードを「マスタキー」と「キー」で結合し、一覧画面のボタンから CSV で出力する例です。
完成したフロー。一覧画面のボタンで、2 つのアプリのレコードを結合して CSV を出力する
前提:このアプリに「マスタキー」フィールド、マスタアプリに「キー」「名称」「単価」フィールドがあるものとします。
- 「フロー」タブで「フローを作成」をクリックし、フロー名を「マスタ紐づけCSV出力」にします。
- 「トリガー」ノードの「トリガー種別」は、「一覧画面を表示したとき」のままにします。
- 「トリガー」の右隣に「ボタン配置」を置き、ラベルを「CSV出力」にします。「表示する一覧」は「全ての一覧で表示」、「PC での配置」は「メニューの右」にします。
- 「ボタン配置」の右隣に「レコード取得」を置き、「取得元アプリ」で「アプリを選択」→ マスタアプリを選びます。
- 「ボタン配置」の真下に「レコード取得」を置きます。「取得元アプリ」は「このアプリ」のままにします。
- 手順 5 の「レコード取得」の右隣(手順 4 の「レコード取得」の真下)に「結合」を置きます。
左隣のこのアプリが「左」、真上のマスタアプリが「右」になります。 - 「結合」の「結合キー」で「+ キーを追加」をクリックし、左の列に「マスタキー」、右の列に「キー」を選びます。
マスタに見つからないレコードも出力したいときは、「結合タイプ」を「左外部結合」にします。 - 「結合」を選んだ状態で「プレビュー」タブを開き、2 つのアプリの列が 1 行にまとまっていることを確かめます。
- 「結合」の右隣に「CSV出力」を置き、ファイル名と出力する列を設定します。Excel で開くときは「BOM を付ける(Excel向け)」をオンにします(UTF-8 のとき)。
- 「保存」をクリックします。
- アプリの一覧画面を開き、メニューの右に表示された「CSV出力」ボタンをクリックします。
CSV ファイルがダウンロードされます。
💡 出力する前に件数を確かめたいときは、「結合」と「CSV出力」の間に「確認ダイアログ」を置きます(「CSV出力」を 1 マス右へずらして、空いたマスに置きます)。終わったことを知らせる「通知表示」も、同じように「CSV出力」の手前に置きます(「CSV出力」の後ろにはつなげません)。
4-7. 実行ログを見る
「設定」タブで実行ログを記録するようにすると、フローを実行するたびに、ログ記録先アプリにレコードが 1 件追加されます。
「専用アプリを作成」で作ったアプリには、次の項目が記録されます。
| 項目 | 内容 |
|---|---|
| 実行ID・実行日時・実行者 | いつ、誰が実行したか |
| 実行元アプリID・実行元アプリ名 | どのアプリで実行したか |
| フローID・フロー名・トリガー種別 | どのフローが、何をきっかけに動いたか |
| ステータス | 成功・失敗・中断 |
| 実行時間(ms) | 処理にかかった時間 |
| 起点レコードID | 処理のもとになったレコード |
| 処理サマリ・ノード統計 | ノードごとの入力件数・出力件数・時間 |
| エラーコード・エラーメッセージ | 失敗したときの内容 |
| 影響レコード | このフローで追加・更新・削除・ステータス変更したレコード |
制限事項・注意点
5-1. 書き込んだ内容は元に戻せません
レコードの追加・更新・削除、ステータスの変更を、まとめて元に戻す機能はありません。
書き込むフローは、まずテスト用のアプリやレコードで動きを確かめてから使ってください。
💡 一覧のボタンで多くのレコードを書き換えるときは、「確認ダイアログ」ノードを置き、件数を確かめてから実行できるようにしておくと安心です。
5-2. 件数・容量の上限
| 項目 | 上限 |
|---|---|
| 1 回の実行で取得できるレコード件数 | 「設定」タブの「処理件数の上限」(初期値 10000 件)。超えるとエラーで停止します |
| 設定として保存できるデータ量 | 256KB。超えると保存できません |
| プレビューで表示する件数 | 100 件 |
💡 レコードの書き込みは 100 件ずつ、取得は 500 件ずつに分けて行います。件数が多いと時間がかかります。
5-3. 途中で失敗したとき
書き込みは 100 件ずつ行うため、「一部失敗時」が「停止」の場合、失敗したところまでの分は書き込み済みです。
原因(権限の不足、入力した値の誤りなど)を直してから、残りを改めて実行してください。
5-4. フローが動かない場面
フローは、kintone の画面の操作をきっかけに動きます。次の場合は動きません。
- CSV ファイルの読み込みでレコードを追加・更新したとき
- 他のシステムや他のプラグインが、REST API でレコードを追加・更新したとき
- 一覧画面でレコードを直接編集(インライン編集)して保存したとき
- フローが無効のとき、プラグインの契約が有効でないとき
5-5. 画面の種類によって効かない組み合わせ
| 組み合わせ | 動き |
|---|---|
| 詳細画面を表示したとき・保存後のトリガー +「値をセット」 | 画面に反映されません。「自レコード更新」を使ってください |
| 詳細画面を表示したとき +「自レコード更新」 | 詳細画面を開くたびに更新が実行され、更新した値は次に開いたときに表示されます。「ボタン配置」の後ろにつなぐ使い方をおすすめします |
| 追加画面・編集画面 + 画面制御「スタイルを変える」 | 色は付きません(詳細画面だけで効きます) |
| 追加画面・編集画面 + 画面制御「メッセージを表示」 | フィールドの横ではなく画面の上に表示されます |
| モバイル版 + 画面制御「一覧の行の色を変える」・罫線の非表示 | 動きません |
いずれも、設定パネルの先頭やフローカードの「注意」で知らせます。
5-6. 他の人の更新を上書きします
「レコード更新」「レコード削除」の「リビジョン」が「チェックしない(推奨)」のときは、直前に他の人が同じレコードを更新していても、エラーにならずに上書き(削除)します。
他の人の更新と重なったら止めたいときは、「厳密」にして、「リビジョンの式」にそのレコードのリビジョン(初期値は前のデータの「$revision」)を指定します。
5-7. 「エラー処理」ノードについて
現在のバージョンでは、設定画面から「エラー処理」ノードの内側で実行するノードを指定できません。そのため、このノードにつないだノードでエラーが起きても、受け止めずにフロー全体がエラーになります。
エラーのときの動きは、「設定」タブの「エラー時の動作」と、「レコード追加」などの「一部失敗時」で決めてください。
5-8. その他の注意
- 「保存」すると、アプリの設定のほかの未反映の変更も、あわせてアプリに反映されます(3-16 を参照)
- 古いバージョンの「画面制御」タブで作ったルールは、設定画面を開いたときに「画面制御」ノードを含むフローに自動で移されます(「画面制御をフローへ移行しました」と表示されます)。内容を確かめて保存してください
- 必須フィールドを空にする・プロセス管理のステータスを直接書き換えるなど、kintone が受け付けない書き込みはエラーになります
- 書き込むと、更新者と更新日時は、フローを実行したユーザー・日時に変わります
困ったときは
6-1. 表示されるメッセージと対処(設定画面)
| 表示されるメッセージ | 対処 |
|---|---|
| フロー「○○」にトリガーが設定されていません | フローに「トリガー」ノードを置きます |
| ノード「○○」がトリガーから到達できません | そのノードをトリガーから続く並びにつなぐか、不要なら削除します(3-5-2 を参照) |
| ノード「○○」の入力「○○」が接続されていません | 入口が必要なノードの左(または上)に、データを渡すノードを置きます。「結合」「結合(縦)」は左と上の両方が必要です |
| フロー「○○」に循環参照があります | データの流れが輪になっています。ノードの並びを見直します |
| 値変更トリガーの対象フィールドが選択されていません | トリガーの「対象フィールド」を選びます(3-6-3 を参照) |
| ボタンのラベルが未設定です | 「ボタン配置」の「ラベル(ボタンの文言)」を入力します |
| 追加・編集画面ではスペース要素にしかボタンを置けません。「配置するスペースフィールド」を選んでください | 「配置するスペースフィールド」を選びます。選択肢がないときは、フォームにスペースを置いて要素 ID を設定します |
| 結合キーが設定されていません/集計項目が設定されていません/展開するサブテーブルが設定されていません | それぞれのノードの設定を入れます(3-9 を参照) |
| 書き込むフィールドが設定されていません/更新するフィールドが設定されていません | 「+ マッピングを追加」で書き込み先と値を設定します |
| 一致判定のキーフィールドが設定されていません/キーにするフィールドが設定されていません | 「キーにするフィールド」を選びます |
| ノード「○○」: (式の誤りの内容) | 計算式の書きかたを直します(3-7-2 を参照) |
| 「○○」はボタン配置より前にあります。画面表示時に実行されてしまうため、処理はボタン配置の後ろ(クリック時)に繋いでください | 処理のノードを「ボタン配置」の後ろへ移します |
| PC・モバイルとも「配置しない」になっているため、ボタンはどこにも表示されません | 「PC での配置」か「モバイルでの配置」を選び直します |
| 「○○」は計算(CALC)フィールドのため値をセットできません | 書き込み先を、数値など入力できるフィールドに変えます |
| 画面制御の上流に条件として扱えないノードがあります | 条件は「画面制御」ノードの「条件」に設定します |
| 要素ID「○○」がフォームに見つかりません | フォームの要素 ID を確かめ、対象を選び直します |
| 保存できるデータサイズの上限(256KB)を超えています | 使っていないフローを削除するか、ノードを減らします |
| 設定は保存しましたが、アプリの更新に失敗しました。アプリの設定画面から「アプリを更新」を実行してください。 | アプリの設定画面で「アプリを更新」をクリックします |
| ログアプリの作成に失敗しました | アプリを作成する権限があるか確かめます。既存のアプリの ID を「ログ記録先アプリ ID」に入れても使えます |
| APIキーが未設定です | 「設定」タブで API キーを入力して「保存」し、フロー編集画面を開き直します |
| JSON として読み込めませんでした/このファイルは設定ファイルではありません。 | このプラグインでエクスポートした JSON ファイルを選びます |
| 要素IDを設定したスペースがフォームにありません。 | kintone のフォーム設定でスペースを置き、要素 ID を設定します |
6-2. 表示されるメッセージと対処(レコード画面)
「エラー表示レベル」が「簡易(本番向け)」のときは、次の要点が表示されます。「詳細(開発時)」にすると、エラーコードと詳しい内容もあわせて表示されます。
| 表示されるメッセージ | 対処 |
|---|---|
| 処理件数が上限を超えました | 「レコード取得」の絞り込み条件で件数を減らすか、「設定」タブの「処理件数の上限」を見直します |
| このアプリへのアクセス権限がありません | 実行した人に、対象のアプリ・レコードの権限があるか確かめます。止めずに続けたいときは、「連携先への権限がない場合」を「スキップして続行」にします |
| レコードの作成に失敗しました/レコードの更新に失敗しました/レコードの削除に失敗しました | 書き込む値がフィールドの種類・必須・重複禁止などの設定に合っているか確かめます。失敗したところより前は書き込み済みです(5-3 を参照) |
| 計算式でエラーが発生しました | 計算式で使っている列名や関数名を確かめます |
| JavaScript の実行でエラーが発生しました | 「JavaScript実行」ノードのコードを直します |
| kintone との通信でエラーが発生しました | 時間をおいて再度実行します。続くときは「詳細(開発時)」にして内容を確かめます |
| 処理が中断されました | 実行中のモーダルで「キャンセル」を押したときなどに表示されます |
| 処理を中断しました(ダイアログの見出し) | 「処理中断」ノードの「エラー」で止めたときに、設定したメッセージとともに表示されます |
| この項目は必須です。 | 画面制御で必須にしたフィールドに入力してから保存します |
| ○ 件のレコードを削除します。よろしいですか? | 「レコード削除」の確認です。件数を確かめて「削除」をクリックします |
6-3. うまく動かないときの確認ポイント
- プラグインが有効になっているか、アプリの設定の「プラグイン」で確かめてください
- 設定画面の「保存」が「保存済み」になっているか確かめてください。「閉じる」だけでは保存されません
- フローカードのスイッチと、各ノードの「有効」がオンになっているか確かめてください
- トリガー種別が、動かしたい画面・タイミングと合っているか確かめてください。発火条件を入れている場合は、開いているレコードが条件に合っているかも確かめます
- ボタンが表示されないときは、「ボタン配置」の配置場所(「配置しない」になっていないか、スペースの要素 ID が合っているか)と、一覧画面なら「表示する一覧」を確かめてください。ブラウザの開発者ツールのコンソールに「[Nocode] ボタンを配置できませんでした」と理由が出ます
- 一覧のボタンで何も起きないときは、ボタンの後ろに「レコード取得」があるか確かめてください(一覧画面のボタンは、それだけではデータを渡しません)
- 「プレビュー」タブで、各ノードが期待どおりのデータを出しているか、手前から順に確かめてください
- 実行した人に、取得・書き込みするアプリの権限があるか確かめてください
- 原因が分からないときは、「エラー表示レベル」を「詳細(開発時)」に、「デバッグログを console に出力する」をオンにして、もう一度実行してください
6-4. よくある質問
Q. 一覧で絞り込んだレコードだけを、ボタンで処理できますか?
A. 一覧の絞り込み条件は自動では引き継がれません。ボタンの後ろの「レコード取得」で、同じ条件を「絞り込み条件」に指定してください。
Q. 「保存」したあと、アプリの設定で「アプリを更新」を押す必要はありますか?
A. 必要ありません。プラグインの「保存」の中で、アプリへの反映まで自動で行います。
Q. 同じ設定を別のアプリでも使えますか?
A. 「エクスポート/インポート」タブで書き出したファイルを、別のアプリで読み込めます。フィールドコードやアプリの指定が合っているか確かめてから保存してください。API キーは改めて入力します(3-17 を参照)。
Q. 「値をセット」と「自レコード更新」はどう使い分けますか?
A. 追加画面・編集画面で入力欄に値を入れるだけ(保存は利用者が行う)なら「値をセット」、保存済みのレコードを書き換えるなら「自レコード更新」です(3-11-2 を参照)。
Q. AI アシスタントを使わなくても設定できますか?
A. できます。AI アシスタントは下書きを作る補助です。すべてのノードは手で配置・設定できます。