Google Play のレビューを AI で自動返信

上級

これはTicket Management, Multimodal AI分野の自動化ワークフローで、23個のノードを含みます。主にIf, Merge, Slack, HttpRequest, Agentなどのノードを使用。 Google Play ストアのレビューを自動返信するためにGPT-4oと感情分析を使用

前提条件
  • Slack Bot Token または Webhook URL
  • ターゲットAPIの認証情報が必要な場合あり
  • OpenAI API Key
ワークフロープレビュー
ノード接続関係を可視化、ズームとパンをサポート
ワークフローをエクスポート
以下のJSON設定をn8nにインポートして、このワークフローを使用できます
{
  "id": "WRYFuxP8spwY5D0d",
  "meta": {
    "instanceId": "8c9297025d782e1a7702d6cf5ed0962cc619ffa3e36d29df5cf55629cbd80c9d",
    "templateCredsSetupCompleted": true
  },
  "name": "Auto-Reply to Google Play Reviews with AI",
  "tags": [
    {
      "id": "RA6S6zmKMK9XBvsU",
      "name": "ASO",
      "createdAt": "2025-06-22T13:15:21.255Z",
      "updatedAt": "2025-06-22T13:15:21.255Z"
    },
    {
      "id": "gfcLb8VQxHMG16G5",
      "name": "Customer Experience",
      "createdAt": "2025-06-22T13:15:21.259Z",
      "updatedAt": "2025-06-22T13:15:21.259Z"
    }
  ],
  "nodes": [
    {
      "id": "b7919e56-bad2-47de-acbe-1a9b3664fe34",
      "name": "ユーザーレビューメモリ4",
      "type": "@n8n/n8n-nodes-langchain.memoryBufferWindow",
      "notes": "{\n  \"brand\": \"App Name\",\n  \"features\": [\n    \"Feature 1\",\n    \"Feature 2\",\n    \"Feature 3\",\n    \"Feature 4\",\n    \"Feature 5\",\n  \"tone_guidelines\": {\n    \"voice\": \"friendly, helpful, and warm\",\n    \"length_limit\": \"350 characters\",\n    \"greeting\": \"Hi [UserName] 👋\",\n    \"signature\": \"– Your Name, Company Name\"\n  },\n  \"escalation_contact\": {\n    \"whatsapp\": \"+91 9999999999\",\n    \"email\": \"help@youremail.in\"\n  },\n  \"review_reply_rules\": [\n    \"Never overpromise on fixes.\",\n    \"If 4-star review is extremely positive, thank and ask what can improve.\",\n    \"Always acknowledge user concern or praise.\",\n    \"Avoid repeating user’s words verbatim unless necessary.\",\n    \"When confused, lean on support tone and contact sharing.\"\n  ]",
      "position": [
        1220,
        720
      ],
      "parameters": {
        "sessionKey": "yourapp_memory",
        "sessionIdType": "customKey",
        "contextWindowLength": 1
      },
      "typeVersion": 1.3
    },
    {
      "id": "c12cb3b4-6d8e-4a04-a63f-ee30754a6d40",
      "name": "OpenAI GPT 4o mini4",
      "type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
      "position": [
        1040,
        720
      ],
      "parameters": {
        "model": {
          "__rl": true,
          "mode": "list",
          "value": "gpt-4o-mini"
        },
        "options": {}
      },
      "credentials": {
        "openAiApi": {
          "id": "w5A792RXx6tK4h8Y",
          "name": "OpenAi account"
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "213d3568-0e7c-4b54-9dad-b6080f56d75b",
      "name": "Playストアへの返信投稿4",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        80,
        760
      ],
      "parameters": {
        "url": "=https://androidpublisher.googleapis.com/androidpublisher/v3/applications/your.app.package.name/reviews/{{ $('HTTPS').item.json.reviews[0].reviewId }}:reply",
        "method": "POST",
        "options": {},
        "jsonBody": "={\n  \"replyText\": \"{{$node['AI Agent'].json['output']}}\"\n}\n",
        "sendBody": true,
        "specifyBody": "json",
        "authentication": "predefinedCredentialType",
        "nodeCredentialType": "googleApi"
      },
      "credentials": {
        "googleApi": {
          "id": "scFPJjSalskMul2S",
          "name": "Google Service Account account"
        }
      },
      "typeVersion": 4.2
    },
    {
      "id": "7aebe5a2-eaaf-47b0-be2a-ed7ef9050bed",
      "name": "Slack4",
      "type": "n8n-nodes-base.slack",
      "position": [
        360,
        760
      ],
      "webhookId": "1076c010-ec99-4e03-88be-320cb756585e",
      "parameters": {
        "text": "=📢 *Attention: New Review*  \n\n👤 *Name:* {{ $('HTTPS').item.json.reviews[0].authorName }} \n⭐ *Rating:* {{ $('HTTPS').item.json.reviews[0].comments[0].userComment.starRating }}/5 \n💬 *Review:*{{ $('HTTPS').item.json.reviews[0].comments[0].userComment.text }}  \n\n🤖 *Reply by AI:* \n{{ $json.result.replyText }}",
        "select": "channel",
        "channelId": {
          "__rl": true,
          "mode": "name",
          "value": "#general"
        },
        "otherOptions": {}
      },
      "credentials": {
        "slackApi": {
          "id": "VKhyDOB7wcs9Wtxs",
          "name": "Slack account"
        }
      },
      "typeVersion": 2.3
    },
    {
      "id": "26bce2e8-5015-4abd-9c72-8f170affb85d",
      "name": "スケジュールトリガー",
      "type": "n8n-nodes-base.scheduleTrigger",
      "disabled": true,
      "position": [
        60,
        120
      ],
      "parameters": {
        "rule": {
          "interval": [
            {
              "field": "minutes",
              "minutesInterval": 15
            }
          ]
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "cfe27626-7889-428a-8df4-673b4fb07e4c",
      "name": "付箋5",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        0,
        0
      ],
      "parameters": {
        "color": 3,
        "width": 260,
        "height": 280,
        "content": "## Check for New Reviews"
      },
      "typeVersion": 1
    },
    {
      "id": "f959caa1-151c-43d0-8816-994067b9b7e3",
      "name": "付箋6",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        280,
        0
      ],
      "parameters": {
        "width": 300,
        "height": 280,
        "content": "## Fetch Reviews from Play Store"
      },
      "typeVersion": 1
    },
    {
      "id": "154f89be-be4f-42b3-86de-c2bd502267ef",
      "name": "付箋7",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        600,
        0
      ],
      "parameters": {
        "color": 4,
        "width": 300,
        "height": 280,
        "content": "## Filter Unreplied Reviews"
      },
      "typeVersion": 1
    },
    {
      "id": "838d6c0f-10ce-4cb5-b755-4661044f7b54",
      "name": "フィルター",
      "type": "n8n-nodes-base.if",
      "position": [
        680,
        120
      ],
      "parameters": {
        "options": {},
        "conditions": {
          "options": {
            "version": 2,
            "leftValue": "",
            "caseSensitive": true,
            "typeValidation": "strict"
          },
          "combinator": "or",
          "conditions": [
            {
              "id": "3c5d5310-656b-46f1-88b4-b8ffd6d3548f",
              "operator": {
                "type": "string",
                "operation": "exists",
                "singleValue": true
              },
              "leftValue": "={{ $json.reviews[0].comments[1].developerComment.text }}",
              "rightValue": ""
            }
          ]
        }
      },
      "typeVersion": 2.2
    },
    {
      "id": "34e6d04c-1640-4ac1-951c-dcfb9d4c780b",
      "name": "HTTPS",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        360,
        120
      ],
      "parameters": {
        "url": "https://androidpublisher.googleapis.com/androidpublisher/v3/applications/your.app.package.name/reviews",
        "options": {},
        "authentication": "predefinedCredentialType",
        "nodeCredentialType": "googleApi"
      },
      "credentials": {
        "googleApi": {
          "id": "scFPJjSalskMul2S",
          "name": "Google Service Account account"
        }
      },
      "typeVersion": 4.2
    },
    {
      "id": "6f088b42-8067-48af-b105-ef367833e27c",
      "name": "付箋8",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        920,
        0
      ],
      "parameters": {
        "color": 5,
        "width": 460,
        "height": 280,
        "content": "## Detect Review Sentiment"
      },
      "typeVersion": 1
    },
    {
      "id": "9f367b7a-17d1-4032-b015-e75a0fc0711c",
      "name": "OpenAI",
      "type": "@n8n/n8n-nodes-langchain.openAi",
      "position": [
        1000,
        120
      ],
      "parameters": {
        "modelId": {
          "__rl": true,
          "mode": "list",
          "value": "chatgpt-4o-latest",
          "cachedResultName": "CHATGPT-4O-LATEST"
        },
        "options": {},
        "messages": {
          "values": [
            {
              "content": "=As a customer success assistant, your task is to conduct a thorough analysis of the provided user review and its associated rating. Begin by examining the sentiment expressed in the review, identifying whether it is positive, negative, or neutral. Pay close attention to any discrepancies that may arise between the numerical rating (out of 5 stars) and the qualitative content of the review.\n\nIn your summary note, please include the following key components:\n\nKey Points: Highlight the main themes and messages conveyed in the review, noting any specific features or aspects of the product or service that the user has commented on.\n\nUser Experience: Describe the overall experience of the user as reflected in the review, including their satisfaction, frustrations, or any specific incidents that may have influenced their perspective.\n\nNotable Quotes: Extract and present any particularly impactful or revealing quotes from the review that encapsulate the user's sentiment or highlight significant points.\n\nRating Alignment: Assess whether the given rating aligns with the overall sentiment and content of the review. Discuss any inconsistencies, such as a high rating paired with critical feedback or a low rating despite positive remarks.\n\nActionable Steps: If applicable, suggest potential actions or improvements that could be taken in response to the feedback provided in the review. This could include addressing specific issues raised, enhancing customer support, or implementing product improvements.\n\nPlease analyze the review content and ratings provided below:\n\nReview Content: {{ $json.reviews[0].comments[0].userComment.text }}\nRatings: {{ $json.reviews[0].comments[0].userComment.starRating }} out of 5 stars"
            }
          ]
        }
      },
      "credentials": {
        "openAiApi": {
          "id": "w5A792RXx6tK4h8Y",
          "name": "OpenAi account"
        }
      },
      "typeVersion": 1.8
    },
    {
      "id": "49883fb3-efed-461e-b88e-4ab9fb0983cd",
      "name": "付箋9",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        0,
        320
      ],
      "parameters": {
        "color": 6,
        "width": 260,
        "height": 280,
        "content": "## Merge Review + Sentiment"
      },
      "typeVersion": 1
    },
    {
      "id": "fb0909ca-c460-4c29-926a-b52e05f28932",
      "name": "付箋10",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        280,
        320
      ],
      "parameters": {
        "color": 5,
        "width": 400,
        "height": 280,
        "content": "## Verify Sentiment Analysis & Review"
      },
      "typeVersion": 1
    },
    {
      "id": "f1ade1a5-b05d-46a2-a7ae-d9b768a9126b",
      "name": "付箋11",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        700,
        320
      ],
      "parameters": {
        "color": 3,
        "width": 260,
        "height": 280,
        "content": "## Merge Inputs for Reply"
      },
      "typeVersion": 1
    },
    {
      "id": "5c52fb4c-e3eb-4581-9865-ac77941a4145",
      "name": "付箋12",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        980,
        320
      ],
      "parameters": {
        "color": 6,
        "width": 400,
        "height": 600,
        "content": "## AI Customer Success Assistant"
      },
      "typeVersion": 1
    },
    {
      "id": "777aa702-bcf3-435b-aa11-1fd8fc74d5eb",
      "name": "付箋13",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        0,
        640
      ],
      "parameters": {
        "color": 5,
        "width": 260,
        "height": 280,
        "content": "## Post Reply to Play Store"
      },
      "typeVersion": 1
    },
    {
      "id": "030b990e-3ea4-4408-839f-d0163c0ac0a2",
      "name": "付箋14",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        280,
        640
      ],
      "parameters": {
        "color": 4,
        "width": 260,
        "height": 280,
        "content": "## Send Reply Log to Slack"
      },
      "typeVersion": 1
    },
    {
      "id": "45b92bdc-ac6e-4328-8701-ae06425f50ed",
      "name": "AIエージェント",
      "type": "@n8n/n8n-nodes-langchain.agent",
      "position": [
        1040,
        440
      ],
      "parameters": {
        "text": "=You are a friendly and thoughtful Customer Success Assistant for the {app short desription}, {app name}.\n\nYour job is to craft short, personalized replies to Play Store reviews using the input below.\n\nConstraints:\n- Your reply must not exceed **350 characters**.\n- Avoid sounding robotic or overly formal.\n- Always address the user by their first name.\n\nInput:\nReviewer Name: {{ $json.reviews[0].authorName }}\nStar Rating: {{ $json.reviews[0].comments[0].userComment.starRating }} out of 5\nReview Text: \"{{ $json.reviews[0].comments[0].userComment.text }}\"\nSentiment Summary: {{ $json.message.content }}\n\nReply Guidelines:\n1. If the review is **positive** and **rating is 4 or 5**, express genuine appreciation.\n   - Optionally mention a relevant feature like “Feature 1”, “Feature 2”, or “Feature 3”.\n   - If it’s 4 stars with strong praise, thank them and gently ask what could improve to 5.\n\n2. If the review contains **issues, bugs, or confusion**, apologize sincerely.\n   - Offer help via Email: support@yourcompany.com\n\n3. If the user mentions {keywords}:\n   - Mention how {your app} helps for that {problem} (via feature 1, feature 2, or feature 3).\n\n4. If the user's review sentiment is positive and has given 4 or 5 star rating:\n   - Thank them and suggest exploring other features like “Feature 1, Feature 2, Feature 3, Feature 4, Feature 5”\n\n5. Don't add line breaks, and try adding contextual emojis based on sentiment of the review.\n\nNow craft a human-sounding, concise, emotionally intelligent reply:",
        "options": {},
        "promptType": "define"
      },
      "typeVersion": 2
    },
    {
      "id": "cfc8740f-7f60-43ac-9e7f-1d4440968595",
      "name": "マージ1",
      "type": "n8n-nodes-base.merge",
      "position": [
        80,
        440
      ],
      "parameters": {
        "mode": "combine",
        "options": {},
        "combineBy": "combineByPosition"
      },
      "typeVersion": 3.1
    },
    {
      "id": "600f052b-4ce7-4132-80ba-0ab25239d1d9",
      "name": "マージ",
      "type": "n8n-nodes-base.merge",
      "position": [
        780,
        440
      ],
      "parameters": {
        "mode": "combine",
        "options": {},
        "combineBy": "combineByPosition"
      },
      "typeVersion": 3.1
    },
    {
      "id": "6a85b0e8-c6ea-439f-80d7-beffb44b997f",
      "name": "分析検証",
      "type": "@n8n/n8n-nodes-langchain.openAi",
      "position": [
        340,
        440
      ],
      "parameters": {
        "modelId": {
          "__rl": true,
          "mode": "list",
          "value": "chatgpt-4o-latest",
          "cachedResultName": "CHATGPT-4O-LATEST"
        },
        "options": {},
        "messages": {
          "values": [
            {
              "content": "=You're an senior customer success assistant. Your task is to review customer reviews, and ratings along with the summary of analysis that has been provided you.\n\nCheck if the the sentiment analysis is accurate or it has missed some important factors and need/message of user. \n\nPlease analyze the sentiment along with the review content and ratings provided below:\nSentiment summary: {{ $json.message.content }}\nReview Content: {{ $json.reviews[0].comments[0].userComment.text }}\nRatings: {{ $json.reviews[0].comments[0].userComment.starRating }} out of 5 stars\n\nBased on your understanding, reply a summary of sentiment analysis which covers everything that the user has mentioned along with user rating."
            }
          ]
        }
      },
      "credentials": {
        "openAiApi": {
          "id": "w5A792RXx6tK4h8Y",
          "name": "OpenAi account"
        }
      },
      "typeVersion": 1.8
    },
    {
      "id": "43259679-d4ea-4df0-8219-7556d73d61b7",
      "name": "付箋",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -600,
        0
      ],
      "parameters": {
        "width": 560,
        "height": 700,
        "content": "## 🛠️ Setup Instructions for This Workflow\n\nTo make this Play Store AI review responder work for your app, you need to update the following nodes:\n\n🔹 1. HTTPS Node (Fetch Reviews from Google Play)\nReplace the package name with your actual app's package.\n\nAdd Google Service Account credentials.\n→ Use Google Cloud to generate service account keys and give the account access to your Play Console (View app reviews permission).\n\n🔹 2. OpenAI Nodes\nAdd your OpenAI API credentials (chat model like gpt-4o or gpt-4o-mini). You can choose to switch models or temperature as needed.\n\n🔹 3. AI Agent Node\nUpdate: Your app name, Core features, Custom reply logic (positive/negative/bug/etc.), Escalation contacts, Feel free to tweak or expand the prompt with new tone guidelines, emojis, or exam-specific logic.\n\n🔹 4. Slack Node (Optional)\nIf you want to receive a log of each AI-generated reply, configure this node: Create a Slack App > Get a bot token and invite it to your channel\n\nNot required? → Simply delete or disable this node.\n\n## 🙋‍♂️ Want Me to Set It Up For You?\nIf you'd rather skip the hassle of configuring all this yourself —\njust reach out to me at 📩 imarunavadas@gmail.com and I’ll set it up for your app.\n\nLet’s automate the boring stuff so you can focus on growth 🚀"
      },
      "typeVersion": 1
    }
  ],
  "active": false,
  "pinData": {},
  "settings": {
    "executionOrder": "v1"
  },
  "versionId": "e05e2090-e889-47cd-8dcd-27cd2954f0a1",
  "connections": {
    "34e6d04c-1640-4ac1-951c-dcfb9d4c780b": {
      "main": [
        [
          {
            "node": "838d6c0f-10ce-4cb5-b755-4661044f7b54",
            "type": "main",
            "index": 0
          },
          {
            "node": "cfc8740f-7f60-43ac-9e7f-1d4440968595",
            "type": "main",
            "index": 1
          },
          {
            "node": "600f052b-4ce7-4132-80ba-0ab25239d1d9",
            "type": "main",
            "index": 1
          }
        ]
      ]
    },
    "600f052b-4ce7-4132-80ba-0ab25239d1d9": {
      "main": [
        [
          {
            "node": "45b92bdc-ac6e-4328-8701-ae06425f50ed",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "838d6c0f-10ce-4cb5-b755-4661044f7b54": {
      "main": [
        [],
        [
          {
            "node": "9f367b7a-17d1-4032-b015-e75a0fc0711c",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "cfc8740f-7f60-43ac-9e7f-1d4440968595": {
      "main": [
        [
          {
            "node": "6a85b0e8-c6ea-439f-80d7-beffb44b997f",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "9f367b7a-17d1-4032-b015-e75a0fc0711c": {
      "main": [
        [
          {
            "node": "cfc8740f-7f60-43ac-9e7f-1d4440968595",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "45b92bdc-ac6e-4328-8701-ae06425f50ed": {
      "main": [
        [
          {
            "node": "213d3568-0e7c-4b54-9dad-b6080f56d75b",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "6a85b0e8-c6ea-439f-80d7-beffb44b997f": {
      "main": [
        [
          {
            "node": "600f052b-4ce7-4132-80ba-0ab25239d1d9",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "26bce2e8-5015-4abd-9c72-8f170affb85d": {
      "main": [
        [
          {
            "node": "34e6d04c-1640-4ac1-951c-dcfb9d4c780b",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "c12cb3b4-6d8e-4a04-a63f-ee30754a6d40": {
      "ai_languageModel": [
        [
          {
            "node": "45b92bdc-ac6e-4328-8701-ae06425f50ed",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "b7919e56-bad2-47de-acbe-1a9b3664fe34": {
      "ai_memory": [
        [
          {
            "node": "45b92bdc-ac6e-4328-8701-ae06425f50ed",
            "type": "ai_memory",
            "index": 0
          }
        ]
      ]
    },
    "213d3568-0e7c-4b54-9dad-b6080f56d75b": {
      "main": [
        [
          {
            "node": "7aebe5a2-eaaf-47b0-be2a-ed7ef9050bed",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}
よくある質問

このワークフローの使い方は?

上記のJSON設定コードをコピーし、n8nインスタンスで新しいワークフローを作成して「JSONからインポート」を選択、設定を貼り付けて認証情報を必要に応じて変更してください。

このワークフローはどんな場面に適していますか?

上級 - チケット管理, マルチモーダルAI

有料ですか?

このワークフローは完全無料です。ただし、ワークフローで使用するサードパーティサービス(OpenAI APIなど)は別途料金が発生する場合があります。

関連ワークフロー

バッチSEOコンテンツ生成とAI画像付きWebflowドラフト作成(テンプレート)
GPT、Gemini画像、Webflowデラフトで行う大量SEOコンテンツ生成
If
Set
Code
+
If
Set
Code
54 ノードDahiana
コンテンツ作成
ArunavaのマルチエージェントインタリジャエントReddit自動化
AIによるブランドメンションとBaserowを使用してRedditの投稿に自動のにコメントを投稿
If
Set
Code
+
If
Set
Code
35 ノードArunava
ソーシャルメディア
GPT-4駆動のカールドメールワークフロー(完全カスタマイズされた3本のメールフォロー付き)
GPT-4、Mailgun、Supabaseを使ってパーソナライズされたラグディ冷信Seriesを自動化
If
Set
Code
+
If
Set
Code
100 ノードPaul
リードナーチャリング
YouTube 動画に基づく自律ブログ公開
YouTube 動画から ChatGPT、Sheets、Apify、Pexels、WordPress を使用してブログの自主公開
If
Set
Code
+
If
Set
Code
80 ノードOriol Seguí
コンテンツ作成
OpenAI・LangChain・アピ業間連携によるワークフレーム自動化入門ガイド
OpenAI、LangChain、API を使用したワークフロー自動化の初心者ガイド
If
Set
Code
+
If
Set
Code
33 ノードMeelioo
コンテンツ作成
完全な B2B セールスフロー:Apollo リード生成、Mailgun 外信、および AI 返信管理
完全なB2Bセールスフロー:Apolloリード生成、Mailgunアウト Reach、AI返信管理
If
Set
Code
+
If
Set
Code
116 ノードPaul
コンテンツ作成
ワークフロー情報
難易度
上級
ノード数23
カテゴリー2
ノードタイプ10
難易度説明

上級者向け、16ノード以上の複雑なワークフロー

作成者
Arunava

Arunava

@arunava

Product & Growth at Testline AI | Automating the Boring Stuff with AI Agents | Ex-RecordBook (YC W22)

外部リンク
n8n.ioで表示

このワークフローを共有

カテゴリー

カテゴリー: 34