" ["post_title"]=> string(111) "工場のボトルネック工程はどこ?人や機械に注目してタスクの滞留点を見つけよう" ["post_excerpt"]=> string(0) "" ["post_status"]=> string(7) "publish" ["comment_status"]=> string(6) "closed" ["ping_status"]=> string(6) "closed" ["post_password"]=> string(0) "" ["post_name"]=> string(36) "factory-bottlenecks-how-to-find-them" ["to_ping"]=> string(0) "" ["pinged"]=> string(0) "" ["post_modified"]=> string(19) "2026-02-20 10:29:30" ["post_modified_gmt"]=> string(19) "2026-02-20 01:29:30" ["post_content_filtered"]=> string(0) "" ["post_parent"]=> int(0) ["guid"]=> string(45) "https://adiem.jp/?post_type=blog&p=15270" ["menu_order"]=> int(0) ["post_type"]=> string(4) "blog" ["post_mime_type"]=> string(0) "" ["comment_count"]=> string(1) "0" ["filter"]=> string(3) "raw" } [2]=> object(WP_Post)#4945 (24) { ["ID"]=> int(15197) ["post_author"]=> string(2) "14" ["post_date"]=> string(19) "2025-11-07 15:07:39" ["post_date_gmt"]=> string(19) "2025-11-07 06:07:39" ["post_content"]=> string(13705) "Production management system - kintone-Process management system - Overall optimization こんにちは、東京の旅行代理店から地元の製造業に総務担当として転職したジムリンです! 製造業未経験で上司からいきなり「kintoneで生産管理・工程管理システムを作ってみて!」なんていわれたら、みなさんは何から手をつけますか? ボクの場合、製造業向けのサンプルアプリを探してつなぎ合わせようとしたんですけど、ある問題が、……。 今回は、ボクの前に立ちはだかった「最初の壁」と、ある方に教えてもらった「システム設計で最初にやるべきこと」をお話しします。

生産管理・工程管理システムに必要なアプリって何!?

「とりあえず何か形にしないと!」と思ったボクは、「kintone 製造業 サンプルアプリ」で調べました。 すると、無料で使えるアプリがいっぱいあるじゃないですか! 引用:kintone公式サイト ウチの工場に必要なアプリをこのなかから見繕って、つなぎ合わせれば生産管理システムができると思ったんです。 ところが、いっぱいありすぎて、どれを使ったらいいかわからへん! ウチの工場に必要なアプリってどれやねん! という状況に陥りまして……。

そもそもうちの生産工程ってどうなってるの?

サンプルアプリを見ていくと、工程ごとにアプリを入れるのが良さそうだと思いましたが、ここでも壁に衝突します。 そもそも、ウチの工場の工程ってどうなっているのかがわからなかったんです! 工程がわからなければ、必要なアプリも決められないと思いませんか? そこで、工場に行ってみたんですが、どういう名前の工程がどのようにつながっているのかって、見てもわからないんです。 工場で働くみんなは忙しそうで声を掛けることもできず、ボクはいったん事務所に戻りました。 入社半年も経つのに「ウチの工場ってどういう工程があるんですか?」なんて聞いたら、「こいつ半年間何してたんだ?」って思われそうじゃないですか。 実際、そんなこと言う人はいないんですけど。 いろいろ考えた結果、自力で何とかしなくては!と思い、再び机に向かったんです。

まずは工場全体の業務フロー図を描こう!

ボクが目を閉じてしばらく悩んでいると、どこからともなく声が聞こえてきました……。 「サンプルアプリをつなぎ合わせてもうまくいかないよ!」って。 考えすぎるあまり、寝ちゃったんだ、これは夢だって思いました。 「いけない、起きなきゃ」と思って目を開けると目の前にいたんです。あの方が。 そして言いました。 「わたしは古くからこの工場に住み着いている妖精、コー・ジョー。 工場のことならなんでも知っているよ!」 工場に妖精っているんですね。 もうボクは、本当にどうしたらいいのかわからなかったので、藁にもすがる思いでコーさんに助けを求めました。 「ボクはジムリンっていいます!コーさんは先輩ですよね? ボク、工場のことなにもわかっていないのに、生産管理システムを作らなくちゃいけなくて……。」 結論、ボクはコーさんから大きなヒントをもらいました。 ここからは、コーさんとボクのやりとりを忠実に再現しますね。 ボク 「サンプルアプリをつなぎ合わせる方法はダメなんですか? イチからアプリを作ると時間がかかりそうだし、あるモノを使ったほうが効率的だと思うんですが。」 コー・ジョー 「サンプルアプリをつなぎ合わせるやり方では、自社に最適化された生産管理システムは作れないよ。 たしかに、生産管理システムっぽい形にはなるけれど、自社のフローや業務に合っていなければすぐに使えなくなるね。 だから、まずは工場全体の業務フロー図を描いて、自社の課題から本当に必要な機能を見つけないと!」 あまり理解できていないボクに、コーさんは詳しく説明を始めました。

