{
  "name": "Client review collection & sentiment analysis with HighLevel, GPT-4o, Gmail & Slack",
  "nodes": [
    {
      "id": "5ad55032-d22a-4bf5-8107-0de7a4b18d57",
      "name": "When clicking ‘Execute workflow’",
      "type": "n8n-nodes-base.manualTrigger",
      "position": [
        -576,
        -96
      ]
    },
    {
      "id": "d3590ccb-048d-45a7-b3df-fb0d73c58206",
      "name": "Validate Deal Fetch Success",
      "type": "n8n-nodes-base.if",
      "position": [
        48,
        -96
      ]
    },
    {
      "id": "f7322a5c-5d60-491d-8bf2-f9c86cdf6a08",
      "name": "Log Errors in Google Sheets",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        368,
        480
      ]
    },
    {
      "id": "9ba98d72-ea5f-48f3-a68b-51e888202b77",
      "name": "Fetch All Won Deals from HighLevel",
      "type": "n8n-nodes-base.highLevel",
      "position": [
        -224,
        -96
      ]
    },
    {
      "id": "f1c517f9-a54d-4691-ac3f-e7815fe4378b",
      "name": "Generate Personalized Review Request Email (AI)",
      "type": "@n8n/n8n-nodes-langchain.agent",
      "position": [
        448,
        -112
      ]
    },
    {
      "id": "643e6cad-4045-45f6-833b-1571769bc48e",
      "name": "Configure GPT-4o Model",
      "type": "@n8n/n8n-nodes-langchain.lmChatAzureOpenAi",
      "position": [
        448,
        80
      ]
    },
    {
      "id": "5f536653-7ba9-449e-a79c-31fefe83c811",
      "name": "Send Review Request Email to Client",
      "type": "n8n-nodes-base.gmail",
      "position": [
        848,
        -112
      ]
    },
    {
      "id": "2c27e2a5-0daa-40a3-9a89-306166bb2e3f",
      "name": "Retrieve Email Thread for Response",
      "type": "n8n-nodes-base.gmail",
      "position": [
        1312,
        -112
      ]
    },
    {
      "id": "c33cb722-a2ef-400e-b593-4322e9b7a946",
      "name": "Configure GPT-4o Model1",
      "type": "@n8n/n8n-nodes-langchain.lmChatAzureOpenAi",
      "position": [
        1568,
        128
      ]
    },
    {
      "id": "c9a7bf45-e0ba-4cb5-9374-a05098b89981",
      "name": " Wait for 24 Hours Before Next Action",
      "type": "n8n-nodes-base.wait",
      "position": [
        1088,
        -112
      ]
    },
    {
      "id": "4cfc001b-aa03-4a81-b7f4-e3d7ae01ad68",
      "name": "Summarize Client Feedback (AI)",
      "type": "@n8n/n8n-nodes-langchain.agent",
      "position": [
        1568,
        -112
      ]
    },
    {
      "id": "544bd495-5eb1-49e5-9a5f-b0d1a2ddf709",
      "name": " Announce Review Summary in Slack",
      "type": "n8n-nodes-base.slack",
      "position": [
        1952,
        -112
      ]
    },
    {
      "id": "12cf47f3-4f3a-4146-a898-e15971639c97",
      "name": "Sticky Note",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -1136,
        -912
      ],
      "parameters": {
        "width": 608,
        "height": 576,
        "content": "## How it works\nThis workflow automates the client-review process after a deal is marked as “Won” in HighLevel CRM.  \nIt starts manually or on trigger, retrieves the latest won deals, validates them, "
      }
    },
    {
      "id": "3524ab6d-22b6-4abd-abfa-33073738457a",
      "name": "Sticky Note1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -336,
        -304
      ],
      "parameters": {
        "width": 624,
        "height": 416,
        "content": "## Deal Fetch & Validation\nFetches all deals with “Won” status from HighLevel and checks for valid data before proceeding.  \nPrevents empty or incomplete deal entries from triggering the AI email gene"
      }
    },
    {
      "id": "28f81e01-fbc4-4e12-aa3d-e343df9ef37e",
      "name": "Sticky Note2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        368,
        -288
      ],
      "parameters": {
        "width": 368,
        "height": 512,
        "content": "## AI-Powered Email Generation\nUses GPT-4o to craft a personalized, HTML review-request email.  \nIncludes thank-you text, brand-styled buttons for Google Reviews and internal feedback, and a warm clos"
      }
    },
    {
      "id": "d3be7c5b-de2b-4b78-9adc-9ab36c1cde69",
      "name": "Sticky Note3",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        768,
        -336
      ],
      "parameters": {
        "width": null,
        "height": 544,
        "content": "## Email Delivery\nSends the GPT-generated review-request email through Gmail to the client’s registered address.  \nTracks the sent message for later thread retrieval and analysis.\n"
      }
    },
    {
      "id": "6976f94f-eade-4846-8723-5a2eba0e71ac",
      "name": "Sticky Note4",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1040,
        -320
      ],
      "parameters": {
        "width": 432,
        "height": 496,
        "content": "## Waiting & Feedback Retrieval\nPauses for 24 hours to give clients time to reply, then fetches the full Gmail thread.  \nEnsures the latest feedback message is available for sentiment analysis.\n"
      }
    },
    {
      "id": "31e6f968-061d-4796-863f-9f5617a64f2d",
      "name": "Sticky Note5",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1504,
        -352
      ],
      "parameters": {
        "width": 368,
        "height": 640,
        "content": "## AI Feedback Summarization\nGPT-4o analyzes the client’s response and creates a short Slack-formatted summary.  \nCaptures client name, key feedback, and overall sentiment (Positive/Neutral/Negative)."
      }
    },
    {
      "id": "0b0535cf-0afc-44bd-ac14-17ae2f83dd82",
      "name": "Sticky Note6",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1888,
        -352
      ],
      "parameters": {
        "width": null,
        "height": 464,
        "content": "## Slack Announcement\nPosts the summarized client feedback in a Slack channel.  \nNotifies the team in real time and helps track post-service satisfaction trends.\n"
      }
    },
    {
      "id": "4d6af1bd-b453-42ac-a491-eb8266b74ba4",
      "name": "Sticky Note7",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        304,
        304
      ],
      "parameters": {
        "width": null,
        "height": 416,
        "content": "## Error Logging\nAppends any workflow or API issues to a shared Google Sheet.  \nMaintains an audit trail for error resolution and workflow reliability checks.\n"
      }
    }
  ],
  "connections": {
    "Configure GPT-4o Model": {
      "ai_languageModel": [
        [
          {
            "node": "Generate Personalized Review Request Email (AI)",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "Configure GPT-4o Model1": {
      "ai_languageModel": [
        [
          {
            "node": "Summarize Client Feedback (AI)",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "Validate Deal Fetch Success": {
      "main": [
        [
          {
            "node": "Generate Personalized Review Request Email (AI)",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Log Errors in Google Sheets",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Summarize Client Feedback (AI)": {
      "main": [
        [
          {
            "node": " Announce Review Summary in Slack",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Fetch All Won Deals from HighLevel": {
      "main": [
        [
          {
            "node": "Validate Deal Fetch Success",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Retrieve Email Thread for Response": {
      "main": [
        [
          {
            "node": "Summarize Client Feedback (AI)",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Send Review Request Email to Client": {
      "main": [
        [
          {
            "node": " Wait for 24 Hours Before Next Action",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "When clicking ‘Execute workflow’": {
      "main": [
        [
          {
            "node": "Fetch All Won Deals from HighLevel",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    " Wait for 24 Hours Before Next Action": {
      "main": [
        [
          {
            "node": "Retrieve Email Thread for Response",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Generate Personalized Review Request Email (AI)": {
      "main": [
        [
          {
            "node": "Send Review Request Email to Client",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}