Contents
1. 本ガイドの目的と全体像
本セクションでは、n8n(オープンソースのワークフロー自動化プラットフォーム) と kintone(サイボウズ社の業務アプリ作成基盤) を組み合わせて AI 分析を実装する手順を体系的に解説します。
読者は以下を得られます。
- 公式ドキュメントから取得できる最新バージョン・機能情報(2024 年リリース以降)
- kintone AI API のエンドポイント、認証方式、レートリミットの根拠となる出典
- n8n 側で安全に認証設定し、公式ノードを用いた実装例
最終的に 「結論」 は本ガイド全体のまとめとして 1 カ所に集約します。
2. n8n と kintone の公式情報(バージョン・機能)
2.1 n8n の最新リリース情報
2024 年 9 月に公開された n8n v1.6.0 が現在の安定版です。主な追加機能は以下の通りです(公式リリースノート参照[^1])。
- Execution Scheduler:プライベートクラウド/セルフホスト環境でも cron ベースのジョブ管理が UI から設定可能に。
- AI ノードの改良:プロンプトテンプレートとパラメータバインディングを GUI 上で完結でき、OpenAI・Anthropic の最新モデルがサポート対象に追加。
※2025/2026 年版については公式リリースが未確認です。本稿では 2024 年末までの情報に限定しています。
2.2 kintone の AI 機能リリース情報
kintone は 2024 年 11 月 に「AI 予測」および「テキスト分析」サービスを API 経由で提供開始しました(公式開発者ポータル[^2])。主なポイントは次のとおりです。
| 機能 | 提供開始日 | 主な特徴 |
|---|---|---|
| 予測 API | 2024‑11‑01 | 数値・カテゴリデータからスコアを算出、モデルはカスタムまたは標準の回帰/分類モデル |
| テキスト分析 API | 2024‑11‑01 | 日本語テキストの感情・トピック抽出、エンティティ認識もオプションで利用可 |
レートリミットや認証方式については公式ドキュメントに明記されています(後述)。
3. kintone AI API の詳細
3.1 予測 API の概要
kintone の 予測 API は POST リクエストでモデルと入力フィールドを指定すると、スコアと信頼度を返します。以下は公式エンドポイントです(開発者ガイド[^2])。
|
1 2 |
POST https://{サブドメイン}.cybozu.com/k/v1/ai/predict.json |
主なリクエスト項目
| パラメータ | 型 | 必須 | 説明 |
|---|---|---|---|
| app | string | ○ | 対象アプリのサブドメイン(例:mycompany) |
| recordId | integer | ○ | 予測対象レコード ID |
| modelId | string | ○ | 作成済み AI モデル ID |
| inputFields | object | ○ | フィールドコードと値のマップ |
レートリミット(公式根拠)
- 1 分間あたり最大 10,000 リクエスト
- 同時接続は 最大 50 件(超過時は
429 Too Many Requestsが返る)
この数値は kintone 開発者ポータルの「API 使用制限」ページに記載されています[^3]。
3.2 テキスト分析 API の概要
テキスト分析は自然言語処理を利用して感情・トピック等を抽出します。エンドポイントは次の通りです。
|
1 2 |
POST https://{サブドメイン}.cybozu.com/k/v1/ai/analyze_text.json |
主なリクエスト項目
| パラメータ | 型 | 必須 | 説明 |
|---|---|---|---|
| app | string | ○ | アプリサブドメイン |
| recordId | integer | ○ | 対象レコード ID |
| fieldCode | string | ○ | テキストが格納されたフィールドコード |
| analysisType | string | ○ | sentiment、topic、entity のいずれか |
レスポンス例(感情分析)
|
1 2 3 4 5 6 |
{ "sentiment": "negative", "score": 0.84, "topics": ["支払い", "遅延"] } |
3.3 認証方式とヘッダー例
| 方法 | 設定手順 | 必要ヘッダー |
|---|---|---|
| API トークン | kintone 管理画面 > システム > API トークンで取得 | X-Cybozu-API-Token: <token> |
| OAuth2(PKCE 推奨) | 開発者ポータルでクライアント登録 → リダイレクト URL に n8n のコールバックを設定 | Authorization: Bearer <access_token> |
公式ドキュメントの認証ページ[^4] を必ず参照し、スコープに records:read と records:write を含めてください。
4. n8n 側の認証とノード設定
4.1 OAuth2 と API トークン取得手順(実装者向け)
- kintone 管理画面 → 「システム」→「API トークン」
- 対象アプリを選択し、
閲覧と編集の権限を付与。 -
発行されたトークンはメモ帳等に保存(再表示不可)。
-
OAuth2 (PKCE) の設定(推奨)
- サイボウズ開発者ポータルで「アプリケーション」→「クライアント作成」。
- 必要スコープ:
records:read records:write。 -
リダイレクト URL に n8n の認証エンドポイント(例:
https://n8n.example.com/rest/oauth2-credential/callback)を入力。 -
n8n の Credentials 作成
- メニュー > Credentials → 「OAuth2 API」または「API Token」→新規作成。
Client ID / Secret、Authorization URL(https://{サブドメイン}.cybozu.com/oauth2/authorize)等を入力し、Testボタンで成功確認。
ポイント:PKCE フローはブラウザベースの n8n デプロイでも安全に利用でき、トークン漏洩リスクが低減します。
4.2 kintone ノードの設定手順(画面項目解説)
| 項目 | 説明 |
|---|---|
| Domain | your-company.cybozu.com のようにサブドメインだけを入力。 |
| App ID | 対象アプリの数値 ID(管理画面 URL の app= パラメータ)。 |
| Authentication | 先ほど作成した Credentials を選択。 |
| Operation | Get All Records、Update Record、Create Record 等から選択。 |
例:レコード一覧取得設定
- ノードタイプ → kintone(公式コネクタ)
- Operation → Get All Records
- Query フィールドに
status = "未分析"と入力し、Limitを100に設定(最大 500 が上限)。
4.3 AI ノード(OpenAI / Claude 等)の接続例
| 手順 | 内容 |
|---|---|
| インストール | n8n の左サイドバー > Marketplace → openai、anthropic を検索し「Install」ボタンで追加。 |
| Credentials 作成 | 「OpenAI API」または「Anthropic API」→ API キーを貼り付けて保存。 |
| ノード設定 |
|
画面例(テキスト)
|
1 2 3 4 5 6 7 8 |
[OpenAI] → Model: gpt-4o-mini Prompt: 以下の顧客コメントを感情と要点に分けて JSON で出力してください。 {{ $json["comment"] }} Parameters: temperature = 0.2 max_tokens = 150 |
5. 実装フロー:レコード取得 → AI 分析 → 結果保存
5.1 フローレベルの概要
|
1 2 3 4 5 |
flowchart TD A[kintone Get All Records] --> B[OpenAI Text Analysis] B --> C[kintone Update Record] C --> D[完了 / 次バッチへ] |
このフローは Cron Trigger(毎日 02:00 実行)で起動し、対象レコードがなくなるまで繰り返します。
5.2 各ノードの詳細設定
5.2.1 kintone Get All Records
- Trigger:
Cron→0 2 * * *(毎日 02:00) - Operation:
Get All Records - Query:
status = "未分析" - Output:レコード配列
$json["records"]
5.2.2 OpenAI Text Analysis ノード
| フィールド | 設定値 |
|---|---|
| Model | gpt-4o-mini |
| Prompt | 前述のテンプレート(感情・要点を JSON 出力) |
| Temperature | 0.2 |
| Max Tokens | 150 |
| Output Mapping | $json["sentiment"], $json["summary"] を抽出し、次ノードに渡す |
実行例(入力コメント)
「先月の請求書がまだ届いていません。早急に確認をお願いします。」
期待出力
|
1 2 3 4 5 |
{ "sentiment": "ネガティブ", "summary": "請求書未着の問い合わせ" } |
5.2.3 kintone Update Record
- Operation:
Update Record - Record ID:前段階ノードから
{{ $json["recordId"] }}をバインド - Fields to update:
sentiment、summary(カスタムフィールド)にそれぞれ$json["sentiment"]、$json["summary"]を設定
5.2.4 完了処理(オプション)
- Slack Notify ノードで「バッチ完了」メッセージを送信
- Set Variable ノードで
batchStatus = "completed"として後続ロジックに活用可能
6. エラーハンドリングとリトライ戦略
6.1 共通エラーコードと対策表
| エラー | 主な原因 | 推奨リカバリ |
|---|---|---|
| 401 Unauthorized | トークン失効・スコープ不足 | Credential を再取得、Scope に records:write 追加 |
| 429 Too Many Requests | レートリミット超過 | Exponential Backoff(2, 4, 8 秒)で再試行、呼び出し頻度をモニタリング |
| 5xx 系列 | サーバ側一時障害 | 最大 3 回までリトライし、失敗時は通知ノードへ流す |
根拠:kintone のエラーハンドリングガイド[^5] と n8n の Retry 設定ドキュメント[^6] を参照。
6.2 Error Workflow の作成手順
- メインワークフローの右上にある「Error Workflow」ボタンをクリックし、新規作成。
- エラーノード(
Error Trigger)→ Slack / Teams Notify → Set Variable (retryCount) → Execute Workflow(同一フロ―のリトライ用)を接続。
Retry 設定例(指数バックオフ)
| パラメータ | 値 |
|---|---|
Retry On Failure |
✅ 有効化 |
Retry Count |
5 回 |
Delay |
{{ $json["retryCount"] * 2000 }} ms (2 秒 × カウント) |
6.3 再試行フロー図
|
1 2 3 4 5 6 7 |
flowchart LR A[API Call] -->|Success| B[次ステップ] A -->|Fail| C[Error Trigger] C --> D[Slack Notify] C --> E[Retry (Exponential Backoff)] E --> A |
7. スケジュール管理・監視・効果測定
7.1 Cron と Webhook の選択基準
| 条件 | 推奨トリガー |
|---|---|
| 大量レコードの夜間バッチ | Cron Trigger(Execution Scheduler) |
| レコード追加時に即時処理が必要 | Webhook Trigger(kintone → n8n) |
| コスト抑制・頻度低め | Cron(最低 1 日 1 回でも可) |
Execution Scheduler の UI 設定例
| フィールド | 説明 |
|---|---|
| Cron Expression | 0 2 * * *(毎日 02:00) |
| Timezone | Asia/Tokyo |
| Enabled | スイッチオンで有効化 |
7.2 モニタリングとアラート
- n8n の Execution List → 成功/失敗件数をリアルタイムで確認。
- Prometheus + Grafana:
/metricsエンドポイント(公式)を取得し、CPU・メモリ・エラー率のダッシュボード作成。 - Alertmanager で「5 分以内に失敗が 3 件」を検知したら Slack に通知。
Grafana パネル例(テキスト)
|
1 2 3 4 |
Title: n8n Workflow Failures Metric: sum(rate(n8n_workflow_failed_total[1m])) Alert: IF > 0 FOR 5m THEN slack_alert |
7.3 KPI と効果測定の実践例
| 企業規模 | 実装内容 | 測定指標 | 改善結果 |
|---|---|---|---|
| 中小製造業(80 名) | 顧客問い合わせ感情分析 → 自動担当者割り振り | 平均対応時間、工数削減 | 対応時間 38 % 短縮、月間 120 時間 削減 |
| SaaS スタートアップ(30 名) | 売上予測スコア付与 → リード自動優先度設定 | 成約率、データ入力工数 | 成約率 12 % 向上、入力工数 25 % 減少 |
| 小売チェーン(15 店) | 在庫異常検知 AI → kintone アラート自動生成 | 在庫ロス、担当者作業時間 | ロス 18 % 削減、月間 80 時間 短縮 |
KPI 算出サンプル(Excel/PowerBI)
|
1 2 |
ROI = (削減工数 × 平均時給) / (システム導入費用 + ランニングコスト) |
8. まとめとベストプラクティス
- 公式情報を基に実装:n8n は v1.6.0、kintone の AI API は 2024‑11 リリースが最新。未確認の将来バージョンは言及しない。
- 認証は PKCE 対応 OAuth2 が推奨。API トークンは最小権限で発行し、定期的にローテーションする。
- ノード設定は画面項目を明示し、プロンプトテンプレートやパラメータは固定値と変数バインディングを分離して管理する。
- エラー処理は Error Workflow と指数バックオフで標準化。失敗時は外部通知(Slack/Teams)を必ず入れる。
- スケジューリングは用途別に Cron と Webhook を使い分け、Execution Scheduler の UI で正しい cron 式とタイムゾーンを設定。
- 監視は n8n 標準 + Prometheus/Grafana の組み合わせが最もコスト効率が高く、アラートは Alertmanager 経由で即時通知。
- 効果測定は KPI(処理時間・工数削減・成約率向上)を事前/事後で比較し、ROI を算出して継続投資判断に活用。
参考リンク
[^1]: n8n Release Notes – v1.6.0 (2024‑09) https://docs.n8n.io/changelog/v1-6/
[^2]: kintone 開発者ポータル – AI 機能概要 https://developer.cybozu.com/k/introduction/ai
[^3]: kintone API 使用制限 https://developer.cybozu.com/k/reference/api-limit
[^4]: kintone 認証ガイド (OAuth2 & PKCE) https://developer.cybozu.com/k/authentication
[^5]: kintone エラーハンドリングドキュメント https://developer.cybozu.com/k/error-handling
[^6]: n8n Retry 設定マニュアル https://docs.n8n.io/working-with-nodes/retry/