DifyとLINEを連携してAIチャットボットを構築する方法を解説
自動化
n8nとChatGPTでレビュー返信を自動化しませんか?この記事では、初心者でも再現できるよう、具体的なワークフローの構築手順を画像付きで徹底解説。ネガティブな口コミへの迅速対応で顧客満足度を向上させ、面倒な作業から解放されましょう。
ECサイトや店舗運営において、顧客からのレビューはサービスの質を向上させるための貴重なフィードバックです。一件一件への心のこもった対応はエンゲージメントを高め、新たなファンを獲得する絶好の機会ですが、その一方で、返信が遅れたり定型文になったりすれば、顧客の不満を増幅させかねません。
しかし、日々寄せられる多くのレビュー、特にネガティブな意見に迅速かつ丁寧に対応するのは、多大な時間と労力がかかります。属人化しやすい「守り」の業務をテクノロジーで効率化し、事業成長につながる「攻め」の施策へ、貴重な時間を投資してはいかがでしょうか。
この記事では、ノーコード自動化ツール「n8n」と「ChatGPT(OpenAI)」を連携させ、レビューへの返信作成を自動化するワークフローの構築方法を、初心者の方でも再現できるよう丁寧に解説します。
顧客からの声に真摯に耳を傾け、迅速に対応することは、顧客満足度やブランドイメージを向上させる上で欠かせません。しかし、人手による対応には限界があります。
ひとつひとつのレビューを確認し、内容を把握し、適切な返信文を考えるとなると、このプロセスは想像以上に時間を要します。特に、低評価のレビューには慎重な対応が求められるため、担当者の精神的な負担も大きくなりがちです。
また、複数の担当者で対応する場合、返信の質にばらつきが出てしまうという課題もあります。
n8nとChatGPTを組み合わせることで、これらの課題を解決し、大きなメリットを享受できます。
・劇的な時間短縮:ネガティブなレビューの抽出から返信文の生成までを自動化し、担当者は最終確認と調整に集中できます。
・品質の安定化:AIが事前に設定された役割(例:経験豊富なカスタマーサービス担当者)に沿って、常に一定の品質で共感的な返信文案を作成します。
・迅速な対応:24時間365日、レビューを監視し、即座に対応プロセスを開始できるため、顧客満足度の向上に繋がります。
今回作成するワークフローは、大きく5つのステップで構成されています。
STEP1:データ受信 (Webhook)
まず、外部(ECサイトなど)から投稿されたレビューデータをn8nが受け取るための「玄関」を用意します。
STEP2:ネガティブレビューの判定 (Code)
受け取ったレビューの中から、評価点数や特定のキーワードを基に、対応が必要なネガティブレビューを自動で抽出します。
STEP3:AIによる返信文生成 (OpenAI)
抽出されたネガティブレビューの内容をChatGPTに送り、共感的で建設的な返信文案を自動で作成させます。
STEP4:データの整形 (Code)
元のレビューデータとAIが生成した返信文案を一つにまとめ、管理しやすいようにデータを整形します。
STEP5:Googleスプレッドシートへの保存 (Google Sheets)
最後に、整形したデータをGoogleスプレッドシートに書き込み、一元管理します。これにより、担当者はシート上で返信内容を確認・承認するだけでよくなります。
ここからは、実際のn8nの画面に沿って、ワークフローの構築手順を具体的に解説していきます。

n8nアカウント:クラウド版またはセルフホスト版のn8n環境。
OpenAI APIキー:ChatGPTを利用するためのAPIキー。公式サイトから取得できます。
Googleアカウント:データを保存するためのGoogleスプレッドシートを利用します。
1.ノードの追加:n8nのキャンバスで「+」ボタンをクリックし、「Webhook」ノードを追加します。
2.設定:下記のように設定します。
・HTTP Method:POSTを選択します。
・Path:他のワークフローと重複しない一意のパス(例: review-response-trigger)を入力します。
3.URLの確認:Test URLに表示されるURLが、レビューデータを受け取るためのエンドポイントになります。このURLにECサイトなどからJSON形式でデータを送信する設定を行います。