システム設計は「全体最適」で考えよう

コー・ジョー 「ジムリンの考え方は部分最適というよ。 最初に小さなアプリに注目すると、たしかに目の前の工程は改善されるかもしれないけれど、工場全体の流れの改善につながらないことがあるんだ。」 ボク 「工場全体の流れってどういうことですか?生産管理システムとどう関係があるんですか?」 コー・ジョー 「材料を仕入れるところからお客さまに届けるまでの一連の流れが「工場全体の流れ」だとしよう。 例えば、製造の工程が機械の不具合で止まってしまうと、どうなると思う?」 ボク 「あ、納期どおりに納品できなくなるかも……。」 コー・ジョー 「そう、だからそういったトラブルが起こらないように、また起こったときすぐに解決できるように、仕入情報や生産スケジュールなんかを管理するのが生産管理システムの役割になるよね。」 ボク 「なるほど、生産管理システムの役割って考えてなかったです。 話を戻しますが、なぜ部分最適で考えるとダメなんでしょうか?」 コー・ジョー 「工場全体を川に置き換えて考えてみよう。 必要そうなアプリを1つずつ作ると、それぞれが島のように点在する。 島のなかだけは便利になるかもしれないけれど、川の流れはどう?スピードは?」 ボク 「変わりませんね……。」 コー・ジョー 「そう!つまり工場全体の流れはちっとも変わらない。 これが部分最適なんだ。 例えば、受注管理や在庫管理など全部の工程をいっぺんに最適化しようとしたらどうなるかな? 各工程で要件を洗い出して、担当ごとにアプリを作って、細かい仕様を決めて......とやっているうちに、膨大な時間と労力がかかってしまう。 しかも、工場全体の流れは変わらない。 結局、全体の流れを意識せずにバラバラにアプリを作っても、結局は遠回りになるんだよ。 サンプルアプリを使ったとしても同じことだよね? だからこそ全体最適で考える必要があるんだ!」

大事なのは工場全体の「流れ」を見ること

ボク 「全体最適ってどういうことですか?さっきの話だと、川を見るってことですか? コー・ジョー 「そう、川に注目するんだ。 島を増やすことでも橋でつなぐことでもなく、川の流れそのものを良くする。 これはTOC理論と呼ばれる考え方に基づいていてね。 工場全体の流れを見たあとで、その流れをせき止めている部分(ボトルネック)を見つけ、そこを改善していくことがポイントなんだ。」 ボク 「TOC理論っていうのがあるんですね……。全然知らなかったです。 つまり、 流れを止めている場所を見極めて、集中的に改善するためのシステムを作ることで工場全体の流れが変わるってことですね!?」 コー・ジョー 「そう、全体を俯瞰して流れを意識する。 そうやって全体最適の視点で生産管理システムを設計すると、結果につながるんだ!」

工場全体の業務フローを描いてみよう!

ボク 「納得できました! TOC理論なるものがあるということは、製造業の人たちは部分最適で業務改善を図ろうとしてきて失敗をしてきたんでしょうね。 それで、全体最適でシステム設計をするには、何から始めるんでしょうか?」 コー・ジョー 「まずは、工場全体の流れを把握するために、業務フロー図を描いてみよう!」

業務フローは工場の入口から出口までを「ざっくり」描こう

ボク 「工場全体の業務って、どこからどこまで描けばいいんですか? 。」 コー・ジョー 「いい質問だね。生産管理に焦点をあてるなら、まずは工場の入口から出口までくらいで大丈夫! 受注から出荷までを一枚に描いてみれば十分だよ。 描いたあとで『ここは順番が違うよ』『この工程が抜けているよ』と周りにフィードバックをもらって修正すればいいので、まずはざっくり描いてみよう。」 ボク 「なるほど...。上流から下流までの川を描くイメージですね。 魚や石まで細かく描く必要はないと。」 コー・ジョー「そのとおり!」

業務フローを描くときは付箋・Excel・ITツールを使おう

コー・ジョー 「業務フロー図を描くときはツールを使おうね。大きく分けると3つあるよ。
  1. 付箋と模造紙を使う
  2. Excelを使う
  3. ITツールを使う
手書きでも十分だけど、共有や修正を考えるとExcelやITツールのほうが便利な場面も多いよ。」

draw.ioを使って業務フロー図を描いてみよう

