{
  "workflow": {
    "id": 9811,
    "name": "Transform hotel guest feedback with GPT-4 sentiment analysis & service recovery",
    "views": 174,
    "recentViews": 0,
    "totalViews": 174,
    "createdAt": "2025-10-17T06:42:07.475Z",
    "description": "\nTransform guest complaints into loyalty opportunities - achieving 60% reduction in negative reviews, 85% faster service recovery, and turning dissatisfied guests into brand advocates through AI-powered sentiment analysis and automated response workflows.\n\n## What This Workflow Does\n\nRevolutionizes hotel guest experience management with AI-driven sentiment analysis and proactive service recovery:\n\n📝 **Real-Time Feedback Capture** - Jotform collects guest feedback during their stay, not after checkout  \n🤖 **AI Sentiment Analysis** - GPT-4 analyzes feedback across sentiment, urgency, and reputation impact  \n🚨 **Instant Escalation** - Critical issues immediately alert managers via email and Slack  \n💝 **Personalized Recovery Offers** - AI generates custom compensation (upgrades, discounts, credits)  \n📧 **Automated Guest Communication** - Sends recovery offers to unhappy guests, thank-you notes to satisfied ones  \n🎫 **PMS Integration** - Creates tickets in your Property Management System with full context  \n⭐ **Review Generation** - Encourages happy guests to share experiences on Google, TripAdvisor, Booking.com  \n📊 **Complete Analytics** - Tracks all feedback with sentiment scores for trend analysis  \n🎯 **Proactive Prevention** - Resolves issues before guests post negative online reviews  \n💰 **ROI Tracking** - Measures service recovery effectiveness and guest satisfaction improvements\n\n## Key Features\n\n**AI Guest Experience Analyst**: GPT-4 analyzes feedback across 10+ dimensions including sentiment scoring, urgency classification, and reputation impact assessment\n\n**Intelligent Routing**: Automatically escalates critical/high-urgency issues to hotel management within minutes\n\n**Personalized Service Recovery**: AI generates tailored compensation offers based on issue severity, guest emotional state, and long-term value potential\n\n**Multi-Channel Alerts**: Instant notifications via Gmail and Slack ensure no critical feedback is missed\n\n**Sentiment Scoring**: 0-100 numerical sentiment scores enable data-driven trend analysis\n\n**Category Detection**: AI identifies issue categories (cleanliness, staff, amenities, noise, etc.)\n\n**Reputation Impact Assessment**: Predicts likelihood of negative online review (low/medium/high)\n\n**Recovery Action Suggestions**: AI recommends specific steps to resolve each guest concern\n\n**Positive Feedback Amplification**: Automatically requests online reviews from satisfied guests with incentivized return offers\n\n**Property Management Integration**: Creates structured tickets with all AI insights for staff follow-up\n\n**Complete Audit Trail**: Google Sheets logging enables performance tracking and staff training insights\n\n**Cost Optimization**: AI balances recovery offer value against long-term guest lifetime value\n\n## Perfect For\n\n**Boutique Hotels**: 20-100 rooms requiring personalized guest experience management  \n**Hotel Chains**: Multi-property operations standardizing service recovery protocols  \n**Resorts**: Large properties with multiple service areas (spa, dining, housekeeping, etc.)  \n**Business Hotels**: Corporate-focused properties prioritizing fast issue resolution  \n**Vacation Rentals**: Airbnb management companies handling guest communications at scale  \n**Hostels**: Budget accommodations building reputation through responsive service  \n**Extended Stay Properties**: Long-term guest relationships requiring proactive care  \n**Conference Centers**: Event venues managing large groups and critical feedback  \n\n## What You'll Need\n\n### Required Integrations\n\n**Jotform** - Guest feedback form (free tier works)  \n*Create your form for free on Jotform using [this link](https://www.jotform.com)*\n\n**OpenAI API** - GPT-4 for AI sentiment analysis (~$0.10-0.30 per feedback)  \n\n**Gmail** - Automated notifications to managers and guests  \n\n**Google Sheets** - Feedback database and analytics dashboard  \n\n### Optional Integrations\n\n**Slack** - Real-time alerts to management team  \n**Property Management System** - Automated ticket creation (via API)  \n\n## Quick Start\n\n1. **Import Template** - Copy JSON and import into n8n\n2. **Add OpenAI Credentials** - Set up OpenAI API key (GPT-4 recommended for best results)\n3. **Create Jotform Guest Feedback Form**:\n   - Guest Name (q3_guestName)\n   - Guest Email (q4_guestEmail)\n   - Room Number (q5_roomNumber)\n   - Stay Dates (q6_stayDates)\n   - Overall Rating 1-5 (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)\n4. **Configure Gmail** - Add Gmail OAuth2 credentials (same credential for all 3 Gmail nodes)\n5. **Setup Google Sheets**:\n   - Create spreadsheet with \"Guest Feedback Analytics\" sheet\n   - Replace `YOUR_GOOGLE_SHEET_ID` in workflow\n   - Columns: timestamp, submissionId, guestName, roomNumber, stayDates, overallRating, serviceArea, sentiment, sentimentScore, urgencyLevel, keyIssues, categories, reputationImpact, recoveryOfferSent, feedbackText\n6. **Configure PMS Integration** (Optional):\n   - Add your PMS API endpoint URL\n   - Set up HTTP authentication credentials\n7. **Setup Slack Webhook** (Optional):\n   - Create Slack incoming webhook\n   - Replace `YOUR/SLACK/WEBHOOK` in workflow\n8. **Customize Email Addresses**:\n   - Update `hotel.manager@yourhotel.com`\n   - Update `guestrelations@yourhotel.com`\n   - Update review site URLs in positive feedback email\n9. **Test Workflow** - Submit test feedback through Jotform\n10. **Go Live** - Share feedback form link with guests (QR codes in rooms, checkout emails, etc.)\n\n## Customization Options\n\n**Service Recovery Tiers**: Adjust compensation levels based on issue severity and guest value  \n**Auto-Approval Thresholds**: Set limits for automatic vs manager-approved recovery offers  \n**AI Prompt Tuning**: Customize sentiment analysis criteria for your brand standards  \n**Multi-Language Support**: Add translation nodes for international guests  \n**Guest Segmentation**: VIP guests receive premium recovery offers  \n**Timing Rules**: Different workflows for during-stay vs post-checkout feedback  \n**Review Platform Integration**: Direct API connections to TripAdvisor, Google Reviews  \n**Staff Training Alerts**: Route feedback to specific department managers  \n**Competitive Analysis**: Track sentiment vs competitor properties  \n**Seasonal Adjustments**: Higher compensation during peak season to retain bookings  \n**Loyalty Program Integration**: Award points as part of service recovery  \n**Follow-Up Sequences**: Automated check-ins after issue resolution  \n\n## Expected Results\n\n**60% reduction in negative online reviews** - Proactive resolution before guests post publicly  \n**85% faster service recovery** - Automated workflows vs manual monitoring  \n**40% increase in repeat bookings** - Effective recovery turns complainers into loyalists  \n**95% manager response rate** - Instant alerts ensure nothing falls through cracks  \n**3x increase in positive review requests** - Automated outreach to satisfied guests  \n**75% cost reduction in review management** - Less time fighting bad reviews  \n**90% guest satisfaction with recovery** - Personalized, immediate responses  \n**100% feedback tracking** - Complete audit trail for quality improvement  \n**50% improvement in staff training** - Data-driven insights on recurring issues  \n**30% reduction in compensation costs** - AI optimizes offer value vs actual resolution  \n\n## Use Cases\n\n### Luxury Resort (200 Rooms)\n\n**Scenario**: Guest in oceanview suite complains about noisy pool area disrupting afternoon nap. Rating: 2/5. Feedback submitted at 2:47 PM during stay.\n\n**AI Analysis**: Sentiment = negative (35/100), Urgency = high, Impact = high reputation risk. Key issue: noise disturbance. Category: amenities/environment.\n\n**Automated Response**: \n- 2:48 PM: Hotel manager receives urgent email and Slack alert\n- 2:49 PM: AI generates recovery offer: complimentary room upgrade to quiet wing + $100 spa credit + late checkout\n- 2:52 PM: Manager reviews AI recommendation, approves via phone\n- 3:00 PM: Guest receives personalized apology email with upgrade offer\n- 3:15 PM: Guest accepts, moves to premium suite\n- 3:45 PM: Manager personally visits guest with welcome amenity\n- Next Day: Guest updates internal feedback to 5/5\n\n**Result**: $200 recovery cost prevents $5,000+ in future lost bookings from negative review. Guest becomes repeat customer, books 3 more stays over next year.\n\n### Business Hotel (80 Rooms)\n\n**Scenario**: Corporate traveler rates stay 5/5, praises front desk staff professionalism and fast WiFi. Checkout feedback at 7:23 AM.\n\n**AI Analysis**: Sentiment = positive (92/100), Urgency = low, Categories: staff excellence, amenities.\n\n**Automated Response**:\n- 7:24 AM: Thank you email sent with review request links (Google, TripAdvisor)\n- Email includes 15% discount code for next stay (WELCOME-BACK-2025)\n- Review links customized with pre-filled star ratings\n- 11:30 AM: Guest posts 5-star Google review mentioning staff by name\n\n**Result**: Positive review attracts 12 new corporate bookings over next quarter. Guest becomes regular weekly visitor. Zero manual effort required.\n\n### Budget Hotel Chain (150 Locations)\n\n**Scenario**: Guest complains about unclean bathroom, slow check-in, and uncomfortable bed. Rating: 1/5. Multiple critical issues.\n\n**AI Analysis**: Sentiment = negative (15/100), Urgency = CRITICAL, Impact = very high reputation risk. Categories: cleanliness, operations, room quality.\n\n**Automated Response**:\n- Instant email to hotel manager + regional director\n- Slack alert to #operations-critical channel\n- AI recommends: full refund + 2 free night voucher + immediate room change\n- PMS ticket created for housekeeping inspection\n- Guest receives apology within 10 minutes\n- Manager calls guest personally within 20 minutes\n- Room changed immediately, housekeeping staff retrained\n\n**Result**: Guest accepts recovery offer, doesn't post negative review. Systemic cleaning issue identified and corrected across all 150 locations, preventing 1,000+ potential complaints.\n\n### Boutique B&B (12 Rooms)\n\n**Scenario**: Couple celebrating anniversary rates stay 4/5, mentions minor issue with breakfast timing but overall lovely experience.\n\n**AI Analysis**: Sentiment = positive (78/100), Urgency = low, Issue noted: breakfast service timing, Categories: dining, overall satisfaction.\n\n**Automated Response**:\n- Thank you email with review requests\n- AI suggests small gesture: complimentary breakfast on next visit\n- Owner receives gentle notification about breakfast timing feedback (not urgent)\n- Follow-up email includes personalized anniversary wishes\n\n**Result**: Couple posts glowing TripAdvisor review, becomes annual anniversary tradition. Breakfast timing adjusted based on feedback trend analysis. Personal touch strengthens brand loyalty.\n\n### Resort During Peak Season\n\n**Scenario**: Family of 4 complains about overbooked pool area, long wait times at restaurant, stressed staff. Rating: 3/5. Peak season capacity issues.\n\n**AI Analysis**: Sentiment = neutral-negative (45/100), Urgency = medium, Categories: capacity management, staffing, amenities access. AI notes this is systemic, not individual service failure.\n\n**Automated Response**:\n- Manager receives analysis highlighting capacity issues vs service quality\n- AI recommends: restaurant priority reservations rest of stay + late checkout + $150 resort credit\n- Recovery offer emphasizes \"peak season challenges we're addressing\"\n- Guest receives empathetic communication acknowledging valid concerns\n- Operations team receives alert about capacity strain for staffing adjustments\n\n**Result**: Family accepts offer, enjoys remaining days. Operations team adds staff for following weekend. Feedback trends identify need for reservation system improvements, implemented before next season.\n\n## Pro Tips\n\n**QR Code Distribution**: Place QR codes linking to feedback form in every room, at checkout desk, and in common areas\n\n**Timing Optimization**: Send feedback requests on Day 2 of stay (not checkout) to enable real-time recovery\n\n**Manager Training**: Educate managers on interpreting AI sentiment scores and urgency classifications\n\n**Recovery Budgets**: Set department budgets for service recovery offers ($50-500 per incident)\n\n**Review Monitoring**: Cross-reference internal feedback with online reviews to measure prevention effectiveness\n\n**Staff Recognition**: Share positive feedback with staff members mentioned by name\n\n**Trend Analysis**: Weekly reviews of Google Sheets data to identify recurring issues\n\n**Seasonal Patterns**: Track sentiment scores across different seasons and events\n\n**Competitor Benchmarking**: Compare your sentiment scores to industry averages\n\n**Follow-Up Surveys**: Send 30-day post-stay surveys to guests who received service recovery\n\n**Loyalty Integration**: Higher-tier loyalty members receive premium recovery offers\n\n**Language Customization**: For international properties, adjust AI prompts for cultural norms\n\n**Response Time Tracking**: Monitor average time from feedback to resolution\n\n**Cost-Benefit Analysis**: Track recovery offer costs vs prevented negative review impact\n\n**Success Metrics Dashboard**: Create Google Data Studio dashboard from Sheets data\n\n## Learning Resources\n\nThis workflow demonstrates advanced automation:\n\n**AI Agents with Multi-Dimensional Analysis**: Sentiment scoring, urgency classification, impact assessment, and recovery recommendations\n\n**Conditional Logic Routing**: Different workflows for positive, negative, and critical feedback\n\n**Real-Time Alerting**: Multi-channel notifications (email + Slack) for urgent issues\n\n**Dynamic Content Generation**: AI creates personalized emails based on sentiment analysis\n\n**API Integration Patterns**: Property Management System ticket creation via HTTP requests\n\n**Data Aggregation**: Complete feedback logging for business intelligence and reporting\n\n**Natural Language Processing**: AI extracts key issues, categories, and emotional tone from free-text feedback\n\n**Decision Support Systems**: Provides managers with AI recommendations and key considerations\n\n**Approval Workflows**: Optional manager approval step for high-value recovery offers\n\n**Guest Communication Templates**: Professional, empathetic email templates for all scenarios\n\n## Business Impact Metrics\n\n**Review Management ROI**: Compare cost of service recovery vs reputation management services (typically $500-2000/month)\n\n**Guest Lifetime Value**: Track repeat booking rates for guests who received service recovery vs those who didn't\n\n**Online Reputation Score**: Monitor aggregate rating improvements on Google, TripAdvisor, Booking.com\n\n**Staff Efficiency**: Calculate hours saved vs manual feedback monitoring and response\n\n**Revenue Protection**: Estimate revenue preserved by preventing negative reviews (avg negative review costs hotel $2,000-5,000 in lost bookings)\n\n**Recovery Success Rate**: Percentage of negative feedback resolved without resulting in online reviews\n\n**Response Time**: Average minutes from feedback submission to initial response\n\n**First-Contact Resolution**: Percentage of issues resolved without multiple interactions\n\n**Training ROI**: Reduction in recurring issues after staff training based on feedback trends\n\n**Competitive Positioning**: Sentiment score comparison vs competitor properties\n\n---\n\n## Ready to Transform Your Guest Experience?\n\nImport this template and turn guest feedback into your competitive advantage with AI-powered insights and automation! 🏨✨\n\n**Questions or customization?** The workflow includes detailed sticky notes explaining each AI analysis component and decision logic.\n\n### Template Compatibility\n- ✅ n8n version 1.0+\n- ✅ Works with n8n Cloud and Self-Hosted\n- ✅ No coding required for basic setup\n- ✅ Fully customizable for advanced users\n\n\n\n",
    "workflow": {
      "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": "user@example.com",
            "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": "user@example.com"
            },
            "subject": "=🚨 URGENT: Guest Feedback Requires Immediate Action - Room {{ $('Extract Feedback Data').item.json.roomNumber }}"
          },
          "credentials": {
            "gmailOAuth2": {
              "id": "credential-id",
              "name": "gmailOAuth2 Credential"
            }
          },
          "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": "credential-id",
              "name": "gmailOAuth2 Credential"
            }
          },
          "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 guestrelations@yourhotel.com</p>\n</div>",
            "options": {},
            "subject": "=Thank You for Your Wonderful Feedback, {{ $('Extract Feedback Data').item.json.guestName }}!"
          },
          "credentials": {
            "gmailOAuth2": {
              "id": "credential-id",
              "name": "gmailOAuth2 Credential"
            }
          },
          "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": "credential-id",
              "name": "googleSheetsOAuth2Api Credential"
            }
          },
          "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": "credential-id",
              "name": "jotFormApi Credential"
            }
          },
          "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": "credential-id",
              "name": "openAiApi Credential"
            }
          },
          "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": "credential-id",
              "name": "openAiApi Credential"
            }
          },
          "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
              }
            ]
          ]
        }
      }
    },
    "lastUpdatedBy": 1,
    "workflowInfo": {
      "nodeCount": 26,
      "nodeTypes": {
        "n8n-nodes-base.if": {
          "count": 3
        },
        "n8n-nodes-base.set": {
          "count": 3
        },
        "n8n-nodes-base.gmail": {
          "count": 3
        },
        "n8n-nodes-base.stickyNote": {
          "count": 9
        },
        "n8n-nodes-base.httpRequest": {
          "count": 2
        },
        "n8n-nodes-base.googleSheets": {
          "count": 1
        },
        "n8n-nodes-base.jotFormTrigger": {
          "count": 1
        },
        "@n8n/n8n-nodes-langchain.agent": {
          "count": 2
        },
        "@n8n/n8n-nodes-langchain.lmChatOpenAi": {
          "count": 2
        }
      }
    },
    "status": "published",
    "user": {
      "name": "Jitesh Dugar",
      "username": "jiteshdugar",
      "bio": "AI Automation Specialist - OpenAI, CRM & Automation Expert with a solid understanding of various tools that include Zapier, Make, Zoho CRM, Hubspot, Google Sheets, Airtable, Pipedrive, Google Analytics, and more.",
      "verified": true,
      "links": [
        "https://www.linkedin.com/in/jiteshdugar"
      ],
      "avatar": "https://gravatar.com/avatar/edaa3abb99806b0586dced559d0a5417f24a507e7c4464a63960f0638a4b1b90?r=pg&d=retro&size=200"
    },
    "nodes": [
      {
        "id": 18,
        "icon": "file:googleSheets.svg",
        "name": "n8n-nodes-base.googleSheets",
        "codex": {
          "data": {
            "alias": [
              "CSV",
              "Sheet",
              "Spreadsheet",
              "GS"
            ],
            "resources": {
              "generic": [
                {
                  "url": "https://n8n.io/blog/love-at-first-sight-ricardos-n8n-journey/",
                  "icon": "❤️",
                  "label": "Love at first sight: Ricardo’s n8n journey"
                },
                {
                  "url": "https://n8n.io/blog/why-business-process-automation-with-n8n-can-change-your-daily-life/",
                  "icon": "🧬",
                  "label": "Why business process automation with n8n can change your daily life"
                },
                {
                  "url": "https://n8n.io/blog/automatically-adding-expense-receipts-to-google-sheets-with-telegram-mindee-twilio-and-n8n/",
                  "icon": "🧾",
                  "label": "Automatically Adding Expense Receipts to Google Sheets with Telegram, Mindee, Twilio, and n8n"
                },
                {
                  "url": "https://n8n.io/blog/supercharging-your-conference-registration-process-with-n8n/",
                  "icon": "🎫",
                  "label": "Supercharging your conference registration process with n8n"
                },
                {
                  "url": "https://n8n.io/blog/creating-triggers-for-n8n-workflows-using-polling/",
                  "icon": "⏲",
                  "label": "Creating triggers for n8n workflows using polling"
                },
                {
                  "url": "https://n8n.io/blog/no-code-ecommerce-workflow-automations/",
                  "icon": "store",
                  "label": "6 e-commerce workflows to power up your Shopify s"
                },
                {
                  "url": "https://n8n.io/blog/migrating-community-metrics-to-orbit-using-n8n/",
                  "icon": "📈",
                  "label": "Migrating Community Metrics to Orbit using n8n"
                },
                {
                  "url": "https://n8n.io/blog/automate-google-apps-for-productivity/",
                  "icon": "💡",
                  "label": "15 Google apps you can combine and automate to increase productivity"
                },
                {
                  "url": "https://n8n.io/blog/your-business-doesnt-need-you-to-operate/",
                  "icon": " 🖥️",
                  "label": "Hey founders! Your business doesn't need you to operate"
                },
                {
                  "url": "https://n8n.io/blog/how-honest-burgers-use-automation-to-save-100k-per-year/",
                  "icon": "🍔",
                  "label": "How Honest Burgers Use Automation to Save $100k per year"
                },
                {
                  "url": "https://n8n.io/blog/how-a-digital-strategist-uses-n8n-for-online-marketing/",
                  "icon": "💻",
                  "label": "How a digital strategist uses n8n for online marketing"
                },
                {
                  "url": "https://n8n.io/blog/why-this-product-manager-loves-workflow-automation-with-n8n/",
                  "icon": "🧠",
                  "label": "Why this Product Manager loves workflow automation with n8n"
                },
                {
                  "url": "https://n8n.io/blog/sending-automated-congratulations-with-google-sheets-twilio-and-n8n/",
                  "icon": "🙌",
                  "label": "Sending Automated Congratulations with Google Sheets, Twilio, and n8n "
                },
                {
                  "url": "https://n8n.io/blog/how-a-membership-development-manager-automates-his-work-and-investments/",
                  "icon": "📈",
                  "label": "How a Membership Development Manager automates his work and investments"
                },
                {
                  "url": "https://n8n.io/blog/aws-workflow-automation/",
                  "label": "7 no-code workflow automations for Amazon Web Services"
                }
              ],
              "primaryDocumentation": [
                {
                  "url": "https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-base.googlesheets/"
                }
              ],
              "credentialDocumentation": [
                {
                  "url": "https://docs.n8n.io/integrations/builtin/credentials/google/oauth-single-service/"
                }
              ]
            },
            "categories": [
              "Data & Storage",
              "Productivity"
            ],
            "nodeVersion": "1.0",
            "codexVersion": "1.0"
          }
        },
        "group": "[\"input\",\"output\"]",
        "defaults": {
          "name": "Google Sheets"
        },
        "iconData": {
          "type": "file",
          "fileBuffer": "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI2MCIgaGVpZ2h0PSI2MCI+PGcgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPjxwYXRoIGZpbGw9IiMyOEI0NDYiIGQ9Ik0zNS42OSAxIDUyIDE3LjIyNXYzOS4wODdhMy42NyAzLjY3IDAgMCAxLTEuMDg0IDIuNjFBMy43IDMuNyAwIDAgMSA0OC4yOTMgNjBIMTIuNzA3YTMuNyAzLjcgMCAwIDEtMi42MjMtMS4wNzhBMy42NyAzLjY3IDAgMCAxIDkgNTYuMzEyVjQuNjg4YTMuNjcgMy42NyAwIDAgMSAxLjA4NC0yLjYxQTMuNyAzLjcgMCAwIDEgMTIuNzA3IDF6Ii8+PHBhdGggZmlsbD0iIzZBQ0U3QyIgZD0iTTM1LjY5IDEgNTIgMTcuMjI1SDM5LjM5N2MtMi4wNTQgMC0zLjcwNy0xLjgyOS0zLjcwNy0zLjg3MnoiLz48cGF0aCBmaWxsPSIjMjE5QjM4IiBkPSJNMzkuMjExIDE3LjIyNSA1MiAyMi40OHYtNS4yNTV6Ii8+PHBhdGggZmlsbD0iI0ZGRiIgZD0iTTIwLjEyIDMxLjk3NWMwLS44MTcuNjYyLTEuNDc1IDEuNDgzLTEuNDc1aDE3Ljc5NGMuODIxIDAgMS40ODIuNjU4IDEuNDgyIDEuNDc1djE1LjQ4N2MwIC44MTgtLjY2MSAxLjQ3NS0xLjQ4MiAxLjQ3NUgyMS42MDNhMS40NzYgMS40NzYgMCAwIDEtMS40ODItMS40NzRWMzEuOTc0em0yLjIyNSAxLjQ3NWg2LjY3MnYyLjIxMmgtNi42NzJ6bTAgNS4xNjJoNi42NzJ2Mi4yMTNoLTYuNjcyem0wIDUuMTYzaDYuNjcydjIuMjEyaC02LjY3MnptOS42MzgtMTAuMzI1aDYuNjcydjIuMjEyaC02LjY3MnptMCA1LjE2Mmg2LjY3MnYyLjIxM2gtNi42NzJ6bTAgNS4xNjNoNi42NzJ2Mi4yMTJoLTYuNjcyeiIvPjxwYXRoIGZpbGw9IiMyOEI0NDYiIGQ9Ik0zNC42OSAwIDUxIDE2LjIyNXYzOS4wODdhMy42NyAzLjY3IDAgMCAxLTEuMDg0IDIuNjFBMy43IDMuNyAwIDAgMSA0Ny4yOTMgNTlIMTEuNzA3YTMuNyAzLjcgMCAwIDEtMi42MjMtMS4wNzhBMy42NyAzLjY3IDAgMCAxIDggNTUuMzEyVjMuNjg4YTMuNjcgMy42NyAwIDAgMSAxLjA4NC0yLjYxQTMuNyAzLjcgMCAwIDEgMTEuNzA3IDB6Ii8+PHBhdGggZmlsbD0iIzZBQ0U3QyIgZD0iTTM0LjY5IDAgNTEgMTYuMjI1SDM4LjM5N2MtMi4wNTQgMC0zLjcwNy0xLjgyOS0zLjcwNy0zLjg3MnoiLz48cGF0aCBmaWxsPSIjMjE5QjM4IiBkPSJNMzguMjExIDE2LjIyNSA1MSAyMS40OHYtNS4yNTV6Ii8+PHBhdGggZmlsbD0iI0ZGRiIgZD0iTTE5LjEyIDMwLjk3NWMwLS44MTcuNjYyLTEuNDc1IDEuNDgzLTEuNDc1aDE3Ljc5NGMuODIxIDAgMS40ODIuNjU4IDEuNDgyIDEuNDc1djE1LjQ4N2MwIC44MTgtLjY2MSAxLjQ3NS0xLjQ4MiAxLjQ3NUgyMC42MDNhMS40NzYgMS40NzYgMCAwIDEtMS40ODItMS40NzRWMzAuOTc0em0yLjIyNSAxLjQ3NWg2LjY3MnYyLjIxMmgtNi42NzJ6bTAgNS4xNjJoNi42NzJ2Mi4yMTNoLTYuNjcyem0wIDUuMTYzaDYuNjcydjIuMjEyaC02LjY3MnptOS42MzgtMTAuMzI1aDYuNjcydjIuMjEyaC02LjY3MnptMCA1LjE2Mmg2LjY3MnYyLjIxM2gtNi42NzJ6bTAgNS4xNjNoNi42NzJ2Mi4yMTJoLTYuNjcyeiIvPjwvZz48L3N2Zz4="
        },
        "displayName": "Google Sheets",
        "typeVersion": 5,
        "nodeCategories": [
          {
            "id": 3,
            "name": "Data & Storage"
          },
          {
            "id": 4,
            "name": "Productivity"
          }
        ]
      },
      {
        "id": 19,
        "icon": "file:httprequest.svg",
        "name": "n8n-nodes-base.httpRequest",
        "codex": {
          "data": {
            "alias": [
              "API",
              "Request",
              "URL",
              "Build",
              "cURL"
            ],
            "resources": {
              "generic": [
                {
                  "url": "https://n8n.io/blog/2021-the-year-to-automate-the-new-you-with-n8n/",
                  "icon": "☀️",
                  "label": "2021: The Year to Automate the New You with n8n"
                },
                {
                  "url": "https://n8n.io/blog/why-business-process-automation-with-n8n-can-change-your-daily-life/",
                  "icon": "🧬",
                  "label": "Why business process automation with n8n can change your daily life"
                },
                {
                  "url": "https://n8n.io/blog/automatically-pulling-and-visualizing-data-with-n8n/",
                  "icon": "📈",
                  "label": "Automatically pulling and visualizing data with n8n"
                },
                {
                  "url": "https://n8n.io/blog/learn-how-to-automatically-cross-post-your-content-with-n8n/",
                  "icon": "✍️",
                  "label": "Learn how to automatically cross-post your content with n8n"
                },
                {
                  "url": "https://n8n.io/blog/automatically-adding-expense-receipts-to-google-sheets-with-telegram-mindee-twilio-and-n8n/",
                  "icon": "🧾",
                  "label": "Automatically Adding Expense Receipts to Google Sheets with Telegram, Mindee, Twilio, and n8n"
                },
                {
                  "url": "https://n8n.io/blog/running-n8n-on-ships-an-interview-with-maranics/",
                  "icon": "🛳",
                  "label": "Running n8n on ships: An interview with Maranics"
                },
                {
                  "url": "https://n8n.io/blog/what-are-apis-how-to-use-them-with-no-code/",
                  "icon": " 🪢",
                  "label": "What are APIs and how to use them with no code"
                },
                {
                  "url": "https://n8n.io/blog/5-tasks-you-can-automate-with-notion-api/",
                  "icon": "⚡️",
                  "label": "5 tasks you can automate with the new Notion API "
                },
                {
                  "url": "https://n8n.io/blog/world-poetry-day-workflow/",
                  "icon": "📜",
                  "label": "Celebrating World Poetry Day with a daily poem in Telegram"
                },
                {
                  "url": "https://n8n.io/blog/automate-google-apps-for-productivity/",
                  "icon": "💡",
                  "label": "15 Google apps you can combine and automate to increase productivity"
                },
                {
                  "url": "https://n8n.io/blog/automate-designs-with-bannerbear-and-n8n/",
                  "icon": "🎨",
                  "label": "Automate Designs with Bannerbear and n8n"
                },
                {
                  "url": "https://n8n.io/blog/how-uproc-scraped-a-multi-page-website-with-a-low-code-workflow/",
                  "icon": " 🕸️",
                  "label": "How uProc scraped a multi-page website with a low-code workflow"
                },
                {
                  "url": "https://n8n.io/blog/building-an-expense-tracking-app-in-10-minutes/",
                  "icon": "📱",
                  "label": "Building an expense tracking app in 10 minutes"
                },
                {
                  "url": "https://n8n.io/blog/5-workflow-automations-for-mattermost-that-we-love-at-n8n/",
                  "icon": "🤖",
                  "label": "5 workflow automations for Mattermost that we love at n8n"
                },
                {
                  "url": "https://n8n.io/blog/how-to-use-the-http-request-node-the-swiss-army-knife-for-workflow-automation/",
                  "icon": "🧰",
                  "label": "How to use the HTTP Request Node - The Swiss Army Knife for Workflow Automation"
                },
                {
                  "url": "https://n8n.io/blog/learn-how-to-use-webhooks-with-mattermost-slash-commands/",
                  "icon": "🦄",
                  "label": "Learn how to use webhooks with Mattermost slash commands"
                },
                {
                  "url": "https://n8n.io/blog/how-a-membership-development-manager-automates-his-work-and-investments/",
                  "icon": "📈",
                  "label": "How a Membership Development Manager automates his work and investments"
                },
                {
                  "url": "https://n8n.io/blog/a-low-code-bitcoin-ticker-built-with-questdb-and-n8n-io/",
                  "icon": "📈",
                  "label": "A low-code bitcoin ticker built with QuestDB and n8n.io"
                },
                {
                  "url": "https://n8n.io/blog/how-to-set-up-a-ci-cd-pipeline-with-no-code/",
                  "icon": "🎡",
                  "label": "How to set up a no-code CI/CD pipeline with GitHub and TravisCI"
                },
                {
                  "url": "https://n8n.io/blog/automations-for-activists/",
                  "icon": "✨",
                  "label": "How Common Knowledge use workflow automation for activism"
                },
                {
                  "url": "https://n8n.io/blog/creating-scheduled-text-affirmations-with-n8n/",
                  "icon": "🤟",
                  "label": "Creating scheduled text affirmations with n8n"
                },
                {
                  "url": "https://n8n.io/blog/how-goomer-automated-their-operations-with-over-200-n8n-workflows/",
                  "icon": "🛵",
                  "label": "How Goomer automated their operations with over 200 n8n workflows"
                },
                {
                  "url": "https://n8n.io/blog/aws-workflow-automation/",
                  "label": "7 no-code workflow automations for Amazon Web Services"
                }
              ],
              "primaryDocumentation": [
                {
                  "url": "https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.httprequest/"
                }
              ]
            },
            "categories": [
              "Development",
              "Core Nodes"
            ],
            "nodeVersion": "1.0",
            "codexVersion": "1.0",
            "subcategories": {
              "Core Nodes": [
                "Helpers"
              ]
            }
          }
        },
        "group": "[\"output\"]",
        "defaults": {
          "name": "HTTP Request",
          "color": "#0004F5"
        },
        "iconData": {
          "type": "file",
          "fileBuffer": "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNDAiIGhlaWdodD0iNDAiIHZpZXdCb3g9IjAgMCA0MCA0MCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik00MCAyMEM0MCA4Ljk1MzE0IDMxLjA0NjkgMCAyMCAwQzguOTUzMTQgMCAwIDguOTUzMTQgMCAyMEMwIDMxLjA0NjkgOC45NTMxNCA0MCAyMCA0MEMzMS4wNDY5IDQwIDQwIDMxLjA0NjkgNDAgMjBaTTIwIDM2Ljk0NThDMTguODg1MiAzNi45NDU4IDE3LjEzNzggMzUuOTY3IDE1LjQ5OTggMzIuNjk4NUMxNC43OTY0IDMxLjI5MTggMTQuMTk2MSAyOS41NDMxIDEzLjc1MjYgMjcuNjg0N0gyNi4xODk4QzI1LjgwNDUgMjkuNTQwMyAyNS4yMDQ0IDMxLjI5MDEgMjQuNTAwMiAzMi42OTg1QzIyLjg2MjIgMzUuOTY3IDIxLjExNDggMzYuOTQ1OCAyMCAzNi45NDU4Wk0xMi45MDY0IDIwQzEyLjkwNjQgMjEuNjA5NyAxMy4wMDg3IDIzLjE2NCAxMy4yMDAzIDI0LjYzMDVIMjYuNzk5N0MyNi45OTEzIDIzLjE2NCAyNy4wOTM2IDIxLjYwOTcgMjcuMDkzNiAyMEMyNy4wOTM2IDE4LjM5MDMgMjYuOTkxMyAxNi44MzYgMjYuNzk5NyAxNS4zNjk1SDEzLjIwMDNDMTMuMDA4NyAxNi44MzYgMTIuOTA2NCAxOC4zOTAzIDEyLjkwNjQgMjBaTTIwIDMuMDU0MTlDMjEuMTE0OSAzLjA1NDE5IDIyLjg2MjIgNC4wMzA3OCAyNC41MDAxIDcuMzAwMzlDMjUuMjA2NiA4LjcxNDA4IDI1LjgwNzIgMTAuNDA2NyAyNi4xOTIgMTIuMzE1M0gxMy43NTAxQzE0LjE5MzMgMTAuNDA0NyAxNC43OTQyIDguNzEyNTQgMTUuNDk5OCA3LjMwMDY0QzE3LjEzNzcgNC4wMzA4MyAxOC44ODUxIDMuMDU0MTkgMjAgMy4wNTQxOVpNMzAuMTQ3OCAyMEMzMC4xNDc4IDE4LjQwOTkgMzAuMDU0MyAxNi44NjE3IDI5LjgyMjcgMTUuMzY5NUgzNi4zMDQyQzM2LjcyNTIgMTYuODQyIDM2Ljk0NTggMTguMzk2NCAzNi45NDU4IDIwQzM2Ljk0NTggMjEuNjAzNiAzNi43MjUyIDIzLjE1OCAzNi4zMDQyIDI0LjYzMDVIMjkuODIyN0MzMC4wNTQzIDIzLjEzODMgMzAuMTQ3OCAyMS41OTAxIDMwLjE0NzggMjBaTTI2LjI3NjcgNC4yNTUxMkMyNy42MzY1IDYuMzYwMTkgMjguNzExIDkuMTMyIDI5LjM3NzQgMTIuMzE1M0gzNS4xMDQ2QzMzLjI1MTEgOC42NjggMzAuMTA3IDUuNzgzNDYgMjYuMjc2NyA0LjI1NTEyWk0xMC42MjI2IDEyLjMxNTNINC44OTI5M0M2Ljc1MTQ3IDguNjY3ODQgOS44OTM1MSA1Ljc4MzQxIDEzLjcyMzIgNC4yNTUxM0MxMi4zNjM1IDYuMzYwMjEgMTEuMjg5IDkuMTMyMDEgMTAuNjIyNiAxMi4zMTUzWk0zLjA1NDE5IDIwQzMuMDU0MTkgMjEuNjAzIDMuMjc3NDMgMjMuMTU3NSAzLjY5NDg0IDI0LjYzMDVIMTAuMTIxN0M5Ljk0NjE5IDIzLjE0MiA5Ljg1MjIyIDIxLjU5NDMgOS44NTIyMiAyMEM5Ljg1MjIyIDE4LjQwNTcgOS45NDYxOSAxNi44NTggMTAuMTIxNyAxNS4zNjk1SDMuNjk0ODRDMy4yNzc0MyAxNi44NDI1IDMuMDU0MTkgMTguMzk3IDMuMDU0MTkgMjBaTTI2LjI3NjYgMzUuNzQyN0MyNy42MzY1IDMzLjYzOTMgMjguNzExIDMwLjg2OCAyOS4zNzc0IDI3LjY4NDdIMzUuMTA0NkMzMy4yNTEgMzEuMzMyMiAzMC4xMDY4IDM0LjIxNzkgMjYuMjc2NiAzNS43NDI3Wk0xMy43MjM0IDM1Ljc0MjdDOS44OTM2OSAzNC4yMTc5IDYuNzUxNTUgMzEuMzMyNCA0Ljg5MjkzIDI3LjY4NDdIMTAuNjIyNkMxMS4yODkgMzAuODY4IDEyLjM2MzUgMzMuNjM5MyAxMy43MjM0IDM1Ljc0MjdaIiBmaWxsPSIjM0E0MkU5Ii8+Cjwvc3ZnPgo="
        },
        "displayName": "HTTP Request",
        "typeVersion": 4,
        "nodeCategories": [
          {
            "id": 5,
            "name": "Development"
          },
          {
            "id": 9,
            "name": "Core Nodes"
          }
        ]
      },
      {
        "id": 20,
        "icon": "fa:map-signs",
        "name": "n8n-nodes-base.if",
        "codex": {
          "data": {
            "alias": [
              "Router",
              "Filter",
              "Condition",
              "Logic",
              "Boolean",
              "Branch"
            ],
            "details": "The IF node can be used to implement binary conditional logic in your workflow. You can set up one-to-many conditions to evaluate each item of data being inputted into the node. That data will either evaluate to TRUE or FALSE and route out of the node accordingly.\n\nThis node has multiple types of conditions: Bool, String, Number, and Date & Time.",
            "resources": {
              "generic": [
                {
                  "url": "https://n8n.io/blog/learn-to-automate-your-factorys-incident-reporting-a-step-by-step-guide/",
                  "icon": "🏭",
                  "label": "Learn to Automate Your Factory's Incident Reporting: A Step by Step Guide"
                },
                {
                  "url": "https://n8n.io/blog/2021-the-year-to-automate-the-new-you-with-n8n/",
                  "icon": "☀️",
                  "label": "2021: The Year to Automate the New You with n8n"
                },
                {
                  "url": "https://n8n.io/blog/why-business-process-automation-with-n8n-can-change-your-daily-life/",
                  "icon": "🧬",
                  "label": "Why business process automation with n8n can change your daily life"
                },
                {
                  "url": "https://n8n.io/blog/create-a-toxic-language-detector-for-telegram/",
                  "icon": "🤬",
                  "label": "Create a toxic language detector for Telegram in 4 step"
                },
                {
                  "url": "https://n8n.io/blog/no-code-ecommerce-workflow-automations/",
                  "icon": "store",
                  "label": "6 e-commerce workflows to power up your Shopify s"
                },
                {
                  "url": "https://n8n.io/blog/how-to-build-a-low-code-self-hosted-url-shortener/",
                  "icon": "🔗",
                  "label": "How to build a low-code, self-hosted URL shortener in 3 steps"
                },
                {
                  "url": "https://n8n.io/blog/automate-your-data-processing-pipeline-in-9-steps-with-n8n/",
                  "icon": "⚙️",
                  "label": "Automate your data processing pipeline in 9 steps"
                },
                {
                  "url": "https://n8n.io/blog/how-to-get-started-with-crm-automation-and-no-code-workflow-ideas/",
                  "icon": "👥",
                  "label": "How to get started with CRM automation (with 3 no-code workflow ideas"
                },
                {
                  "url": "https://n8n.io/blog/5-tasks-you-can-automate-with-notion-api/",
                  "icon": "⚡️",
                  "label": "5 tasks you can automate with the new Notion API "
                },
                {
                  "url": "https://n8n.io/blog/automate-google-apps-for-productivity/",
                  "icon": "💡",
                  "label": "15 Google apps you can combine and automate to increase productivity"
                },
                {
                  "url": "https://n8n.io/blog/automation-for-maintainers-of-open-source-projects/",
                  "icon": "🏷️",
                  "label": "How to automatically manage contributions to open-source projects"
                },
                {
                  "url": "https://n8n.io/blog/how-uproc-scraped-a-multi-page-website-with-a-low-code-workflow/",
                  "icon": " 🕸️",
                  "label": "How uProc scraped a multi-page website with a low-code workflow"
                },
                {
                  "url": "https://n8n.io/blog/5-workflow-automations-for-mattermost-that-we-love-at-n8n/",
                  "icon": "🤖",
                  "label": "5 workflow automations for Mattermost that we love at n8n"
                },
                {
                  "url": "https://n8n.io/blog/why-this-product-manager-loves-workflow-automation-with-n8n/",
                  "icon": "🧠",
                  "label": "Why this Product Manager loves workflow automation with n8n"
                },
                {
                  "url": "https://n8n.io/blog/sending-automated-congratulations-with-google-sheets-twilio-and-n8n/",
                  "icon": "🙌",
                  "label": "Sending Automated Congratulations with Google Sheets, Twilio, and n8n "
                },
                {
                  "url": "https://n8n.io/blog/how-to-set-up-a-ci-cd-pipeline-with-no-code/",
                  "icon": "🎡",
                  "label": "How to set up a no-code CI/CD pipeline with GitHub and TravisCI"
                },
                {
                  "url": "https://n8n.io/blog/benefits-of-automation-and-n8n-an-interview-with-hubspots-hugh-durkin/",
                  "icon": "🎖",
                  "label": "Benefits of automation and n8n: An interview with HubSpot's Hugh Durkin"
                },
                {
                  "url": "https://n8n.io/blog/aws-workflow-automation/",
                  "label": "7 no-code workflow automations for Amazon Web Services"
                }
              ],
              "primaryDocumentation": [
                {
                  "url": "https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.if/"
                }
              ]
            },
            "categories": [
              "Core Nodes"
            ],
            "nodeVersion": "1.0",
            "codexVersion": "1.0",
            "subcategories": {
              "Core Nodes": [
                "Flow"
              ]
            }
          }
        },
        "group": "[\"transform\"]",
        "defaults": {
          "name": "If",
          "color": "#408000"
        },
        "iconData": {
          "icon": "map-signs",
          "type": "icon"
        },
        "displayName": "If",
        "typeVersion": 2,
        "nodeCategories": [
          {
            "id": 9,
            "name": "Core Nodes"
          }
        ]
      },
      {
        "id": 38,
        "icon": "fa:pen",
        "name": "n8n-nodes-base.set",
        "codex": {
          "data": {
            "alias": [
              "Set",
              "JS",
              "JSON",
              "Filter",
              "Transform",
              "Map"
            ],
            "resources": {
              "generic": [
                {
                  "url": "https://n8n.io/blog/learn-to-automate-your-factorys-incident-reporting-a-step-by-step-guide/",
                  "icon": "🏭",
                  "label": "Learn to Automate Your Factory's Incident Reporting: A Step by Step Guide"
                },
                {
                  "url": "https://n8n.io/blog/2021-the-year-to-automate-the-new-you-with-n8n/",
                  "icon": "☀️",
                  "label": "2021: The Year to Automate the New You with n8n"
                },
                {
                  "url": "https://n8n.io/blog/automatically-pulling-and-visualizing-data-with-n8n/",
                  "icon": "📈",
                  "label": "Automatically pulling and visualizing data with n8n"
                },
                {
                  "url": "https://n8n.io/blog/database-monitoring-and-alerting-with-n8n/",
                  "icon": "📡",
                  "label": "Database Monitoring and Alerting with n8n"
                },
                {
                  "url": "https://n8n.io/blog/automatically-adding-expense-receipts-to-google-sheets-with-telegram-mindee-twilio-and-n8n/",
                  "icon": "🧾",
                  "label": "Automatically Adding Expense Receipts to Google Sheets with Telegram, Mindee, Twilio, and n8n"
                },
                {
                  "url": "https://n8n.io/blog/no-code-ecommerce-workflow-automations/",
                  "icon": "store",
                  "label": "6 e-commerce workflows to power up your Shopify s"
                },
                {
                  "url": "https://n8n.io/blog/how-to-build-a-low-code-self-hosted-url-shortener/",
                  "icon": "🔗",
                  "label": "How to build a low-code, self-hosted URL shortener in 3 steps"
                },
                {
                  "url": "https://n8n.io/blog/automate-your-data-processing-pipeline-in-9-steps-with-n8n/",
                  "icon": "⚙️",
                  "label": "Automate your data processing pipeline in 9 steps"
                },
                {
                  "url": "https://n8n.io/blog/how-to-get-started-with-crm-automation-and-no-code-workflow-ideas/",
                  "icon": "👥",
                  "label": "How to get started with CRM automation (with 3 no-code workflow ideas"
                },
                {
                  "url": "https://n8n.io/blog/5-tasks-you-can-automate-with-notion-api/",
                  "icon": "⚡️",
                  "label": "5 tasks you can automate with the new Notion API "
                },
                {
                  "url": "https://n8n.io/blog/automate-google-apps-for-productivity/",
                  "icon": "💡",
                  "label": "15 Google apps you can combine and automate to increase productivity"
                },
                {
                  "url": "https://n8n.io/blog/how-uproc-scraped-a-multi-page-website-with-a-low-code-workflow/",
                  "icon": " 🕸️",
                  "label": "How uProc scraped a multi-page website with a low-code workflow"
                },
                {
                  "url": "https://n8n.io/blog/building-an-expense-tracking-app-in-10-minutes/",
                  "icon": "📱",
                  "label": "Building an expense tracking app in 10 minutes"
                },
                {
                  "url": "https://n8n.io/blog/the-ultimate-guide-to-automate-your-video-collaboration-with-whereby-mattermost-and-n8n/",
                  "icon": "📹",
                  "label": "The ultimate guide to automate your video collaboration with Whereby, Mattermost, and n8n"
                },
                {
                  "url": "https://n8n.io/blog/5-workflow-automations-for-mattermost-that-we-love-at-n8n/",
                  "icon": "🤖",
                  "label": "5 workflow automations for Mattermost that we love at n8n"
                },
                {
                  "url": "https://n8n.io/blog/learn-to-build-powerful-api-endpoints-using-webhooks/",
                  "icon": "🧰",
                  "label": "Learn to Build Powerful API Endpoints Using Webhooks"
                },
                {
                  "url": "https://n8n.io/blog/how-a-membership-development-manager-automates-his-work-and-investments/",
                  "icon": "📈",
                  "label": "How a Membership Development Manager automates his work and investments"
                },
                {
                  "url": "https://n8n.io/blog/a-low-code-bitcoin-ticker-built-with-questdb-and-n8n-io/",
                  "icon": "📈",
                  "label": "A low-code bitcoin ticker built with QuestDB and n8n.io"
                },
                {
                  "url": "https://n8n.io/blog/how-to-set-up-a-ci-cd-pipeline-with-no-code/",
                  "icon": "🎡",
                  "label": "How to set up a no-code CI/CD pipeline with GitHub and TravisCI"
                },
                {
                  "url": "https://n8n.io/blog/benefits-of-automation-and-n8n-an-interview-with-hubspots-hugh-durkin/",
                  "icon": "🎖",
                  "label": "Benefits of automation and n8n: An interview with HubSpot's Hugh Durkin"
                },
                {
                  "url": "https://n8n.io/blog/how-goomer-automated-their-operations-with-over-200-n8n-workflows/",
                  "icon": "🛵",
                  "label": "How Goomer automated their operations with over 200 n8n workflows"
                },
                {
                  "url": "https://n8n.io/blog/aws-workflow-automation/",
                  "label": "7 no-code workflow automations for Amazon Web Services"
                }
              ],
              "primaryDocumentation": [
                {
                  "url": "https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.set/"
                }
              ]
            },
            "categories": [
              "Core Nodes"
            ],
            "nodeVersion": "1.0",
            "codexVersion": "1.0",
            "subcategories": {
              "Core Nodes": [
                "Data Transformation"
              ]
            }
          }
        },
        "group": "[\"input\"]",
        "defaults": {
          "name": "Edit Fields"
        },
        "iconData": {
          "icon": "pen",
          "type": "icon"
        },
        "displayName": "Edit Fields (Set)",
        "typeVersion": 3,
        "nodeCategories": [
          {
            "id": 9,
            "name": "Core Nodes"
          }
        ]
      },
      {
        "id": 227,
        "icon": "file:jotform.svg",
        "name": "n8n-nodes-base.jotFormTrigger",
        "codex": {
          "data": {
            "resources": {
              "primaryDocumentation": [
                {
                  "url": "https://docs.n8n.io/integrations/builtin/trigger-nodes/n8n-nodes-base.jotformtrigger/"
                }
              ],
              "credentialDocumentation": [
                {
                  "url": "https://docs.n8n.io/integrations/builtin/credentials/jotform/"
                }
              ]
            },
            "categories": [
              "Communication"
            ],
            "nodeVersion": "1.0",
            "codexVersion": "1.0"
          }
        },
        "group": "[\"trigger\"]",
        "defaults": {
          "name": "Jotform Trigger"
        },
        "iconData": {
          "type": "file",
          "fileBuffer": "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGZpbGw9Im5vbmUiIHZpZXdCb3g9IjAgMCAyNSAyOCI+PHBhdGggaWQ9ImpvdGZvcm0tbG9nb21hcmstZmlyc3QiIGZpbGw9IiNGRjYxMDAiIGQ9Ik0xOS4yOTQgMy45MzRhMy4zNDEgMy4zNDEgMCAwIDEgNC43MjcgMCAzLjM0NCAzLjM0NCAwIDAgMSAwIDQuNzI4bC0xMS44MTcgMTEuODJhMy4zNDEgMy4zNDEgMCAwIDEtNC43MjYgMCAzLjM0NCAzLjM0NCAwIDAgMSAwLTQuNzI3bDExLjgxNi0xMS44MloiPjwvcGF0aD48cGF0aCBpZD0iam90Zm9ybS1sb2dvbWFyay1zZWNvbmQiIGZpbGw9IiMwMDk5RkYiIGQ9Ik05LjI1Ljk4YTMuMzQ0IDMuMzQ0IDAgMCAxIDQuNzI3IDQuNzI4bC04LjI3MSA4LjI3NGEzLjM0MiAzLjM0MiAwIDAgMS00LjcyNyAwIDMuMzQ0IDMuMzQ0IDAgMCAxIDAtNC43MjlMOS4yNS45OFoiPjwvcGF0aD48cGF0aCBpZD0iam90Zm9ybS1sb2dvbWFyay10aGlyZCIgZmlsbD0iI0ZGQjYyOSIgZD0iTTE4LjcwNCAxNy41MjdhMy4zNDQgMy4zNDQgMCAwIDEgNC43MjYgNC43MjhsLTQuNzI2IDQuNzI5YTMuMzQyIDMuMzQyIDAgMSAxLTQuNzI3LTQuNzI4bDQuNzI3LTQuNzI5WiI+PC9wYXRoPjxwYXRoIGlkPSJqb3Rmb3JtLWxvZ29tYXJrLWZvdXJ0aCIgZmlsbD0iIzBBMTU1MSIgZD0iTTEuNjcxIDI4aDQuNjY3Yy43NDUgMCAxLjExOC0uOS41OTEtMS40MjdMMS40MjYgMjEuMDdDLjkgMjAuNTQyIDAgMjAuOTE1IDAgMjEuNjU5djQuNjdDMCAyNy4yNTEuNzQ4IDI4IDEuNjcxIDI4WiI+PC9wYXRoPjwvc3ZnPg=="
        },
        "displayName": "Jotform Trigger",
        "typeVersion": 1,
        "nodeCategories": [
          {
            "id": 6,
            "name": "Communication"
          }
        ]
      },
      {
        "id": 356,
        "icon": "file:gmail.svg",
        "name": "n8n-nodes-base.gmail",
        "codex": {
          "data": {
            "alias": [
              "email",
              "human",
              "form",
              "wait",
              "hitl",
              "approval"
            ],
            "resources": {
              "generic": [
                {
                  "url": "https://n8n.io/blog/why-business-process-automation-with-n8n-can-change-your-daily-life/",
                  "icon": "🧬",
                  "label": "Why business process automation with n8n can change your daily life"
                },
                {
                  "url": "https://n8n.io/blog/supercharging-your-conference-registration-process-with-n8n/",
                  "icon": "🎫",
                  "label": "Supercharging your conference registration process with n8n"
                },
                {
                  "url": "https://n8n.io/blog/no-code-ecommerce-workflow-automations/",
                  "icon": "store",
                  "label": "6 e-commerce workflows to power up your Shopify s"
                },
                {
                  "url": "https://n8n.io/blog/how-to-get-started-with-crm-automation-and-no-code-workflow-ideas/",
                  "icon": "👥",
                  "label": "How to get started with CRM automation (with 3 no-code workflow ideas"
                },
                {
                  "url": "https://n8n.io/blog/automate-google-apps-for-productivity/",
                  "icon": "💡",
                  "label": "15 Google apps you can combine and automate to increase productivity"
                },
                {
                  "url": "https://n8n.io/blog/your-business-doesnt-need-you-to-operate/",
                  "icon": " 🖥️",
                  "label": "Hey founders! Your business doesn't need you to operate"
                },
                {
                  "url": "https://n8n.io/blog/using-automation-to-boost-productivity-in-the-workplace/",
                  "icon": "💪",
                  "label": "Using Automation to Boost Productivity in the Workplace"
                }
              ],
              "primaryDocumentation": [
                {
                  "url": "https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-base.gmail/"
                }
              ],
              "credentialDocumentation": [
                {
                  "url": "https://docs.n8n.io/integrations/builtin/credentials/google/oauth-single-service/"
                }
              ]
            },
            "categories": [
              "Communication",
              "HITL"
            ],
            "nodeVersion": "1.0",
            "codexVersion": "1.0",
            "subcategories": {
              "HITL": [
                "Human in the Loop"
              ]
            }
          }
        },
        "group": "[\"transform\"]",
        "defaults": {
          "name": "Gmail"
        },
        "iconData": {
          "type": "file",
          "fileBuffer": "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNTYiIGhlaWdodD0iMTkzIiBwcmVzZXJ2ZUFzcGVjdFJhdGlvPSJ4TWlkWU1pZCI+PHBhdGggZmlsbD0iIzQyODVGNCIgZD0iTTU4LjE4MiAxOTIuMDVWOTMuMTRMMjcuNTA3IDY1LjA3NyAwIDQ5LjUwNHYxMjUuMDkxYzAgOS42NTggNy44MjUgMTcuNDU1IDE3LjQ1NSAxNy40NTV6Ii8+PHBhdGggZmlsbD0iIzM0QTg1MyIgZD0iTTE5Ny44MTggMTkyLjA1aDQwLjcyN2M5LjY1OSAwIDE3LjQ1NS03LjgyNiAxNy40NTUtMTcuNDU1VjQ5LjUwNWwtMzEuMTU2IDE3LjgzNy0yNy4wMjYgMjUuNzk4eiIvPjxwYXRoIGZpbGw9IiNFQTQzMzUiIGQ9Im01OC4xODIgOTMuMTQtNC4xNzQtMzguNjQ3IDQuMTc0LTM2Ljk4OUwxMjggNjkuODY4bDY5LjgxOC01Mi4zNjQgNC42NyAzNC45OTItNC42NyA0MC42NDRMMTI4IDE0NS41MDR6Ii8+PHBhdGggZmlsbD0iI0ZCQkMwNCIgZD0iTTE5Ny44MTggMTcuNTA0VjkzLjE0TDI1NiA0OS41MDRWMjYuMjMxYzAtMjEuNTg1LTI0LjY0LTMzLjg5LTQxLjg5LTIwLjk0NXoiLz48cGF0aCBmaWxsPSIjQzUyMjFGIiBkPSJtMCA0OS41MDQgMjYuNzU5IDIwLjA3TDU4LjE4MiA5My4xNFYxNy41MDRMNDEuODkgNS4yODZDMjQuNjEtNy42NiAwIDQuNjQ2IDAgMjYuMjN6Ii8+PC9zdmc+"
        },
        "displayName": "Gmail",
        "typeVersion": 2,
        "nodeCategories": [
          {
            "id": 6,
            "name": "Communication"
          },
          {
            "id": 28,
            "name": "HITL"
          }
        ]
      },
      {
        "id": 565,
        "icon": "fa:sticky-note",
        "name": "n8n-nodes-base.stickyNote",
        "codex": {
          "data": {
            "alias": [
              "Comments",
              "Notes",
              "Sticky"
            ],
            "categories": [
              "Core Nodes"
            ],
            "nodeVersion": "1.0",
            "codexVersion": "1.0",
            "subcategories": {
              "Core Nodes": [
                "Helpers"
              ]
            }
          }
        },
        "group": "[\"input\"]",
        "defaults": {
          "name": "Sticky Note",
          "color": "#FFD233"
        },
        "iconData": {
          "icon": "sticky-note",
          "type": "icon"
        },
        "displayName": "Sticky Note",
        "typeVersion": 1,
        "nodeCategories": [
          {
            "id": 9,
            "name": "Core Nodes"
          }
        ]
      },
      {
        "id": 1119,
        "icon": "fa:robot",
        "name": "@n8n/n8n-nodes-langchain.agent",
        "codex": {
          "data": {
            "alias": [
              "LangChain",
              "Chat",
              "Conversational",
              "Plan and Execute",
              "ReAct",
              "Tools"
            ],
            "resources": {
              "primaryDocumentation": [
                {
                  "url": "https://docs.n8n.io/integrations/builtin/cluster-nodes/root-nodes/n8n-nodes-langchain.agent/"
                }
              ]
            },
            "categories": [
              "AI",
              "Langchain"
            ],
            "subcategories": {
              "AI": [
                "Agents",
                "Root Nodes"
              ]
            }
          }
        },
        "group": "[\"transform\"]",
        "defaults": {
          "name": "AI Agent",
          "color": "#404040"
        },
        "iconData": {
          "icon": "robot",
          "type": "icon"
        },
        "displayName": "AI Agent",
        "typeVersion": 3,
        "nodeCategories": [
          {
            "id": 25,
            "name": "AI"
          },
          {
            "id": 26,
            "name": "Langchain"
          }
        ]
      },
      {
        "id": 1153,
        "icon": "file:openAiLight.svg",
        "name": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
        "codex": {
          "data": {
            "resources": {
              "primaryDocumentation": [
                {
                  "url": "https://docs.n8n.io/integrations/builtin/cluster-nodes/sub-nodes/n8n-nodes-langchain.lmchatopenai/"
                }
              ]
            },
            "categories": [
              "AI",
              "Langchain"
            ],
            "subcategories": {
              "AI": [
                "Language Models",
                "Root Nodes"
              ],
              "Language Models": [
                "Chat Models (Recommended)"
              ]
            }
          }
        },
        "group": "[\"transform\"]",
        "defaults": {
          "name": "OpenAI Chat Model"
        },
        "iconData": {
          "type": "file",
          "fileBuffer": "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNDAiIGhlaWdodD0iNDAiIHZpZXdCb3g9IjAgMCA0MCA0MCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTM2Ljg2NzEgMTYuMzcxOEMzNy43NzQ2IDEzLjY0OCAzNy40NjIxIDEwLjY2NDIgMzYuMDEwOCA4LjE4NjYxQzMzLjgyODIgNC4zODY1MyAyOS40NDA3IDIuNDMxNDkgMjUuMTU1NiAzLjM1MTUxQzIzLjI0OTMgMS4yMDM5NiAyMC41MTA1IC0wLjAxNzMxNDggMTcuNjM5MiAwLjAwMDE4NTUzM0MxMy4yNTkxIC0wLjAwOTgxNDY4IDkuMzcyNzMgMi44MTAyNSA4LjAyNTIgNi45Nzc4M0M1LjIxMTM5IDcuNTU0MSAyLjc4MjU4IDkuMzE1MzggMS4zNjEzIDExLjgxMTdDLTAuODM3NDkzIDE1LjYwMTggLTAuMzM2MjMyIDIwLjM3OTQgMi42MDEzMyAyMy42Mjk0QzEuNjkzODEgMjYuMzUzMiAyLjAwNjMyIDI5LjMzNzEgMy40NTc2IDMxLjgxNDZDNS42NDAxNSAzNS42MTQ3IDEwLjAyNzcgMzcuNTY5NyAxNC4zMTI4IDM2LjY0OTdDMTYuMjE3OSAzOC43OTczIDE4Ljk1NzkgNDAuMDE4NSAyMS44MjkyIDM5Ljk5OThDMjYuMjExOCA0MC4wMTEgMzAuMDk5NCAzNy4xODg1IDMxLjQ0NjkgMzMuMDE3MUMzNC4yNjA4IDMyLjQ0MDkgMzYuNjg5NiAzMC42Nzk2IDM4LjExMDggMjguMTgzM0M0MC4zMDcxIDI0LjM5MzIgMzkuODA0NiAxOS42MTk0IDM2Ljg2ODMgMTYuMzY5M0wzNi44NjcxIDE2LjM3MThaTTIxLjgzMTcgMzcuMzg2QzIwLjA3OCAzNy4zODg1IDE4LjM3OTIgMzYuNzc0NyAxNy4wMzI5IDM1LjY1MDlDMTcuMDk0MSAzNS42MTg0IDE3LjIwMDQgMzUuNTU5NyAxNy4yNjkxIDM1LjUxNzJMMjUuMjM0MyAzMC45MTcxQzI1LjY0MTggMzAuNjg1OCAyNS44OTE4IDMwLjI1MjEgMjUuODg5MyAyOS43ODMzVjE4LjU1NDNMMjkuMjU1NyAyMC40OTgxQzI5LjI5MTkgMjAuNTE1NiAyOS4zMTU3IDIwLjU1MDYgMjkuMzIwNyAyMC41OTA2VjI5Ljg4OTZDMjkuMzE1NyAzNC4wMjQ3IDI1Ljk2NjggMzcuMzc3MiAyMS44MzE3IDM3LjM4NlpNNS43MjY0IDMwLjUwNzFDNC44NDc2MyAyOC45ODk2IDQuNTMxMzcgMjcuMjEwOCA0LjgzMjYzIDI1LjQ4NDVDNC44OTEzOCAyNS41MTk1IDQuOTk1MTMgMjUuNTgzMiA1LjA2ODg4IDI1LjYyNTdMMTMuMDM0MSAzMC4yMjU4QzEzLjQzNzggMzAuNDYyMSAxMy45Mzc4IDMwLjQ2MjEgMTQuMzQyOCAzMC4yMjU4TDI0LjA2NjggMjQuNjEwN1YyOC40OTgzQzI0LjA2OTMgMjguNTM4MyAyNC4wNTA1IDI4LjU3NyAyNC4wMTkzIDI4LjYwMkwxNS45Njc5IDMzLjI1MDlDMTIuMzgxNSAzNS4zMTU5IDcuODAxNDQgMzQuMDg4NCA1LjcyNzY1IDMwLjUwNzFINS43MjY0Wk0zLjYzMDEgMTMuMTIwNUM0LjUwNTEyIDExLjYwMDQgNS44ODY0IDEwLjQzNzkgNy41MzE0NCA5LjgzNDE1QzcuNTMxNDQgOS45MDI5IDcuNTI3NjkgMTAuMDI0MiA3LjUyNzY5IDEwLjEwOTJWMTkuMzEwNkM3LjUyNTE5IDE5Ljc3ODEgNy43NzUxOSAyMC4yMTE5IDguMTgxNDUgMjAuNDQzMUwxNy45MDU0IDI2LjA1N0wxNC41MzkxIDI4LjAwMDhDMTQuNTA1MyAyOC4wMjMzIDE0LjQ2MjggMjguMDI3IDE0LjQyNTMgMjguMDEwOEw2LjM3MjY2IDIzLjM1ODJDMi43OTM4MyAyMS4yODU2IDEuNTY2MzEgMTYuNzA2OCAzLjYyODg1IDEzLjEyMTdMMy42MzAxIDEzLjEyMDVaTTMxLjI4ODIgMTkuNTU2OUwyMS41NjQyIDEzLjk0MTdMMjQuOTMwNiAxMS45OTkyQzI0Ljk2NDMgMTEuOTc2NyAyNS4wMDY4IDExLjk3MjkgMjUuMDQ0MyAxMS45ODkyTDMzLjA5NyAxNi42MzhDMzYuNjgyMSAxOC43MDkzIDM3LjkxMDggMjMuMjk1NyAzNS44Mzk1IDI2Ljg4MDhDMzQuOTYzMyAyOC4zOTgzIDMzLjU4MzIgMjkuNTYwOCAzMS45Mzk1IDMwLjE2NThWMjAuNjg5NEMzMS45NDMyIDIwLjIyMTkgMzEuNjk0NSAxOS43ODk0IDMxLjI4OTQgMTkuNTU2OUgzMS4yODgyWk0zNC42MzgzIDE0LjUxNDJDMzQuNTc5NSAxNC40NzggMzQuNDc1OCAxNC40MTU1IDM0LjQwMiAxNC4zNzNMMjYuNDM2OCA5Ljc3Mjg5QzI2LjAzMzEgOS41MzY2NCAyNS41MzMxIDkuNTM2NjQgMjUuMTI4MSA5Ljc3Mjg5TDE1LjQwNDEgMTUuMzg4VjExLjUwMDRDMTUuNDAxNiAxMS40NjA0IDE1LjQyMDQgMTEuNDIxNyAxNS40NTE2IDExLjM5NjdMMjMuNTAzIDYuNzUxNThDMjcuMDg5NCA0LjY4Mjc5IDMxLjY3NDUgNS45MTQwNiAzMy43NDIgOS41MDE2NEMzNC42MTU4IDExLjAxNjcgMzQuOTMyIDEyLjc5MDUgMzQuNjM1OCAxNC41MTQySDM0LjYzODNaTTEzLjU3NDEgMjEuNDQzMUwxMC4yMDY1IDE5LjQ5OTRDMTAuMTcwMiAxOS40ODE5IDEwLjE0NjUgMTkuNDQ2OCAxMC4xNDE1IDE5LjQwNjhWMTAuMTA3OUMxMC4xNDQgNS45Njc4MSAxMy41MDI4IDIuNjEyNzQgMTcuNjQyOSAyLjYxNTI0QzE5LjM5NDIgMi42MTUyNCAyMS4wODkyIDMuMjMwMjUgMjIuNDM1NSA0LjM1MDI4QzIyLjM3NDMgNC4zODI3OCAyMi4yNjkzIDQuNDQxNTMgMjIuMTk5MiA0LjQ4NDAzTDE0LjIzNDEgOS4wODQxM0MxMy44MjY2IDkuMzE1MzggMTMuNTc2NiA5Ljc0Nzg5IDEzLjU3OTEgMTAuMjE2N0wxMy41NzQxIDIxLjQ0MDZWMjEuNDQzMVpNMTUuNDAyOSAxNy41MDA2TDE5LjczNDIgMTQuOTk5M0wyNC4wNjU1IDE3LjQ5OTNWMjIuNTAwN0wxOS43MzQyIDI1LjAwMDdMMTUuNDAyOSAyMi41MDA3VjE3LjUwMDZaIiBmaWxsPSIjN0Q3RDg3Ii8+Cjwvc3ZnPgo="
        },
        "displayName": "OpenAI Chat Model",
        "typeVersion": 1,
        "nodeCategories": [
          {
            "id": 25,
            "name": "AI"
          },
          {
            "id": 26,
            "name": "Langchain"
          }
        ]
      }
    ],
    "categories": [
      {
        "id": 40,
        "name": "Support Chatbot"
      },
      {
        "id": 49,
        "name": "AI Summarization"
      }
    ],
    "image": []
  }
}