1.ノードの追加:Webhookノードの右側にある「+」ボタンを押し、「Code」ノードを追加します。
2.スクリプトの設定:以下のJavaScriptコードを貼り付けます。このコードは、レビューの評価が3以下の場合、またはコメントにネガティブなキーワードが含まれている場合に、そのレビューを抽出する働きをします。
const reviews = $input.all(); const negativeReviews = []; for (const item of reviews) { const reviewsArray = item.json.reviews || [item.json]; for (const review of reviewsArray) { const rating = parseFloat(review.rating) || 0; const comment = (review.comment || ”).toLowerCase(); // 否定的キーワードの判定 const negativeKeywords = [ ‘悪い’, ‘最悪’, ‘ダメ’, ‘問題’, ‘不満’, ‘失望’, ‘期待外れ’, ‘がっかり’, ‘不良品’, ‘返金’, ‘苦情’, ‘改善’, ‘bad’, ‘terrible’, ‘problem’, ‘disappointed’, ‘refund’, ‘complaint’ ]; const hasNegativeKeyword = negativeKeywords.some(keyword => comment.includes(keyword)); // 評価3以下またはネガティブキーワードを含む場合 if (rating <= 3 || hasNegativeKeyword) { negativeReviews.push({ review_id: review.id || `review_${Date.now()}`, rating: rating, comment: review.comment || ”, customer_name: review.customer_name || ‘匿名’, review_date: review.date || new Date().toISOString().split(‘T’)[0], source: review.source || ‘Unknown’, urgency_level: rating <= 2 ? ‘high’ : ‘medium’ }); } } } return negativeReviews.map(review => ({ json: review })); |
|---|

1.ノードの追加:Codeノードの右側にある「+」ボタンを押し、「OpenAI」ノードを追加します。
2.認証設定:事前に取得したOpenAI APIキーを登録します。
3.プロンプト設定:以下のように設定します
・Resource:Conversation
・Operation:Create
・Messages:Add Messageをクリックして、SystemとUserの2つの役割を設定します。
■Role:System
あなたは経験豊富なカスタマーサービス担当者です。否定的なレビューに対して、以下の要素を含む誠実で建設的な返信を日本語で作成してください: 1. お客様の体験に対する心からの謝罪 2. 具体的な問題への対処方法の提示 3. 今後の改善への取り組み説明 4. お客様との関係継続を願うポジティブなメッセージ 返信は丁寧で共感的な口調で、150-200文字程度で簡潔に作成してください。 |
|---|
■Role:User
【レビュー情報】 ・評価: {{ $json.rating }}点(5点満点) ・お客様名: {{ $json.customer_name }} ・コメント: {{ $json.comment }} ・投稿日: {{ $json.review_date }} ・投稿元: {{ $json.source }} 上記の否定的レビューに対する返信を作成してください。お客様の具体的な不満点に言及し、誠実な対応を心がけてください。 |
|---|

1.ノードの追加:OpenAIノードの右側にある「+」ボタンを押し、「Code」ノードを追加します。
2.スクリプトの設定:元のレビュー情報とAIが生成した返信文を結合し、スプレッドシートに書き込むための最終的なデータ形式を作成します。
const items = $input.all(); const processedData = []; for (let i = 0; i < items.length; i++) { const currentItem = items[i]; let generatedReply = ”; // OpenAIの応答を安全に取得 try { generatedReply = currentItem.json.content.trim(); } catch (error) { generatedReply = `エラー: ${error.message}`; } // 対応する否定的レビューデータを取得 const negativeReviewItems = $(‘否定的レビュー抽出’).all(); // Codeノードの名前に合わせる const originalReview = negativeReviewItems[i] ? negativeReviewItems[i].json : {}; // 最終データを構築 const processedItem = { review_id: originalReview.review_id, customer_name: originalReview.customer_name, original_rating: originalReview.rating, original_comment: originalReview.comment, review_date: originalReview.review_date, source: originalReview.source, generated_reply: generatedReply, reply_status: generatedReply.includes(‘エラー’) ? ‘生成失敗’ : ‘生成完了’, urgency_level: originalReview.urgency_level, created_at: new Date().toLocaleString(‘ja-JP’, { timeZone: ‘Asia/Tokyo’ }), needs_human_review: originalReview.rating <= 2 ? ‘はい’ : ‘いいえ’ }; processedData.push({ json: processedItem }); } return processedData; |
|---|
※$(‘否定的レビュー抽出’)の部分は、STEP2で作成したCodeノードの実際の名称に合わせて変更してください。

1.ノードの追加:最後のCodeノードの右側にある「+」ボタンを押し、「Google Sheets」ノードを追加します。
2.認証設定:Googleアカウントと連携させます。
3.設定:以下のように設定します。
・Resource:Sheet Within Document を選択します。
・Operation:Append or Update Row を選択します。
・Document:Choose…のドロップダウンから、データを保存したいGoogleスプレッドシートを選択します。
・Sheet:Choose…のドロップダウンから、対象のシート名を選択します。
(以下の項目は、シートを選択すると表示されます)
・Columns to Match On:review_id などを指定することで、同じレビューが重複して書き込まれるのを防ぎます。
Columns:Add Column をクリックし、STEP4で作成した各データ項目(customer_name、 generated_replyなど)を、スプレッドシートの対応する列にマッピングします。
これで、ワークフローは完成です。Webhookが実行されるたびに、ネガティブレビューが自動的に分析され、返信文案と共にGoogleスプレッドシートに記録されていきます。

このワークフローは基本形であり、さらにカスタマイズすることでより便利になります。
スプレッドシートに記録するだけでは、緊急性の高いレビューを見逃してしまう可能性があります。そこで、Google Sheetsノードの後に「IF」ノードと「Slack」ノードを追加することで、ワークフローを「効率化」だけにとどまらず、より戦略的な体制へと発展させることが可能です。
例えば、urgency_levelがhigh(評価が星1〜2など)のレビューをIFノードで判定し、条件に合致した場合のみSlackに通知を送るように設定します。Slackのメッセージには、顧客名、レビュー内容、評価、そしてAIが生成した返信文案を含めることで、担当者はSlack上で迅速に状況を把握し、次のアクション(返信の承認や修正指示など)を即座に決定できます。
これにより、顧客の不満が大きくなる前に対応することが可能になり、問題解決のスピードを劇的に向上させます。
ネガティブな意見への対応だけでなく、ポジティブなフィードバックを寄せてくれた顧客との関係を深めるためにも絶大な効果を発揮します。
ワークフローの冒頭にIFノードを設置し、ratingが4以上のレビューを別のルートに分岐させます。その先に、ポジティブレビュー専用のプロンプトを設定したOpenAIノードを配置します。「お客様のコメントの〇〇という点を特に嬉しく思います」といった形で、具体的な内容に言及した感謝のメッセージを生成させるのです。
これにより、単なる定型的なお礼ではなく、「しっかりと自分の声が届いている」という特別感を顧客に与えることができます。このような丁寧なコミュニケーションは、一度きりの購入者を熱心なリピーターやブランドのファンへと育てるための重要な一手となるでしょう。
今回構築したn8nとChatGPTによるレビュー返信の自動化ワークフローは、単に面倒なタスクを効率化するだけのツールではありません。これは、顧客コミュニケーションの質と速度を向上させ、ビジネス成長を加速させるための戦略的な仕組みです。
これまで担当者が一件一件の返信に費やしていた膨大な時間は、より創造的で付加価値の高い業務へと振り向けることができます。重要なのは、このワークフローは「人間を排除する」のではなく、「人間の能力を最大化する」ためのものであるという点です。
AIが生成するのは、あくまで質の高い「下書き」です。最終的な承認や、特に繊細な対応が求められるケースでの微調整は人間が行うことで、AIの効率性と人間の共感力を両立させた、最高の顧客対応が実現します。
ぜひ、この記事を参考に、あなただけのレビュー対応自動化ワークフローを構築してみてください。
株式会社TWOSTONE&Sonsグループでは
60,000人を超える
人材にご登録いただいており、
ITコンサルタント、エンジニア、マーケターを中心に幅広いご支援が可能です。
豊富な人材データベースと創業から培ってきた豊富な実績で貴社のIT/DX関連の課題を解決いたします。
幅広い支援が可能ですので、
ぜひお気軽にご相談ください!