fbpx
「給与DXのエムザス」 給与とシステム両方を本業に約20年

kintoneのプロセス管理をJavaScriptで制御する方法と活用例

公開日:2025.10.09
最終更新日:2025.10.10

はじめに

kintoneの「プロセス管理」機能は、業務のワークフローを可視化・自動化する強力な仕組みです。しかし、標準機能だけでは柔軟な制御が難しい場面もあります。

そこで活躍するのが、JavaScriptによるカスタマイズです。

本記事では、kintoneのプロセス管理をJavaScriptで拡張・制御する方法や、よくあるユースケース、具体的なコード例をご紹介します。


お知らせ①

🌟無料&登録不要でプラグインのお試しが可能!🌟

kintoneユーザーの皆さん!

エムザスのkintoneプラグインはもう試しましたか?🤔
エムザスでは以下のようなプラグインを開発しています!👇

EMレポ - レコードの内容をPDF / Excelに出力できるプラグイン
EMレポのプラグイン画像
EMsheet - kintoneのレコードをExcelのように表示して編集できるプラグイン
EMsheetのプラグイン画像
EMdocMaker - アプリの関連図や定義書を出力し、アプリの分析ができるプラグイン
EMdocMakerのプラグイン画像
       
EMログ - 標準の監査ログでは取得できないアプリの操作ログを取得できるプラグイン
EMログのプラグイン画像
   
 
 
 

 

デモ環境で、ほとんどの機能が今すぐお試しいただけます✨

 

さらに、お客様のドメインで無料で3ヶ月間、すべての機能を試すこともできます!🎉

\たった1分で申し込み完了!/

それでは、本題に入ります!

プロセス管理の基本構造

まずは、プロセス管理機能の基本を簡単におさらいしましょう。

  • ステータス:レコードの状態(例:申請中、承認済みなど)
  • アクション:ユーザーがステータスを変更するためのボタン(例:「承認する」ボタン)
  • 条件分岐:特定の条件を満たした場合のみ、特定のアクションが表示される

プロセス管理はkintoneのアプリ設定画面からGUIで設定できますが、JSを使えば、より柔軟に画面表示や挙動を制御できます。


JavaScriptでできること

1. ステータスによるフィールドの表示/非表示

JavaScriptを使えば、現在のステータスに応じてフィールドの表示・非表示を制御できます。

例:申請中のときだけ「コメント」フィールドを表示する

kintone.events.on('app.record.detail.show', function(event) {
  const status = event.record['ステータス'].value;
  if (status === '申請中') {
    kintone.app.record.setFieldShown('コメント', true);
  } else {
    kintone.app.record.setFieldShown('コメント', false);
  }
  return event;
});

2. ステータス変更後の処理(アクション実行後)

ユーザーがプロセス管理のアクションボタンを押してステータスを変更した後に、何らかの処理を走らせることも可能です。

これは、app.record.detail.process.proceed イベントを使って実現します。

例:ステータス変更後にアラートを表示

kintone.events.on('app.record.detail.process.proceed', function(event) {
  alert('ステータスが変更されました');
  return event;
});

3. ステータス変更後に外部サービスと連携

JSから外部APIを呼び出すことで、例えばSlackやメールへの通知、他のkintoneアプリとの連携も可能になります。

例:承認されたらSlackに通知を送る(Webhook経由)

kintone.events.on('app.record.detail.process.proceed', function(event) {
  const status = event.record['ステータス'].value;

  if (status === '承認済み') {
    const payload = {
      text: `レコードが承認されました: ${event.record.タイトル.value}`
    };

    fetch('https://hooks.slack.com/services/XXXXXXXXX/XXXXXXXXX/XXXXXXXXX', {
      method: 'POST',
      body: JSON.stringify(payload),
      headers: {
        'Content-Type': 'application/json'
      }
    });
  }

  return event;
});

よくあるユースケース

以下のような業務要件に、JSカスタマイズはとても有効です。

✅ ステータスに応じた入力制御

  • 「申請中」のときだけ編集できるフィールドを限定
  • 「差戻し」時のみ再入力必須のチェックを追加

✅ ステータス変更時の通知・外部連携

  • 承認されたらSlackに通知
  • 却下されたら担当者にメール送信
  • 他のアプリのステータスを連動して更新

✅ 操作ミス防止のガード処理

  • ステータス変更時に確認ダイアログを表示
  • 入力不備がある場合はステータスを進められないよう制御

制約・注意点

❌ アクションボタン自体の非表示はできない

JavaScriptではアクションボタンの表示・非表示を直接制御できません。プロセス管理の設定(GUI)で条件を設定する必要があります。

❌ ステータスの一覧やアクションの設定をJSから変更することは不可

これらの設定はアプリのプロセス管理画面からのみ編集可能です。APIやJSからの動的変更はできません。

⚠️ 権限制御には別途注意

JSによる制御は見た目だけの操作制御であり、実際のアクセス制限とは異なります。本格的な制御を行う場合は、アプリのアクセス権やユーザー管理と合わせて検討しましょう。


まとめ

kintoneのプロセス管理機能は、JavaScriptを活用することでさらに強力になります。

  • ステータスに応じた表示制御
  • ステータス変更後の通知・処理自動化
  • 外部システムとの柔軟な連携

標準機能だけでは実現できない業務ロジックやUI制御も、JSによるカスタマイズで柔軟に対応できます。