
Transform Hotel Guest Feedback with GPT-4 Sentiment Analysis & Service Recovery
描述
分类
⚙️ Automation
使用的节点
n8n-nodes-base.ifn8n-nodes-base.ifn8n-nodes-base.ifn8n-nodes-base.setn8n-nodes-base.setn8n-nodes-base.setn8n-nodes-base.gmailn8n-nodes-base.gmailn8n-nodes-base.gmailn8n-nodes-base.stickyNote
价格免费
浏览量0
最后更新11/28/2025
workflow.json
{
"meta": {
"instanceId": "277842713620d9f5554de3b1518b865a152c8c4db680008bd8aec536fc18b4a8",
"templateCredsSetupCompleted": true
},
"nodes": [
{
"id": "677688aa-5527-47f8-a43e-4663d4aa751d",
"name": "Sticky Note",
"type": "n8n-nodes-base.stickyNote",
"position": [
-2080,
-576
],
"parameters": {
"color": 4,
"width": 340,
"height": 628,
"content": "## 🏨 Hotel Guest Feedback Workflow\n\n**Purpose:** Capture guest feedback during stay and automate service recovery to prevent negative reviews\n\n**Key Features:**\n- Real-time sentiment analysis\n- Automatic escalation for critical issues\n- Personalized service recovery offers\n- PMS ticket creation\n- Analytics tracking\n\n**ROI:** 60% reduction in negative reviews"
},
"typeVersion": 1
},
{
"id": "b1cb131a-deec-4dbb-85b6-4951270ebd39",
"name": "Sticky Note1",
"type": "n8n-nodes-base.stickyNote",
"position": [
-1728,
-560
],
"parameters": {
"color": 5,
"width": 300,
"height": 612,
"content": "## 📝 Jotform Fields Expected:\n- Guest Name (q3_guestName)\n- Guest Email (q4_guestEmail)\n- Room Number (q5_roomNumber)\n- Stay Dates (q6_stayDates)\n- Overall Rating (q7_overallRating)\n- Feedback Comments (q8_feedbackComments)\n- Service Area (q9_serviceArea)\nCreate your form for free on [Jotform using this link](https://www.jotform.com/?partner=mediajade)"
},
"typeVersion": 1
},
{
"id": "01d5b54a-5292-4324-ab05-37568464ae5f",
"name": "Extract Feedback Data",
"type": "n8n-nodes-base.set",
"position": [
-1616,
-224
],
"parameters": {
"options": {},
"assignments": {
"assignments": [
{
"id": "guest_name",
"name": "guestName",
"type": "string",
"value": "={{ $json.rawRequest['q3_guestName'] }}"
},
{
"id": "guest_email",
"name": "guestEmail",
"type": "string",
"value": "={{ $json.rawRequest['q4_guestEmail'] }}"
},
{
"id": "room_number",
"name": "roomNumber",
"type": "string",
"value": "={{ $json.rawRequest['q5_roomNumber'] }}"
},
{
"id": "stay_dates",
"name": "stayDates",
"type": "string",
"value": "={{ $json.rawRequest['q6_stayDates'] }}"
},
{
"id": "overall_rating",
"name": "overallRating",
"type": "number",
"value": "={{ $json.rawRequest['q7_overallRating'] }}"
},
{
"id": "feedback_text",
"name": "feedbackText",
"type": "string",
"value": "={{ $json.rawRequest['q8_feedbackComments'] }}"
},
{
"id": "service_area",
"name": "serviceArea",
"type": "string",
"value": "={{ $json.rawRequest['q9_serviceArea'] }}"
},
{
"id": "submission_id",
"name": "submissionId",
"type": "string",
"value": "={{ $json.submissionID }}"
}
]
}
},
"typeVersion": 3.3
},
{
"id": "e2f49cfe-6934-4ad5-b15e-e10f819dc4e2",
"name": "Sticky Note2",
"type": "n8n-nodes-base.stickyNote",
"position": [
-1408,
-512
],
"parameters": {
"color": 6,
"width": 516,
"height": 584,
"content": "## 🤖 AI Sentiment Analysis\n\n**Analyzes:**\n- Sentiment (positive/neutral/negative)\n- Urgency level\n- Key issues & emotional tone\n- Reputation impact\n- Recommended recovery actions\n\nProvides structured JSON output for routing"
},
"typeVersion": 1
},
{
"id": "464b37fe-04a7-4c40-b7e5-f734dd0ab0cb",
"name": "AI Sentiment Analysis",
"type": "@n8n/n8n-nodes-langchain.agent",
"position": [
-1360,
-224
],
"parameters": {
"text": "=Analyze the following hotel guest feedback and provide a comprehensive sentiment analysis:\n\nGuest Name: {{ $json.guestName }}\nRoom Number: {{ $json.roomNumber }}\nOverall Rating: {{ $json.overallRating }}/5\nService Area: {{ $json.serviceArea }}\nFeedback: {{ $json.feedbackText }}\n\nProvide your analysis in the following JSON format:\n{\n \"sentiment\": \"positive/neutral/negative\",\n \"sentimentScore\": 0-100,\n \"urgencyLevel\": \"low/medium/high/critical\",\n \"keyIssues\": [\"issue1\", \"issue2\"],\n \"emotionalTone\": \"description\",\n \"requiresImmediateAction\": true/false,\n \"suggestedRecoveryAction\": \"specific recommendation\",\n \"estimatedImpactOnReputation\": \"low/medium/high\",\n \"categories\": [\"cleanliness\", \"staff\", \"amenities\", etc.],\n \"summary\": \"brief summary of the feedback\"\n}",
"agent": "conversationalAgent",
"options": {
"systemMessage": "You are an expert hotel service quality analyst specializing in guest sentiment analysis and service recovery. Analyze feedback objectively and provide actionable insights for hotel management."
},
"promptType": "define"
},
"typeVersion": 1.6
},
{
"id": "7efcf747-a8e0-4524-affe-d54430e68091",
"name": "Parse AI Response",
"type": "n8n-nodes-base.set",
"position": [
-1056,
-224
],
"parameters": {
"mode": "expressionData",
"options": {}
},
"typeVersion": 3.3
},
{
"id": "65108ee9-9ec6-42aa-b415-ead349eb7cdc",
"name": "Sticky Note3",
"type": "n8n-nodes-base.stickyNote",
"position": [
-848,
-608
],
"parameters": {
"color": 7,
"width": 320,
"height": 292,
"content": "## 🚨 Urgency Check\n\n**Routes critical/high urgency issues to:**\n- Hotel Manager (Gmail)\n- Slack notification\n\n**Triggers when:**\n- Urgency = critical/high\n- Requires immediate action = true"
},
"typeVersion": 1
},
{
"id": "1c4a95f8-fe51-4ff8-b58e-2b2e7abf6334",
"name": "Check Urgency Level",
"type": "n8n-nodes-base.if",
"position": [
-752,
-384
],
"parameters": {
"options": {},
"conditions": {
"options": {
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "or",
"conditions": [
{
"id": "critical_issue",
"operator": {
"type": "string",
"operation": "equals"
},
"leftValue": "={{ $json.urgencyLevel }}",
"rightValue": "critical"
},
{
"id": "high_urgency",
"operator": {
"type": "string",
"operation": "equals"
},
"leftValue": "={{ $json.urgencyLevel }}",
"rightValue": "high"
},
{
"id": "immediate_action",
"operator": {
"type": "boolean",
"operation": "true"
},
"leftValue": "={{ $json.requiresImmediateAction }}",
"rightValue": true
}
]
}
},
"typeVersion": 2
},
{
"id": "da63da8b-5d77-4321-b0c4-0f6c9833889f",
"name": "Alert Manager - Urgent (Gmail)",
"type": "n8n-nodes-base.gmail",
"position": [
-208,
-576
],
"webhookId": "9326ac60-de86-4736-bd43-2017c50344e4",
"parameters": {
"sendTo": "[email protected]",
"message": "=<h2 style='color: #d32f2f;'>Critical Guest Feedback Alert</h2>\n\n<div style='background-color: #fff3e0; padding: 15px; border-left: 4px solid #ff9800;'>\n<strong>Guest Information:</strong><br>\nName: {{ $('Extract Feedback Data').item.json.guestName }}<br>\nRoom: {{ $('Extract Feedback Data').item.json.roomNumber }}<br>\nEmail: {{ $('Extract Feedback Data').item.json.guestEmail }}<br>\nStay Dates: {{ $('Extract Feedback Data').item.json.stayDates }}<br>\nRating: {{ $('Extract Feedback Data').item.json.overallRating }}/5\n</div>\n\n<div style='background-color: #ffebee; padding: 15px; margin-top: 15px;'>\n<strong>Sentiment Analysis:</strong><br>\nSentiment: {{ $json.sentiment }} (Score: {{ $json.sentimentScore }}/100)<br>\nUrgency Level: <span style='color: #d32f2f; font-weight: bold;'>{{ $json.urgencyLevel }}</span><br>\nReputation Impact: {{ $json.estimatedImpactOnReputation }}\n</div>\n\n<div style='padding: 15px; margin-top: 15px; background-color: #f5f5f5;'>\n<strong>Key Issues Identified:</strong><br>\n{{ $json.keyIssues.join(', ') }}\n</div>\n\n<div style='padding: 15px; margin-top: 15px;'>\n<strong>Guest Feedback:</strong><br>\n<em>{{ $('Extract Feedback Data').item.json.feedbackText }}</em>\n</div>\n\n<div style='background-color: #e8f5e9; padding: 15px; margin-top: 15px;'>\n<strong>AI Suggested Recovery Action:</strong><br>\n{{ $json.suggestedRecoveryAction }}\n</div>\n\n<p style='margin-top: 20px;'><strong>⚠️ Action Required:</strong> Please contact the guest immediately to address their concerns and prevent potential negative online reviews.</p>\n\n<p style='color: #666; font-size: 12px; margin-top: 30px;'>Submission ID: {{ $('Extract Feedback Data').item.json.submissionId }}</p>",
"options": {
"ccList": "[email protected]"
},
"subject": "=🚨 URGENT: Guest Feedback Requires Immediate Action - Room {{ $('Extract Feedback Data').item.json.roomNumber }}"
},
"credentials": {
"gmailOAuth2": {
"id": "PIMDNhXNj8Zyiz3G",
"name": "Gmail account - Deepanshi"
}
},
"typeVersion": 2.1
},
{
"id": "af0bf2f2-02bf-4d46-b622-13ce04b97acd",
"name": "Slack Notification",
"type": "n8n-nodes-base.httpRequest",
"position": [
-192,
-416
],
"parameters": {
"url": "https://hooks.slack.com/services/YOUR/SLACK/WEBHOOK",
"method": "POST",
"options": {},
"sendBody": true,
"contentType": "application/json"
},
"typeVersion": 4.2
},
{
"id": "b9e17aa8-d1c5-4ab0-8326-8aa1a5ef90f9",
"name": "Sticky Note4",
"type": "n8n-nodes-base.stickyNote",
"position": [
-880,
-304
],
"parameters": {
"color": 3,
"width": 292,
"height": 324,
"content": "## 🔄 Service Recovery Check\n\n**Triggers recovery flow when:**\n- Sentiment = negative\n- Rating ≤ 3 stars\n\n**Actions:**\n- Generate AI recovery offer\n- Send personalized email\n- Create PMS ticket"
},
"typeVersion": 1
},
{
"id": "a00249ab-1f13-41bf-bbdc-9a5a93d23244",
"name": "Check Service Recovery Needed",
"type": "n8n-nodes-base.if",
"position": [
-576,
-176
],
"parameters": {
"options": {},
"conditions": {
"options": {
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "or",
"conditions": [
{
"id": "negative_sentiment",
"operator": {
"type": "string",
"operation": "equals"
},
"leftValue": "={{ $json.sentiment }}",
"rightValue": "negative"
},
{
"id": "low_rating",
"operator": {
"type": "number",
"operation": "lte"
},
"leftValue": "={{ $('Extract Feedback Data').item.json.overallRating }}",
"rightValue": 3
}
]
}
},
"typeVersion": 2
},
{
"id": "81a2fc7f-3add-4b20-84ab-1d5722a41c20",
"name": "Sticky Note5",
"type": "n8n-nodes-base.stickyNote",
"position": [
-256,
-272
],
"parameters": {
"color": 2,
"width": 360,
"height": 408,
"content": "## 🎁 AI Recovery Offer Generator\n\n**Generates personalized offers:**\n- Discount percentages\n- Room upgrades\n- Complimentary services\n- Future stay credits\n\n**Based on:**\n- Issue severity\n- Guest emotional state\n- Long-term value potential"
},
"typeVersion": 1
},
{
"id": "e90d1035-95f0-4479-ab1a-5de22d779eec",
"name": "Generate Recovery Offer",
"type": "@n8n/n8n-nodes-langchain.agent",
"position": [
-48,
-112
],
"parameters": {
"text": "=Based on the guest feedback analysis, generate a personalized service recovery offer:\n\nGuest: {{ $('Extract Feedback Data').item.json.guestName }}\nRating: {{ $('Extract Feedback Data').item.json.overallRating }}/5\nSentiment Score: {{ $('Parse AI Response').item.json.sentimentScore }}/100\nKey Issues: {{ $('Parse AI Response').item.json.keyIssues.join(', ') }}\nService Area: {{ $('Extract Feedback Data').item.json.serviceArea }}\n\nGenerate a service recovery package in JSON format:\n{\n \"offerType\": \"discount/upgrade/complimentary/credit\",\n \"offerValue\": \"specific value or percentage\",\n \"offerDescription\": \"detailed description\",\n \"emailSubject\": \"personalized subject line\",\n \"emailBody\": \"personalized apology and offer email (HTML formatted)\",\n \"validityPeriod\": \"number of days/months\",\n \"additionalPerks\": [\"perk1\", \"perk2\"]\n}\n\nConsider:\n- Severity of issues\n- Guest's emotional state\n- Potential long-term value\n- Service recovery best practices",
"agent": "conversationalAgent",
"options": {
"systemMessage": "You are a hotel guest relations expert specializing in service recovery. Create compelling, personalized recovery offers that turn negative experiences into opportunities for guest loyalty."
},
"promptType": "define"
},
"typeVersion": 1.6
},
{
"id": "33b27d78-dd49-4efc-ba5d-2dc27dd9255f",
"name": "Parse Recovery Offer",
"type": "n8n-nodes-base.set",
"position": [
304,
-128
],
"parameters": {
"mode": "expressionData",
"options": {}
},
"typeVersion": 3.3
},
{
"id": "c6d3c845-bd20-4ece-b58a-d61396d334e1",
"name": "Send Recovery Email (Gmail)",
"type": "n8n-nodes-base.gmail",
"position": [
512,
-32
],
"webhookId": "8049c29e-3772-42aa-8acf-c9a02e0f4681",
"parameters": {
"sendTo": "={{ $('Extract Feedback Data').item.json.guestEmail }}",
"message": "={{ $json.emailBody }}",
"options": {},
"subject": "={{ $json.emailSubject }}"
},
"credentials": {
"gmailOAuth2": {
"id": "PIMDNhXNj8Zyiz3G",
"name": "Gmail account - Deepanshi"
}
},
"typeVersion": 2.1
},
{
"id": "89034d72-fd20-4c0d-bf17-f26ff27b4981",
"name": "Sticky Note6",
"type": "n8n-nodes-base.stickyNote",
"position": [
0,
96
],
"parameters": {
"width": 320,
"content": "## 🎫 PMS Ticket Creation\n\n**Creates ticket with:**\n- Guest details\n- Sentiment analysis\n- Key issues\n- Priority level\n- Suggested actions\n\nIntegrates with your Property Management System"
},
"typeVersion": 1
},
{
"id": "fc279e1f-dc7b-4f97-8580-f4e3124d67b1",
"name": "Create PMS Ticket",
"type": "n8n-nodes-base.httpRequest",
"position": [
208,
144
],
"parameters": {
"url": "https://your-pms-system.com/api/tickets",
"method": "POST",
"options": {},
"sendBody": true,
"contentType": "application/json",
"authentication": "predefinedCredentialType",
"nodeCredentialType": "httpHeaderAuth"
},
"typeVersion": 4.2
},
{
"id": "ca8a3c86-ad8d-4ca9-8b99-4efd3348cd7b",
"name": "Sticky Note7",
"type": "n8n-nodes-base.stickyNote",
"position": [
-576,
-16
],
"parameters": {
"color": 5,
"width": 320,
"height": 368,
"content": "## ⭐ Positive Feedback Handler\n\n**For ratings ≥ 4 and positive sentiment:**\n- Send thank you email\n- Request online review\n- Offer return guest discount\n\n**Turns happy guests into brand advocates**"
},
"typeVersion": 1
},
{
"id": "e03a7af4-5657-40a9-bd20-27465000338c",
"name": "Check Positive Feedback",
"type": "n8n-nodes-base.if",
"position": [
-432,
240
],
"parameters": {
"options": {},
"conditions": {
"options": {
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "positive_feedback",
"operator": {
"type": "string",
"operation": "equals"
},
"leftValue": "={{ $('Parse AI Response').item.json.sentiment }}",
"rightValue": "positive"
},
{
"id": "high_rating",
"operator": {
"type": "number",
"operation": "gte"
},
"leftValue": "={{ $('Extract Feedback Data').item.json.overallRating }}",
"rightValue": 4
}
]
}
},
"typeVersion": 2
},
{
"id": "89c1eb9d-35ba-4bfe-ab18-7876e99866ec",
"name": "Send Thank You Email (Gmail)",
"type": "n8n-nodes-base.gmail",
"position": [
-176,
208
],
"webhookId": "7911760b-0dbc-460d-93ac-63595794a12f",
"parameters": {
"sendTo": "={{ $('Extract Feedback Data').item.json.guestEmail }}",
"message": "=<div style='font-family: Arial, sans-serif; max-width: 600px; margin: 0 auto;'>\n <h2 style='color: #2e7d32;'>Dear {{ $('Extract Feedback Data').item.json.guestName }},</h2>\n \n <p>Thank you so much for taking the time to share your positive experience with us! Your kind words truly brighten our day and motivate our entire team.</p>\n \n <div style='background-color: #e8f5e9; padding: 15px; border-left: 4px solid #4caf50; margin: 20px 0;'>\n <strong>Your Rating:</strong> {{ $('Extract Feedback Data').item.json.overallRating }}/5 ⭐\n </div>\n \n <p>We're thrilled that you enjoyed your stay with us. Guests like you make our work truly rewarding!</p>\n \n <p><strong>Would you mind sharing your experience online?</strong><br>\nYour review would help other travelers discover our hotel. You can leave a review on:</p>\n \n <ul>\n <li><a href='https://www.google.com/search?q=YOUR_HOTEL_NAME' style='color: #1976d2;'>Google Reviews</a></li>\n <li><a href='https://www.tripadvisor.com/YOUR_HOTEL' style='color: #1976d2;'>TripAdvisor</a></li>\n <li><a href='https://www.booking.com/YOUR_HOTEL' style='color: #1976d2;'>Booking.com</a></li>\n </ul>\n \n <div style='background-color: #fff3e0; padding: 15px; margin: 20px 0; border-radius: 5px;'>\n <strong>🎁 Special Return Guest Offer:</strong><br>\n As a token of our appreciation, enjoy <strong>15% off</strong> your next stay! Use code: <strong>WELCOME-BACK-2025</strong>\n </div>\n \n <p>We look forward to welcoming you back soon!</p>\n \n <p style='margin-top: 30px;'>Warm regards,<br>\n <strong>Guest Relations Team</strong><br>\n Your Hotel Name</p>\n \n <hr style='border: none; border-top: 1px solid #e0e0e0; margin: 30px 0;'>\n <p style='color: #666; font-size: 12px;'>This email was sent in response to your recent feedback. If you have any questions, please contact us at [email protected]</p>\n</div>",
"options": {},
"subject": "=Thank You for Your Wonderful Feedback, {{ $('Extract Feedback Data').item.json.guestName }}!"
},
"credentials": {
"gmailOAuth2": {
"id": "PIMDNhXNj8Zyiz3G",
"name": "Gmail account - Deepanshi"
}
},
"typeVersion": 2.1
},
{
"id": "cf378548-3922-4b2f-ab34-629f62bc353d",
"name": "Sticky Note8",
"type": "n8n-nodes-base.stickyNote",
"position": [
224,
-576
],
"parameters": {
"color": 4,
"width": 360,
"height": 220,
"content": "## 📊 Analytics & Tracking\n\n**Logs all feedback to Google Sheets:**\n- Timestamp & submission details\n- Guest information\n- Ratings & sentiment scores\n- Key issues & categories\n- Recovery actions taken\n\n**Enables:**\n- Trend analysis\n- Performance tracking\n- Staff training insights"
},
"typeVersion": 1
},
{
"id": "88b54124-f4cd-4378-b5aa-a1ea7dc4454a",
"name": "Log to Analytics Sheet",
"type": "n8n-nodes-base.googleSheets",
"position": [
288,
-368
],
"parameters": {
"columns": {
"value": {
"guestName": "={{ $('Extract Feedback Data').item.json.guestName }}",
"keyIssues": "={{ $('Parse AI Response').item.json.keyIssues.join('; ') }}",
"sentiment": "={{ $('Parse AI Response').item.json.sentiment }}",
"stayDates": "={{ $('Extract Feedback Data').item.json.stayDates }}",
"timestamp": "={{ $now.toISO() }}",
"categories": "={{ $('Parse AI Response').item.json.categories.join('; ') }}",
"roomNumber": "={{ $('Extract Feedback Data').item.json.roomNumber }}",
"serviceArea": "={{ $('Extract Feedback Data').item.json.serviceArea }}",
"feedbackText": "={{ $('Extract Feedback Data').item.json.feedbackText }}",
"submissionId": "={{ $('Extract Feedback Data').item.json.submissionId }}",
"urgencyLevel": "={{ $('Parse AI Response').item.json.urgencyLevel }}",
"overallRating": "={{ $('Extract Feedback Data').item.json.overallRating }}",
"sentimentScore": "={{ $('Parse AI Response').item.json.sentimentScore }}",
"reputationImpact": "={{ $('Parse AI Response').item.json.estimatedImpactOnReputation }}",
"recoveryOfferSent": "={{ $('Check Service Recovery Needed').item.json.sentiment === 'negative' ? 'Yes' : 'No' }}"
},
"mappingMode": "defineBelow"
},
"options": {
"useAppend": true,
"cellFormat": "USER_ENTERED"
},
"operation": "appendOrUpdate",
"sheetName": {
"__rl": true,
"mode": "name",
"value": "Guest Feedback Analytics"
},
"documentId": {
"__rl": true,
"mode": "id",
"value": "YOUR_GOOGLE_SHEET_ID"
}
},
"credentials": {
"googleSheetsOAuth2Api": {
"id": "JS0O9ZlbKZP6B2eb",
"name": "[email protected]"
}
},
"typeVersion": 4.4
},
{
"id": "37366028-699f-4024-a9c7-0791808cd7da",
"name": "Jotorm Trigger",
"type": "n8n-nodes-base.jotFormTrigger",
"position": [
-2032,
-128
],
"webhookId": "guest-feedback-webhook",
"parameters": {
"form": "252862984356471"
},
"credentials": {
"jotFormApi": {
"id": "W7O1b225FpOwkwDT",
"name": "JotForm account-Deepanshi"
}
},
"typeVersion": 1
},
{
"id": "64b3fab6-694a-4088-800f-0b4b5e100a11",
"name": "OpenAI Chat Model",
"type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
"position": [
-1360,
-32
],
"parameters": {
"model": {
"__rl": true,
"mode": "list",
"value": "gpt-4.1-mini"
},
"options": {}
},
"credentials": {
"openAiApi": {
"id": "8IkhtT3EbXygnvcr",
"name": "Klinsman OpenAI"
}
},
"typeVersion": 1.2
},
{
"id": "7a0aa518-e312-48d4-928f-911a55cff2f1",
"name": "OpenAI Chat Model1",
"type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
"position": [
-48,
48
],
"parameters": {
"model": {
"__rl": true,
"mode": "list",
"value": "gpt-4.1-mini"
},
"options": {}
},
"credentials": {
"openAiApi": {
"id": "8IkhtT3EbXygnvcr",
"name": "Klinsman OpenAI"
}
},
"typeVersion": 1.2
}
],
"pinData": {},
"connections": {
"Jotorm Trigger": {
"main": [
[
{
"node": "Extract Feedback Data",
"type": "main",
"index": 0
}
]
]
},
"OpenAI Chat Model": {
"ai_languageModel": [
[
{
"node": "AI Sentiment Analysis",
"type": "ai_languageModel",
"index": 0
}
]
]
},
"Parse AI Response": {
"main": [
[
{
"node": "Check Urgency Level",
"type": "main",
"index": 0
},
{
"node": "Check Service Recovery Needed",
"type": "main",
"index": 0
},
{
"node": "Check Positive Feedback",
"type": "main",
"index": 0
},
{
"node": "Log to Analytics Sheet",
"type": "main",
"index": 0
}
]
]
},
"OpenAI Chat Model1": {
"ai_languageModel": [
[
{
"node": "Generate Recovery Offer",
"type": "ai_languageModel",
"index": 0
}
]
]
},
"Check Urgency Level": {
"main": [
[
{
"node": "Alert Manager - Urgent (Gmail)",
"type": "main",
"index": 0
},
{
"node": "Slack Notification",
"type": "main",
"index": 0
}
]
]
},
"Parse Recovery Offer": {
"main": [
[
{
"node": "Send Recovery Email (Gmail)",
"type": "main",
"index": 0
}
]
]
},
"AI Sentiment Analysis": {
"main": [
[
{
"node": "Parse AI Response",
"type": "main",
"index": 0
}
]
]
},
"Extract Feedback Data": {
"main": [
[
{
"node": "AI Sentiment Analysis",
"type": "main",
"index": 0
}
]
]
},
"Check Positive Feedback": {
"main": [
[
{
"node": "Send Thank You Email (Gmail)",
"type": "main",
"index": 0
}
]
]
},
"Generate Recovery Offer": {
"main": [
[
{
"node": "Parse Recovery Offer",
"type": "main",
"index": 0
}
]
]
},
"Check Service Recovery Needed": {
"main": [
[
{
"node": "Generate Recovery Offer",
"type": "main",
"index": 0
},
{
"node": "Create PMS Ticket",
"type": "main",
"index": 0
}
]
]
}
}
}