こんにちわ、バンコクで1週間風邪を引いた後に、食あたりでゲボ吐いて高熱出してた、ノベルワークスのまとっち(@matoi_thai)です。
ほぼ非エンジニアの僕が、生成AIにひたすら教えてもらって、kintoneで商談文字起こしをAIが自動で評価してくれるシステムを作ったので、記事として残しておきます。
こんな人に見てほしい👀
- 営業の品質を数値化して改善したい人
- AIを活用した業務改善に興味がある人
商談の文字起こしデータをkintoneに入れると、Gemini AIが営業パフォーマンスを項目で評価して、改善点まで教えてくれるシステムです。
- kintoneに商談文字起こしを入力 → レコードとして新規登録する
- AIによる評価実行 → ワンクリックでGemini AIが分析する
- 結果を自動反映 → 6つの⭐評価・5つの✅評価・具体的な改善点を表示する
下記の3層構成で動作します。
- ① kintone(フロントエンド)
- ② Google Cloud Run(APIサーバー)
- ③ Gemini AI(評価エンジン)
① kintone(フロントエンド)
役割: ユーザーインターフェースと評価結果の表示
技術: JavaScript、Kintone UI Component、SweetAlert2
- kintoneアプリに「文字起こし」フィールド(文字列複数行)を作成
- 評価結果用フィールド(6つの⭐評価・5つの✅評価・具体的な改善点)を作成
- 「AIによる評価を実行」ボタンを配置し、ボタン押下で処理開始
👇データ処理フロー概要(一部抜粋)
// ①現在のレコードから文字起こしデータを取得
const currentRecord = kintone.app.record.get().record;
const transcript = currentRecord['文字起こし'].value;
// ②外部APIにPOSTリクエスト送信
const apiUrl = 'https://gemini-api-XXXXXXXXXXXX.asia-northeast1.run.app/';
const response = await fetch(apiUrl, {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({ prompt: transcript })
});
// ③評価結果をkintoneレコードに反映
const body = {
app: kintone.app.getId(),
id: kintone.app.record.getId(),
record: recordToUpdate
};
await kintone.api(kintone.api.url('/k/v1/record.json', true), 'PUT', body);
② Google Cloud Run(APIサーバー・バックエンド)
役割: kintoneとGemini AIの仲介、プロンプト管理
技術: Python Flask、generativeai、flask-cors
- PythonのFlask APIをコンテナ化
- 環境変数
GEMINI_API_KEY
でAPIキーを設定 - kintoneからのCORSリクエストを許可
👇API処理フロー概要(一部抜粋)
from flask import Flask, request, jsonify
from flask_cors import CORS
import os, json
import google.generativeai as genai
# ①Flask アプリ初期化 & CORS設定
app = Flask(__name__)
CORS(app)
# ②POSTリクエスト受信・バリデーション
req = request.get_json()
transcript_text = req.get("prompt")
# ③詳細なプロンプトテンプレート適用
PROMPT_TEMPLATE = "(ここにプロンプト入れる)"
full_prompt = PROMPT_TEMPLATE.format(transcript=transcript_text)
# ④Gemini API呼び出し(API キーは環境変数で設定)
genai.configure(api_key=os.getenv("GEMINI_API_KEY"))
model = genai.GenerativeModel("gemini-2.5-pro")
response = model.generate_content(full_prompt)
# ⑤レスポンス変換
cleaned_text = response.text.strip().replace("```json", "").replace("```", "")
result_json = json.loads(cleaned_text)
# ⑥構造化データとしてkintoneに返却
return jsonify(result_json)
③ Gemini AI(評価エンジン)
役割: 商談内容の自然言語解析と営業力の評価
モデル: Gemini 2.5 Pro(最新の大規模言語モデル)
- Google AI Studioで新しいAPIキーを作成
- AIには明確な役割(厳しい営業コンサルタント)
- 商談の評価基準を具体的に定義する
僕は「kintoneに入れた営業商談の文字起こしをAIで評価するシステムを作りたい」ということだけを生成AIに伝えただけです。もちろん、途中で細々とした追加指示を出してますが、商談評価項目・システム構成・詳細コーディング・Qiita記事作成まで全てやってくれました。
Views: 0