ボク 「今回は、draw.ioを使ってみました!」 コー・ジョー 「draw.ioは、無料で使えるオンラインの図解ツールだね。 フローチャートや業務フロー図を簡単に作れるから、工場の流れを整理するのにぴったり!」 ボク 「はい。直感的に使えて、初心者のぼくでもすぐにフロー図を描けました!これです。 実際に描いてみると、工程ごとのつながりや順番がイメージしやすくなりました。 見にくいので 整理したものもご覧ください。 今まで工場の全体像ってわかっていませんでしたが、一枚の図に起こすとなんとなくわかってきますね。」 コー・ジョー「そう、それが大事なんだ。 これでシステム設計の第一歩は完了だよ。」

【教訓】 システム設計は工場全体の業務フローを描くところから! 「全体最適」の考え方が重要

妖精のコーさんのアドバイスがなければ、危うく部分最適の生産管理システムを使って、現場の人たちに「これは使えないね!」って言われちゃうところでした。 それだと作る意味がないし、時間の無駄ですもんね(;'∀') そもそも、何のために生産管理システムを作るのか、そのために何から考えるのかという視点が足りていなかったです。 今回、コーさんからボクが学んだことをまとめてみました。

・アプリを並べても、使える生産管理システムにはならない ・部分最適で進めると、手間や時間ばかりかかって遠回りになる ・大事なのは、工場全体の流れを意識して全体最適で考えること ・そのためには、まず工場全体の業務フローをざっくり描いて全体像をつかむこと

ボクと同じようにいきなりkintoneで生産管理システムを作れといわれた人がいたら、ぜひ参考にしてみてください。 次回は、今回作った業務フロー図をもとに生産管理システムを作ります! " ["post_title"]=> string(130) "kintoneで生産管理・工程管理システムを作るには何から始めるの?小さなアプリから作らない理由" ["post_excerpt"]=> string(0) "" ["post_status"]=> string(7) "publish" ["comment_status"]=> string(6) "closed" ["ping_status"]=> string(6) "closed" ["post_password"]=> string(0) "" ["post_name"]=> string(36) "kintone-production-management-system" ["to_ping"]=> string(0) "" ["pinged"]=> string(0) "" ["post_modified"]=> string(19) "2026-02-20 10:28:29" ["post_modified_gmt"]=> string(19) "2026-02-20 01:28:29" ["post_content_filtered"]=> string(0) "" ["post_parent"]=> int(0) ["guid"]=> string(45) "https://adiem.jp/?post_type=blog&p=15197" ["menu_order"]=> int(0) ["post_type"]=> string(4) "blog" ["post_mime_type"]=> string(0) "" ["comment_count"]=> string(1) "0" ["filter"]=> string(3) "raw" } [3]=> object(WP_Post)#4948 (24) { ["ID"]=> int(15032) ["post_author"]=> string(2) "12" ["post_date"]=> string(19) "2025-09-26 11:02:26" ["post_date_gmt"]=> string(19) "2025-09-26 02:02:26" ["post_content"]=> string(7342) "この記事は Claude Desktop → kintone 公式MCPサーバー をつなぐ最短手順をまとめたものです。 AIを駆使したkintoneの活用法や、AIを使った業務効率化に興味がある方は是非ご覧ください。 3通りのやり方(DXT/Docker/npm)を紹介し、どれを選んでも5分で接続できます。

