8
n8n 한국어amn8n.com

AI를 사용하여 Google 비즈니스 리뷰 답변 생성 및 모니터링

중급

이것은Ticket Management, Multimodal AI분야의자동화 워크플로우로, 11개의 노드를 포함합니다.주로 If, Set, AiTransform, HttpRequest, GoogleSheets 등의 노드를 사용하며. AI 답변, Slack 알림, Sheets 기록을 통한 Google 비즈니스 리뷰 자동화

사전 요구사항
  • 대상 API의 인증 정보가 필요할 수 있음
  • Google Sheets API 인증 정보
워크플로우 미리보기
노드 연결 관계를 시각적으로 표시하며, 확대/축소 및 이동을 지원합니다
워크플로우 내보내기
다음 JSON 구성을 복사하여 n8n에 가져오면 이 워크플로우를 사용할 수 있습니다
{
  "id": "TFA52QNAEro3v0Y2",
  "meta": {
    "instanceId": "f31c8cf0f30c343fde4e229f596b53099ee0496367bfd39c53458e5afe95e91e",
    "templateCredsSetupCompleted": true
  },
  "name": "Monitor Google Business Reviews with AI Response Generation",
  "tags": [],
  "nodes": [
    {
      "id": "bfad3de2-aca1-4691-841f-488fe9a57c09",
      "name": "Google 리뷰 모니터링",
      "type": "n8n-nodes-base.googleBusinessProfileTrigger",
      "position": [
        784,
        256
      ],
      "parameters": {
        "account": {
          "mode": "id",
          "value": "={{ $env.GOOGLE_BUSINESS_ACCOUNT_ID }}"
        },
        "location": {
          "mode": "id",
          "value": "={{ $env.GOOGLE_BUSINESS_LOCATION_ID }}"
        },
        "pollTimes": {
          "item": [
            {
              "mode": "everyMinute"
            }
          ]
        }
      },
      "typeVersion": 1
    },
    {
      "id": "7a35316d-b32c-4601-991b-55ef94451883",
      "name": "비즈니스 구성",
      "type": "n8n-nodes-base.set",
      "position": [
        1008,
        0
      ],
      "parameters": {
        "options": {},
        "assignments": {
          "assignments": [
            {
              "id": "8a9b7c6d-5e4f-3a2b-1c0d-9e8f7a6b5c4d",
              "name": "businessName",
              "type": "string",
              "value": "Your Business Name"
            },
            {
              "id": "9b0c8d7e-6f5a-4b3c-2d1e-0f9a8b7c6d5e",
              "name": "responseTone",
              "type": "string",
              "value": "professional and friendly"
            },
            {
              "id": "2e3f1a0b-9c8d-7e6f-5a4b-3c2d1e0f9a8b",
              "name": "slackWebhookUrl",
              "type": "string",
              "value": "={{ $env.SLACK_WEBHOOK_URL }}"
            },
            {
              "id": "3f4a2b1c-0d9e-8f7a-6b5c-4d3e2f1a0b9c",
              "name": "notificationEmail",
              "type": "string",
              "value": "={{ $env.NOTIFICATION_EMAIL }}"
            }
          ]
        }
      },
      "typeVersion": 3.4,
      "continueOnFail": true
    },
    {
      "id": "1522ed76-eda8-4ea2-a889-54c3fe3cf8e0",
      "name": "Google 리뷰 형식 지정",
      "type": "n8n-nodes-base.set",
      "position": [
        1232,
        256
      ],
      "parameters": {
        "options": {},
        "assignments": {
          "assignments": [
            {
              "id": "a1b2c3d4-e5f6-7a8b-9c0d-1e2f3a4b5c6d",
              "name": "source",
              "type": "string",
              "value": "Google Business Profile"
            },
            {
              "id": "b2c3d4e5-f6a7-8b9c-0d1e-2f3a4b5c6d7e",
              "name": "rating",
              "type": "number",
              "value": "={{ $json.starRating }}"
            },
            {
              "id": "c3d4e5f6-a7b8-9c0d-1e2f3a4b5c6d7e8f",
              "name": "reviewText",
              "type": "string",
              "value": "={{ $json.comment }}"
            },
            {
              "id": "d4e5f6a7-b8c9-0d1e-2f3a4b5c6d7e8f9a",
              "name": "reviewerName",
              "type": "string",
              "value": "={{ $json.reviewer.displayName }}"
            },
            {
              "id": "e5f6a7b8-c9d0-1e2f-3a4b5c6d7e8f9a0b",
              "name": "reviewDate",
              "type": "string",
              "value": "={{ $json.createTime }}"
            },
            {
              "id": "f6a7b8c9-d0e1-2f3a-4b5c6d7e8f9a0b1c",
              "name": "reviewId",
              "type": "string",
              "value": "={{ $json.reviewId }}"
            }
          ]
        }
      },
      "typeVersion": 3.4,
      "continueOnFail": true
    },
    {
      "id": "7d3e47c7-bd46-472b-b616-09b05b5c8c6c",
      "name": "AI 응답 생성",
      "type": "n8n-nodes-base.aiTransform",
      "position": [
        1456,
        256
      ],
      "parameters": {
        "instructions": "Analyze the review and generate a professional response. The review is:\n\nSource: {{ $json.source }}\nRating: {{ $json.rating }}/5\nReviewer: {{ $json.reviewerName }}\nReview: {{ $json.reviewText }}\n\nGenerate a response that is {{ $('Business Configuration').item.json.responseTone }}. If the rating is 3 or below, acknowledge their concerns and offer to make things right. If 4-5 stars, thank them warmly. Keep responses under 150 words."
      },
      "typeVersion": 1,
      "continueOnFail": true
    },
    {
      "id": "1f5d176c-0fed-4690-8df2-ab217b4accd5",
      "name": "부정적 리뷰?",
      "type": "n8n-nodes-base.if",
      "position": [
        1680,
        256
      ],
      "parameters": {
        "options": {},
        "conditions": {
          "options": {
            "version": 2,
            "leftValue": "",
            "caseSensitive": true,
            "typeValidation": "strict"
          },
          "combinator": "and",
          "conditions": [
            {
              "id": "a9b0c1d2-e3f4-5a6b-7c8d-9e0f1a2b3c4d",
              "operator": {
                "type": "number",
                "operation": "lte"
              },
              "leftValue": "={{ $json.rating }}",
              "rightValue": 3
            }
          ]
        }
      },
      "typeVersion": 2.2
    },
    {
      "id": "88e13071-e269-4028-bec5-1ca479e2e76b",
      "name": "팀에 경고 - 부정적",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        1904,
        160
      ],
      "parameters": {
        "url": "={{ $('Business Configuration').item.json.slackWebhookUrl }}",
        "method": "POST",
        "options": {},
        "sendBody": true,
        "bodyParameters": {
          "parameters": [
            {
              "name": "text",
              "value": "🚨 *Urgent: Negative Review Alert* 🚨\n\n*Source:* {{ $json.source }}\n*Rating:* {{ $json.rating }}/5 ⭐\n*Reviewer:* {{ $json.reviewerName }}\n*Review:* {{ $json.reviewText }}\n\n*Suggested Response:*\n{{ $json.output }}"
            }
          ]
        }
      },
      "typeVersion": 4.2,
      "continueOnFail": true
    },
    {
      "id": "ba523e1d-a9d6-482a-880f-65d8eb6514c2",
      "name": "팀에 알림 - 긍정적",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        1904,
        352
      ],
      "parameters": {
        "url": "={{ $('Business Configuration').item.json.slackWebhookUrl }}",
        "method": "POST",
        "options": {},
        "sendBody": true,
        "bodyParameters": {
          "parameters": [
            {
              "name": "text",
              "value": "✨ *New Positive Review* ✨\n\n*Source:* {{ $json.source }}\n*Rating:* {{ $json.rating }}/5 ⭐\n*Reviewer:* {{ $json.reviewerName }}\n*Review:* {{ $json.reviewText }}\n\n*Suggested Response:*\n{{ $json.output }}"
            }
          ]
        }
      },
      "typeVersion": 4.2,
      "continueOnFail": true
    },
    {
      "id": "51678bc3-3bb1-42b9-87d1-ec2e81c0f233",
      "name": "Google Sheets에 기록",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        2224,
        272
      ],
      "parameters": {
        "columns": {
          "value": {
            "Date": "={{ new Date().toISOString() }}",
            "Rating": "={{ $json.rating }}",
            "Review": "={{ $json.reviewText }}",
            "Source": "={{ $json.source }}",
            "Reviewer": "={{ $json.reviewerName }}",
            "Review ID": "={{ $json.reviewId }}",
            "AI Response": "={{ $json.output }}"
          },
          "mappingMode": "defineBelow"
        },
        "options": {},
        "operation": "append",
        "sheetName": {
          "mode": "name",
          "value": "Reviews"
        },
        "documentId": {
          "mode": "id",
          "value": "={{ $env.GOOGLE_SHEET_ID }}"
        },
        "authentication": "serviceAccount"
      },
      "credentials": {
        "googleApi": {
          "id": "UD5OjKiVkvWF1KEV",
          "name": "Google Sheets account"
        }
      },
      "typeVersion": 4.6,
      "continueOnFail": true
    },
    {
      "id": "cb74c403-ffdb-4ff8-8d45-3afcfa38e70a",
      "name": "메모2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        848,
        -288
      ],
      "parameters": {
        "color": 4,
        "width": 432,
        "height": 432,
        "content": "## Update these values in the Business Configuration node:\n\n- **businessName**: Your business name for personalized responses\n- **responseTone**: Customize AI response style (e.g., \"professional and friendly\", \"casual and warm\")\n- **slackWebhookUrl**: Your Slack webhook for notifications\n- **notificationEmail**: Email for urgent alerts\n\nAll sensitive data uses environment variables for security."
      },
      "typeVersion": 1
    },
    {
      "id": "4a19971e-72ee-4e95-90de-457f12b3eb95",
      "name": "메모1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        2064,
        -96
      ],
      "parameters": {
        "color": 6,
        "width": 464,
        "height": 528,
        "content": "### 📊 Google Sheets Configuration\n\n**Required Sheet Name:** \"Reviews\"\n\n**Required Headers (Row 1):**\n- **Date** - Timestamp of review processing\n- **Source** - Always \"Google Business Profile\"  \n- **Rating** - Star rating (1-5)\n- **Reviewer** - Customer display name\n- **Review** - Full review text\n- **AI Response** - Generated response suggestion\n- **Review ID** - Unique Google review identifier\n\n**🔗 Service Account Permissions:**\n\nGrant \"Editor\" access to your Google Sheets service account"
      },
      "typeVersion": 1
    },
    {
      "id": "650e2141-568a-46ba-9653-cce123d8eac5",
      "name": "메모",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        176,
        -416
      ],
      "parameters": {
        "width": 448,
        "height": 736,
        "content": "**🛠️ Google Business Review Monitor Setup Guide**\n\nThis workflow automatically monitors your Google Business Profile for new reviews and generates AI-powered response suggestions.\n\n✅ **Step 1: Connect Google Business Profile API**\n- Create Google Cloud project and enable Business Profile API\n- Set up service account credentials  \n- Note your Business Account ID and Location ID\n- Set environment variables: GOOGLE_BUSINESS_ACCOUNT_ID, GOOGLE_BUSINESS_LOCATION_ID\n\n✅ **Step 2: Setup Google Sheets Integration**\n- Create Google Sheet with \"Reviews\" sheet\n- Add headers: Date, Source, Rating, Reviewer, Review, AI Response, Review ID\n- Set environment variable: GOOGLE_SHEET_ID\n- Ensure service account has edit access to the sheet\n\n✅ **Step 3: Configure Slack Notifications**\n- Create Slack webhook in your workspace\n- Set environment variable: SLACK_WEBHOOK_URL  \n- Configure notification email: NOTIFICATION_EMAIL\n\n✅ **Step 4: Customize Business Settings**\n- Update Business Configuration node with your business name\n- Adjust response tone (professional, friendly, casual, etc.)\n- Test the AI response generation with sample review data\n\n**🧪Final Step: Test with Sample Data**\nTrigger manually to verify all integrations work properly"
      },
      "typeVersion": 1
    }
  ],
  "active": false,
  "pinData": {},
  "settings": {
    "executionOrder": "v1"
  },
  "versionId": "f2d68f67-a2df-4e49-9dc3-3e1a47394575",
  "connections": {
    "1f5d176c-0fed-4690-8df2-ab217b4accd5": {
      "main": [
        [
          {
            "node": "88e13071-e269-4028-bec5-1ca479e2e76b",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "ba523e1d-a9d6-482a-880f-65d8eb6514c2",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "7d3e47c7-bd46-472b-b616-09b05b5c8c6c": {
      "main": [
        [
          {
            "node": "1f5d176c-0fed-4690-8df2-ab217b4accd5",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "88e13071-e269-4028-bec5-1ca479e2e76b": {
      "main": [
        [
          {
            "node": "51678bc3-3bb1-42b9-87d1-ec2e81c0f233",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "1522ed76-eda8-4ea2-a889-54c3fe3cf8e0": {
      "main": [
        [
          {
            "node": "7d3e47c7-bd46-472b-b616-09b05b5c8c6c",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "7a35316d-b32c-4601-991b-55ef94451883": {
      "main": [
        [
          {
            "node": "1522ed76-eda8-4ea2-a889-54c3fe3cf8e0",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "bfad3de2-aca1-4691-841f-488fe9a57c09": {
      "main": [
        [
          {
            "node": "7a35316d-b32c-4601-991b-55ef94451883",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "ba523e1d-a9d6-482a-880f-65d8eb6514c2": {
      "main": [
        [
          {
            "node": "51678bc3-3bb1-42b9-87d1-ec2e81c0f233",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}
자주 묻는 질문

이 워크플로우를 어떻게 사용하나요?

위의 JSON 구성 코드를 복사하여 n8n 인스턴스에서 새 워크플로우를 생성하고 "JSON에서 가져오기"를 선택한 후, 구성을 붙여넣고 필요에 따라 인증 설정을 수정하세요.

이 워크플로우는 어떤 시나리오에 적합한가요?

중급 - 티켓 관리, 멀티모달 AI

유료인가요?

이 워크플로우는 완전히 무료이며 직접 가져와 사용할 수 있습니다. 다만, 워크플로우에서 사용하는 타사 서비스(예: OpenAI API)는 사용자 직접 비용을 지불해야 할 수 있습니다.

워크플로우 정보
난이도
중급
노드 수11
카테고리2
노드 유형7
난이도 설명

일정 경험을 가진 사용자를 위한 6-15개 노드의 중간 복잡도 워크플로우

외부 링크
n8n.io에서 보기

이 워크플로우 공유

카테고리

카테고리: 34