前提(準備するもの)

  • kintone 環境(例:https://<subdomain>.cybozu.com
  • Claude Desktop(mac/Win/Linux) ※他のAI(GeminiやChatGPT)での利用は確認しておりません。
  • 認証情報:ユーザー名+パスワード もしくは APIトークン(必要最小権限でOK)
  • (Docker方式を使う場合)Docker が動く環境
  • (npm方式を使う場合)Node.js v18+(推奨 v20+)

やり方A:DXT(いちばんカンタン)

Claude Desktop の「拡張機能」に .dxt をドラッグ&ドロップするだけ。
  1. GitHubのリリースから kintone-mcp-server.dxt をダウンロード
  2. Claude Desktop を開き、設定 → デスクトップアプリ → 拡張機能 を表示
  3. ダウンロードした .dxt をウィンドウにドラッグ&ドロップ → インストール
  4. 表示される設定ダイアログで以下を入力して保存
    • Kintone Base URL:例 https://example.cybozu.com
    • Kintone Username / Password または API Token
  5. 新規チャットを作成し、ツールに kintone が見えればOK
※kintone公式ページはこちら 動作確認の例
  • kintone のアプリ一覧を取得して
  • アプリID=○○ の最新5件を表示して

やり方B:Docker(設定ファイルで管理したい人向け)

Claudeが stdio でコンテナを起動する構成。資格情報は環境変数として渡す。
  1. 画像を起動
docker run -i --rm \
  -e KINTONE_BASE_URL=https://example.cybozu.com \
  -e KINTONE_USERNAME=<username> \
  -e KINTONE_PASSWORD=<password> \
  ghcr.io/kintone/mcp-server:latest
  1. Claudeの設定ファイルを編集(mac:~/Library/Application Support/Claude/claude_desktop_config.json
{
  "mcpServers": {
    "kintone": {
      "type": "stdio",
      "command": "docker",
      "args": [
        "run","-i","--rm",
        "-e","KINTONE_BASE_URL",
        "-e","KINTONE_USERNAME",
        "-e","KINTONE_PASSWORD",
        "ghcr.io/kintone/mcp-server:latest"
      ],
      "env": {
        "KINTONE_BASE_URL": "https://example.cybozu.com",
        "KINTONE_USERNAME": "<username>",
        "KINTONE_PASSWORD": "<password>"
      }
    }
  }
}
  1. Claude を再起動→新規チャットで kintone ツールを選ぶ
APIトークン認証も可:KINTONE_API_TOKEN を設定(カンマ区切りで最大9個)。ユーザー名/パスワードと同時指定時はパスワード認証が優先

やり方C:npm(グローバル導入して使う)

  1. インストール
npm install -g @kintone/mcp-server
  1. 手動起動(デバッグ向け)
kintone-mcp-server \
  --base-url https://example.cybozu.com \
  --username <username> \
  --password <password>
  1. Claudeの設定に commandargs で同等指定(Docker例を command: "kintone-mcp-server" に置き換え)

認証・ネットワークのオプション

  • Basic認証KINTONE_BASIC_AUTH_USERNAME / KINTONE_BASIC_AUTH_PASSWORD
  • プロキシHTTPS_PROXY=http://proxy.example.com:8080
  • クライアント証明書(PFX)KINTONE_PFX_FILE_PATH / KINTONE_PFX_FILE_PASSWORD
  • 添付ダウンロード先KINTONE_ATTACHMENTS_DIRkintone-download-file を使う際は必須)

代表ツール(できること)

  • kintone-get-appskintone-get-app:アプリ情報の取得
  • kintone-get-form-fieldskintone-get-form-layout:フィールド・レイアウト取得
  • kintone-get-recordskintone-add-recordskintone-update-recordskintone-delete-records
  • kintone-update-statuses:レコードのプロセス管理ステータス更新
  • kintone-download-file添付ファイル保存(保存先ディレクトリの指定が必要)

トラブルシューティング

  • ツールが出てこない:JSONの末尾カンマやクォートを確認 → Claudeを完全再起動
  • 認証で失敗Base URL のスペル(https://<subdomain>.cybozu.com)と認証方式(ユーザー/パス or APIトークン)を見直し
  • ゲストスペース非対応:ゲストスペースのアプリにはアクセス不可(制限仕様)
  • 添付の保存エラーkintone-download-fileKINTONE_ATTACHMENTS_DIR の指定が必須

セキュリティと権限

  • 本番ではAPIトークン認証最小権限を推奨(読み取り専用→書き込み系は別トークン)
  • 監査のため、kintone側に**実行ログ(日時/実行ID/操作内容)**を残す設計にすると安全

まとめ

  • DXTならドラッグ&ドロップで最短接続、Docker/npmなら構成管理しやすい
  • 主要操作(取得・追加・更新・削除・ステータス更新・添付DL)は標準ツールでカバー
  • 認証はユーザー/パス or APIトークン。プロキシや証明書にも対応
  • AIを通して自然言語でkintoneアプリに対する操作が行える
[cta]" ["post_title"]=> string(69) "【AI活用】kintoneが正式にMCP対応したので使ってみた" ["post_excerpt"]=> string(0) "" ["post_status"]=> string(7) "publish" ["comment_status"]=> string(6) "closed" ["ping_status"]=> string(6) "closed" ["post_password"]=> string(0) "" ["post_name"]=> string(21) "kintone-officeial-mcp" ["to_ping"]=> string(0) "" ["pinged"]=> string(0) "" ["post_modified"]=> string(19) "2026-04-12 11:19:41" ["post_modified_gmt"]=> string(19) "2026-04-12 02:19:41" ["post_content_filtered"]=> string(0) "" ["post_parent"]=> int(0) ["guid"]=> string(45) "https://adiem.jp/?post_type=blog&p=15032" ["menu_order"]=> int(0) ["post_type"]=> string(4) "blog" ["post_mime_type"]=> string(0) "" ["comment_count"]=> string(1) "0" ["filter"]=> string(3) "raw" } [4]=> object(WP_Post)#4951 (24) { ["ID"]=> int(14897) ["post_author"]=> string(2) "12" ["post_date"]=> string(19) "2025-07-15 11:16:23" ["post_date_gmt"]=> string(19) "2025-07-15 02:16:23" ["post_content"]=> string(0) "" ["post_title"]=> string(133) "最近話題の「kintoneセミオーダー型アプリケーション」って?メリットをまるっと解説【製造業編】" ["post_excerpt"]=> string(0) "" ["post_status"]=> string(7) "publish" ["comment_status"]=> string(6) "closed" ["ping_status"]=> string(6) "closed" ["post_password"]=> string(0) "" ["post_name"]=> string(27) "kintone-semiorder-app-merit" ["to_ping"]=> string(0) "" ["pinged"]=> string(0) "" ["post_modified"]=> string(19) "2025-11-25 11:34:54" ["post_modified_gmt"]=> string(19) "2025-11-25 02:34:54" ["post_content_filtered"]=> string(0) "" ["post_parent"]=> int(0) ["guid"]=> string(45) "https://adiem.jp/?post_type=blog&p=14897" ["menu_order"]=> int(0) ["post_type"]=> string(4) "blog" ["post_mime_type"]=> string(0) "" ["comment_count"]=> string(1) "0" ["filter"]=> string(3) "raw" } [5]=> object(WP_Post)#4988 (24) { ["ID"]=> int(14003) ["post_author"]=> string(2) "12" ["post_date"]=> string(19) "2023-11-22 11:33:37" ["post_date_gmt"]=> string(19) "2023-11-22 02:33:37" ["post_content"]=> string(0) "" ["post_title"]=> string(69) "展示会ご来場の御礼&オンライン体験開始日決定!" ["post_excerpt"]=> string(0) "" ["post_status"]=> string(7) "publish" ["comment_status"]=> string(6) "closed" ["ping_status"]=> string(6) "closed" ["post_password"]=> string(0) "" ["post_name"]=> string(16) "grow-online-demo" ["to_ping"]=> string(0) "" ["pinged"]=> string(0) "" ["post_modified"]=> string(19) "2025-10-31 10:10:58" ["post_modified_gmt"]=> string(19) "2025-10-31 01:10:58" ["post_content_filtered"]=> string(0) "" ["post_parent"]=> int(0) ["guid"]=> string(45) "https://adiem.jp/?post_type=blog&p=14003" ["menu_order"]=> int(0) ["post_type"]=> string(4) "blog" ["post_mime_type"]=> string(0) "" ["comment_count"]=> string(1) "0" ["filter"]=> string(3) "raw" } } ["post_count"]=> int(6) ["current_post"]=> int(-1) ["before_loop"]=> bool(true) ["in_the_loop"]=> bool(false) ["post"]=> object(WP_Post)#4949 (24) { ["ID"]=> int(15356) ["post_author"]=> string(2) "13" ["post_date"]=> string(19) "2025-12-02 08:07:44" ["post_date_gmt"]=> string(19) "2025-12-01 23:07:44" ["post_content"]=> string(20189) "

kintoneがあるのに「検索係」が必要な状態は、Difyで改善できる

データの確認で仕事が止まる!「Dify」で解決したいが、自分にできるのか?

kintoneにデータが蓄積されているのに、結局PCを使える自分が検索して答えていませんか?現場や他部署からデータの問い合わせがあるたびに手が止まり、ただの「検索係」になっているのが現状です。 検索係になっている社員 最近になって「Dify」「n8n」などの自動化ツールが登場しており、聞いたことがある方もいるでしょう。 しかし「AIチャットボットを作れば解決する」と聞いても、「API」や「JSON」といった専門用語の壁を感じるのではないでしょうか。 専門用語に困っている非エンジニアの社員 非エンジニアにとってプログラミングの学習コストは高く、「失敗して時間を無駄にしたくない」「自分には無理だ」と二の足を踏むのは当然です。 しかし、その悩みは技術の進歩によって過去のものになりつつあります。

Difyにサイボウズ公式の「kintoneプラグイン」が登場!

実は最近、Difyに「kintone連携プラグイン」が標準搭載されました。 これを使えば、難解なプログラミングコードを書くことなく、ブロックを並べるだけで連携できます。 これまでエンジニアに依頼していた設定が、直感的な操作だけで完結するようになりました。 dify-kintone-ai 本記事では、実際に作成した「レコード集計・分析チャットボット」を例に、プラグインの設定手順と活用例、初心者がつまずきやすいポイントを丁寧に解説します。 まずはプラグインを活用し、業務効率化の第一歩を踏み出しましょう。 チャットボット画面

プラグインで「HTTPリクエスト」のハードルが消滅。非エンジニアでも設定しやすい仕様に

最大の挫折ポイント「ヘッダー・パラメータ」からの解放

Difyはノーコードで設定できる手軽さが特徴のツールですが、kintoneとの連携では「HTTPリクエストブロック」という機能を使う必要がありました。この機能を使う際は「API」や「webhook」などの設定が必要になります。そこで「ヘッダー設定」「JSONパラメータ」といった専門用語を理解する必要がありました。 httpリクエスト しかも場合に応じて入力欄にデータを入れたり入れなかったりするため、「そもそもここに何を入れるべきなのか?」「入れるべき情報は分かったが、どこで確認できるのか?」という事態が頻繁に発生します。このハードルが多くの非エンジニアを惑わせ、挫折させてきました。 httpリクエストブロック

「難しいAPI連携」は過去の話。今は「穴埋め問題」レベル

しかしプラグインではこれらの設定に必要な項目があらかじめ入力欄として用意されているため、どの情報が必要なのかすぐに理解できます。また、その情報をkintoneからどう取得すれば良いか、簡単な例と一緒に記載されています。 そのため設定は必要な情報をガイドに従って入力するだけの「穴埋め」感覚で完了し、本来の目的である「どう連携させるか」という業務設計に集中できるのです。

【利用手順】簡単インストール後、すぐにブロックとして実行できる!

プラグインの導入はDifyの「プラグインストア」から検索して「インストール」ボタンを押すだけでOK。 kintoneプラグインのインストール インストール後は以下の手順でkintoneのデータにアクセスできます。

kintoneブロックの操作手順

  1.  Difyでkintoneブロックを設置
    • レコードの取得・追加・編集ができるので、機能を選択する
  2.  使用しているkintoneのドメインを入力する
    • (例)kintoneのURLが"https://XXX.cybozu.com"であれば、ドメインは「XXX」
  3.  kintoneアプリの設定画面からAPIトークンを生成し、Difyに入力する
    • APIトークンの生成方法はこちら(kintone公式サイト)
  4. 適用したいアプリのIDをブロックに入力する
    • (例)アプリのURLが"https://XXX.cybozu.com/k/4329/"であれば、アプリIDは「4329」
  5. 用途に合わせてレコードを操作する
    • レコード取得→レコードの検索条件を入力
    • レコード追加→追加したいレコードのデータを入力
    • レコード編集→編集したいレコードのIDとフィールド、および更新データを入力
詳しくはサイボウズ公式ページをご覧ください。

【活用例】Difyチャットボットで検索業務を効率化。標準機能にはできない「アプリまたぎ」の参照も

例としてkintoneのレコードを集計・分析するチャットボットを作ってみたので、どのように活用されるか見てみましょう。 チャットボットイメージ

実践シナリオ:チャットで「データ分析」を完結させる

今回作成するボットは、案件管理アプリの画面上に設置して使用します。ユーザーが質問すると、裏側でDifyがkintoneレコードを集計・分析し、結果を表示します。 わざわざフィルターをかけて検索する必要がなく、「データ集計」のためだけに画面を移動する無駄な手間が解消されます。

システム構成

  • kintoneアプリ:今回はサンプルとして「案件管理」のアプリを利用します。案件単位で[会社名、案件名、金額、提案商品]などの情報が記録されています。
案件管理アプリ
  • Difyワークフロー:今回は「チャットフロー」の仕組みを利用します。
チャットフロー

活用例

kintoneのアプリ上にデータ分析チャットボットのボタンを設置しました。起動すると裏側でDifyが自動的にレコードを取得する仕組みになっています。 difyチャット画面 レコードについて分析したい内容を指示してみましょう。今回は会社ごとに売上を集計するように指示してみます。 チャット中 すると、集計結果と簡単なレポートが出力されました。 チャット回答1チャット回答2 このようなチャットを構築することで、画面を切り替えることなくkintoneアプリの内容を把握し、報告書作成や問い合わせ対応に活用することができます。 また、Difyの連携機能をもっと活用すると、生成AIの回答内容を自動でドキュメント(Google docsなど)に出力させて、レポート資料を作成することもできます。

【落とし穴と対策】API権限とJSONの壁はこう乗り越える

このようなチャットボットの設定時には、初心者が陥りやすい2つの落とし穴に注意しましょう。 API権限の設定
  • kintoneブロックの設定時に、データを取得したいアプリのAPI権限が必要です。
  • 参照先アプリでの「APIトークン権限」の設定漏れが起きやすいので注意しましょう。
APIトークンの設定 JSON形式のデータの取り扱い
  • kintoneブロックから取得したデータはJSON形式になっていますが、そのままではDifyのLLMブロックに入力できません。
  • コードブロックによるデータ変換が必要となるので、以下のコードテンプレートを使用します。
コードブロック 【テンプレート】JSON形式のデータを表形式に変換するPythonコード
  • 下記のコードはkintoneのレコードから[会社名、案件名、金額、提案商品]のデータを抽出できます。
  • 適用したいアプリに合わせてフィールド名を変更してください。
import json
from typing import List, Dict, Any

def main(kintone_records: List[Dict[str, Any]]) -> Dict[str, str]:
    """
    Processes Kintone records to generate a Markdown table.

    Args:
        kintone_records: A list containing Kintone record data.

    Returns:
        A dictionary with the key 'result' containing the Markdown table string.
    """
    # Difyの入力変数からKintoneのJSONデータを取得
    try:
        kintone_data_list = kintone_records
        if not kintone_data_list:
            # 入力データが空の場合のエラーメッセージを返す
            return {"result": "エラー: 入力変数 'kintone_records' が空です。"}
    except Exception:
        # 入力変数にアクセスできない場合のエラーメッセージを返す
        return {"result": "エラー: 入力変数 'kintone_records' の取得に失敗しました。"}

    # KintoneのJSON構造([{"records": [...]}])からレコード配列を取得
    if not isinstance(kintone_data_list, list) or not kintone_data_list or "records" not in kintone_data_list[0]:
        # JSON構造が想定外の場合、エラーメッセージを返す
        return {"result": "エラー: Kintoneデータ構造が予期された形式ではありません。"}

    records = kintone_data_list[0]["records"]

    # ----------------------------------------------------
    # 1. データ抽出と整形
    # ----------------------------------------------------

    table_rows = []

    for record in records:
        try:
            sales_str = record.get("売上", {}).get("value")
            sales_value = float(sales_str) if sales_str else 0
            formatted_sales = f"¥{sales_value:,.0f}"
        except (ValueError, TypeError):
            formatted_sales = "N/A"

        item = {
            "案件名": record.get("案件名", {}).get("value") or "",
            "会社名": record.get("会社名", {}).get("value") or "",
            "提案商品": record.get("提案商品", {}).get("value") or "",
            "売上": formatted_sales
        }
        table_rows.append(item)

    # ----------------------------------------------------
    # 2. Markdownテーブルの構築
    # ----------------------------------------------------

    headers = ["案件名", "会社名", "提案商品", "売上"]
    markdown_table = "| " + " | ".join(headers) + " |\\n"
    alignment = [":---:"] * (len(headers) - 1) + ["---:"]
    markdown_table += "| " + " | ".join(alignment) + " |\\n"

    for row in table_rows:
        values = [str(row.get(h, "")) for h in headers]
        markdown_table += "| " + " | ".join(values) + " |\\n"

    # ----------------------------------------------------
    # 3. 結果の出力
    # ----------------------------------------------------

    return {"result": markdown_table}
  【補足】コード調整用プロンプト
  • もし「コードの書き換えも面倒くさい…」と思う場合は、LLMに任せてしまいましょう。
  • フィールド名を書き換えて、上記のコードをコピペして貼り付けると、調整したコードが出力されます。
## 前提
以下の「サンプルコード」は、kintoneから取得したjsonデータをmarkdown形式の表に変換するためのコードである。
このコードでは、取得するkintoneデータのフィールドは[案件名,会社名,提案商品,売上]の4種類を指定している。

## 指示
取得するkintoneデータのフィールドを変更したい。
後述する「取得したいフィールド名」のデータを取得し、markdown形式の表を出力するように、コードを修正せよ。

## 取得したいフィールド名
- {フィールド名1}
- {フィールド名2}
- {フィールド名3}

## サンプルコード
//上記のPythonコードをそのまま貼り付ける//
このようにテンプレートとLLMをうまく活用することで、プログラミングの壁を突破できます。

「レコード一覧分析AI」との決定的な違いは「アプリの壁」

このような活用方法を見ると、kintoneの一機能である「レコード一覧分析AI」と変わらないと思う方もいるかもしれません。 レコード分析AI しかし「レコード一覧分析AI」には制約があります。それは基本的に「今開いているアプリ」のデータしか扱えないという点です。 たとえば案件管理アプリを開いている最中に、取引先の担当者の情報を確認したいケースを考えます。このデータは「顧客管理アプリ」という別のアプリで管理されているため、レコード一覧分析AIで質問しても回答が得られません。これではデータの確認のために別画面を開く手間が生じてしまいます。 チャットで参照失敗 対してDifyは、kintoneブロックをワークフローに追加することでデータの参照先を増やすことができます。つまりチャットの中で「今開いていないアプリのデータ」にもアクセスできるのです。 このアプリを横断して連携できる「自由度の高さ」が、Difyを使うメリットの1つといえます。

まずはプラグインで簡単な連携から。データ活用で現場を自走させよう

小さく始めて大きく育てる。次はもう一段先の活用へ

このような自動化を成功させるコツは「最初はシンプルな機能で確実に稼働させること」です。操作に慣れてきたら、日報の要約や不良品データの傾向分析などの複雑な連携に挑戦すると良いでしょう。 dify-kintone-ai

「検索」ではなく「仕組み作り」に注力しよう

kintoneとDifyを連携させる目的は、単に楽をすることだけではありません。「検索係」という受動的な業務から卒業し、データを現場が活用できる「仕組み」を作ることこそ、生産管理で目指すべきステップといえます。まずは無料版やトライアルを利用し、プラグインの便利さを体感してみてください。 [cta]" ["post_title"]=> string(141) "【脱・検索係】非エンジニアでもkintoneとDifyを簡単に連携!kintoneプラグインでデータ処理を自動化しよう" ["post_excerpt"]=> string(0) "" ["post_status"]=> string(7) "publish" ["comment_status"]=> string(6) "closed" ["ping_status"]=> string(6) "closed" ["post_password"]=> string(0) "" ["post_name"]=> string(19) "kintone-dify-plugin" ["to_ping"]=> string(0) "" ["pinged"]=> string(0) "" ["post_modified"]=> string(19) "2026-04-12 11:20:44" ["post_modified_gmt"]=> string(19) "2026-04-12 02:20:44" ["post_content_filtered"]=> string(0) "" ["post_parent"]=> int(0) ["guid"]=> string(45) "https://adiem.jp/?post_type=blog&p=15356" ["menu_order"]=> int(0) ["post_type"]=> string(4) "blog" ["post_mime_type"]=> string(0) "" ["comment_count"]=> string(1) "0" ["filter"]=> string(3) "raw" } ["comment_count"]=> int(0) ["current_comment"]=> int(-1) ["found_posts"]=> int(36) ["max_num_pages"]=> int(4) ["max_num_comment_pages"]=> int(0) ["is_single"]=> bool(false) ["is_preview"]=> bool(false) ["is_page"]=> bool(false) ["is_archive"]=> bool(true) ["is_date"]=> bool(false) ["is_year"]=> bool(false) ["is_month"]=> bool(false) ["is_day"]=> bool(false) ["is_time"]=> bool(false) ["is_author"]=> bool(false) ["is_category"]=> bool(false) ["is_tag"]=> bool(true) ["is_tax"]=> bool(false) ["is_search"]=> bool(false) ["is_feed"]=> bool(false) ["is_comment_feed"]=> bool(false) ["is_trackback"]=> bool(false) ["is_home"]=> bool(false) ["is_privacy_policy"]=> bool(false) ["is_404"]=> bool(false) ["is_embed"]=> bool(false) ["is_paged"]=> bool(true) ["is_admin"]=> bool(false) ["is_attachment"]=> bool(false) ["is_singular"]=> bool(false) ["is_robots"]=> bool(false) ["is_favicon"]=> bool(false) ["is_posts_page"]=> bool(false) ["is_post_type_archive"]=> bool(false) ["query_vars_hash":"WP_Query":private]=> string(32) "f3afc7855542e265ec1e7c96ebcacd11" ["query_vars_changed":"WP_Query":private]=> bool(true) ["thumbnails_cached"]=> bool(false) ["allow_query_attachment_by_filename":protected]=> bool(false) ["stopwords":"WP_Query":private]=> NULL ["compat_fields":"WP_Query":private]=> array(2) { [0]=> string(15) "query_vars_hash" [1]=> string(18) "query_vars_changed" } ["compat_methods":"WP_Query":private]=> array(2) { [0]=> string(16) "init_query_flags" [1]=> string(15) "parse_tax_query" } ["query_cache_key":"WP_Query":private]=> string(41) "wp_query:2c8e876ec36dfbb63b0a96002a15778d" } -->
  1. サムネイル画像

    【脱・検索係】非エンジニアでもkintoneとDifyを簡単に連携!kintoneプラグインでデータ…

  2. Factory Bottlenecks - How to Find Them

    工場のボトルネック工程はどこ?人や機械に注目してタスクの滞留点を見つけよう

  3. Production management system - kintone-Process management system - Overall optimization

    kintoneで生産管理・工程管理システムを作るには何から始めるの?小さなアプリから作らない理由

    【AI活用】kintoneが正式にMCP対応したので使ってみた

    最近話題の「kintoneセミオーダー型アプリケーション」って?メリットをまるっと解説【製造業編】

    展示会ご来場の御礼&オンライン体験開始日決定!