{
  "name": "Analyze Google Business Reviews & send sentiment reports to Slack with Gemini",
  "nodes": [
    {
      "id": "3f44e182-92ad-4e47-9eab-4ffc6c9a3dfa",
      "name": "Get many reviews",
      "type": "n8n-nodes-base.googleBusinessProfile",
      "position": [
        -272,
        -80
      ]
    },
    {
      "id": "29592644-4922-4095-a608-fc369882a249",
      "name": "Sentiment Analysis",
      "type": "@n8n/n8n-nodes-langchain.sentimentAnalysis",
      "position": [
        368,
        -96
      ]
    },
    {
      "id": "692ed10b-947e-4386-9707-0c2ce1e307f9",
      "name": "Google Gemini Chat Model",
      "type": "@n8n/n8n-nodes-langchain.lmChatGoogleGemini",
      "position": [
        1056,
        -224
      ]
    },
    {
      "id": "713c6715-380d-4adf-a681-092765116409",
      "name": "Schedule Trigger",
      "type": "n8n-nodes-base.scheduleTrigger",
      "position": [
        -688,
        -80
      ]
    },
    {
      "id": "20e79d80-cdce-4cae-ab1f-6ff44565731b",
      "name": "AI Agent",
      "type": "@n8n/n8n-nodes-langchain.agent",
      "position": [
        1040,
        -432
      ]
    },
    {
      "id": "97dce654-beb7-46f3-9d4c-9f4768b72324",
      "name": "AI Agent1",
      "type": "@n8n/n8n-nodes-langchain.agent",
      "position": [
        1040,
        -128
      ]
    },
    {
      "id": "bfc5447b-fd82-4c44-af66-0d2b60f75280",
      "name": "AI Agent2",
      "type": "@n8n/n8n-nodes-langchain.agent",
      "position": [
        1056,
        112
      ]
    },
    {
      "id": "f95e4642-38b6-48ea-bf53-5de3175a7846",
      "name": "Google Gemini Chat Model1",
      "type": "@n8n/n8n-nodes-langchain.lmChatGoogleGemini",
      "position": [
        368,
        112
      ]
    },
    {
      "id": "8606a252-49af-472d-a47c-559be628fe60",
      "name": "Sticky Note",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -512,
        -288
      ],
      "parameters": {
        "width": 752,
        "height": 432,
        "content": "## Reading Google review\n**Reading google review from the google business profile**"
      }
    },
    {
      "id": "eb49d865-7578-4969-b505-b643caa3f29d",
      "name": "Sticky Note1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        288,
        -288
      ],
      "parameters": {
        "width": 400,
        "height": 544,
        "content": "## Run sentiment analysis on google review\n**Based on the google review data a sentiment analysis run on top of the google review using Gemini model.**"
      }
    },
    {
      "id": "17a9299c-5c99-466e-ae6a-895c29b25106",
      "name": "Sticky Note2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        720,
        -624
      ],
      "parameters": {
        "width": 640,
        "height": 896,
        "content": "## Summarize the sentiment analysis report using AI model\n**After the sentiment of each review is analysed consolidating the overall sentiment and restructure the output.**"
      }
    },
    {
      "id": "4b087a3b-d891-4f9a-97d1-be57259afb19",
      "name": "Sticky Note3",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1392,
        -656
      ],
      "parameters": {
        "width": 448,
        "height": 928,
        "content": "## Sent notification to slack channel\n\n**Restructure the data to slack block and send to slack channel.**"
      }
    },
    {
      "id": "091e5606-4e04-4fe3-b2df-0625f32d6beb",
      "name": "Sticky Note5",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -816,
        -816
      ],
      "parameters": {
        "width": 512,
        "height": 448,
        "content": "\n## Google review Sentiment analysis workflow\n\n\n**What it does**\n- Read Google review from the google business profile\n- Run sentimental analysis on the review for a defined period.\n- Send notificatio"
      }
    },
    {
      "id": "b4506c66-8619-4eef-aed0-f4a9363af457",
      "name": "Set time period",
      "type": "n8n-nodes-base.set",
      "position": [
        -480,
        -80
      ]
    },
    {
      "id": "f284db6b-8852-427a-be86-e30961871f97",
      "name": "Filter review based on the time period",
      "type": "n8n-nodes-base.filter",
      "position": [
        -96,
        -80
      ]
    },
    {
      "id": "c775ac9e-4367-463d-b3d0-45e3d7bc648f",
      "name": "Map the comment and rating",
      "type": "n8n-nodes-base.set",
      "position": [
        112,
        -80
      ]
    },
    {
      "id": "719cdaa0-f962-45da-91a4-34492f92119e",
      "name": "Convert to json string",
      "type": "n8n-nodes-base.code",
      "position": [
        816,
        -336
      ]
    },
    {
      "id": "68f2cf3c-4b21-4004-b8d4-3399d8c1bafa",
      "name": "Convert to json string1",
      "type": "n8n-nodes-base.code",
      "position": [
        816,
        -96
      ]
    },
    {
      "id": "046f17c6-c024-4b62-b16f-6d6ccdfeaad2",
      "name": "Convert to json string2",
      "type": "n8n-nodes-base.code",
      "position": [
        816,
        112
      ]
    },
    {
      "id": "cad3406f-e05d-4c9c-ae13-aa9d877286e3",
      "name": "Restructure the sentiment positive data to slack block",
      "type": "n8n-nodes-base.code",
      "position": [
        1456,
        -432
      ]
    },
    {
      "id": "e734a3e0-5b2e-4930-a61a-c81a9263d34a",
      "name": "Restructure the sentiment neutral data to slack block",
      "type": "n8n-nodes-base.code",
      "position": [
        1440,
        -128
      ]
    },
    {
      "id": "bf8ebac2-b4f9-43ea-8ec0-ab2a018760c2",
      "name": "Restructure the sentiment negative data to slack block",
      "type": "n8n-nodes-base.code",
      "position": [
        1456,
        112
      ]
    },
    {
      "id": "8e8b11a1-1531-4f0d-90f6-5025e04a173e",
      "name": "Send message to slack channel if the analysis is positive",
      "type": "n8n-nodes-base.slack",
      "position": [
        1664,
        -432
      ]
    },
    {
      "id": "58b3519a-3484-4d0a-bf16-69fcd3c3cb9f",
      "name": "Send message to slack channel if the analysis is neutral",
      "type": "n8n-nodes-base.slack",
      "position": [
        1680,
        -128
      ]
    },
    {
      "id": "6b05d854-689d-473b-a02d-631293ff3817",
      "name": "Send message to slack channel if the analysis is negative",
      "type": "n8n-nodes-base.slack",
      "position": [
        1680,
        112
      ]
    }
  ],
  "connections": {
    "AI Agent": {
      "main": [
        [
          {
            "node": "Restructure the sentiment positive data to slack block",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "AI Agent1": {
      "main": [
        [
          {
            "node": "Restructure the sentiment neutral data to slack block",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "AI Agent2": {
      "main": [
        [
          {
            "node": "Restructure the sentiment negative data to slack block",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Set time period": {
      "main": [
        [
          {
            "node": "Get many reviews",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Get many reviews": {
      "main": [
        [
          {
            "node": "Filter review based on the time period",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Schedule Trigger": {
      "main": [
        [
          {
            "node": "Set time period",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Sentiment Analysis": {
      "main": [
        [
          {
            "node": "Convert to json string",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Convert to json string1",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Convert to json string2",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Convert to json string": {
      "main": [
        [
          {
            "node": "AI Agent",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Convert to json string1": {
      "main": [
        [
          {
            "node": "AI Agent1",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Convert to json string2": {
      "main": [
        [
          {
            "node": "AI Agent2",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Google Gemini Chat Model": {
      "ai_languageModel": [
        [
          {
            "node": "AI Agent",
            "type": "ai_languageModel",
            "index": 0
          },
          {
            "node": "AI Agent1",
            "type": "ai_languageModel",
            "index": 0
          },
          {
            "node": "AI Agent2",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "Google Gemini Chat Model1": {
      "ai_languageModel": [
        [
          {
            "node": "Sentiment Analysis",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "Map the comment and rating": {
      "main": [
        [
          {
            "node": "Sentiment Analysis",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Filter review based on the time period": {
      "main": [
        [
          {
            "node": "Map the comment and rating",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Restructure the sentiment neutral data to slack block": {
      "main": [
        [
          {
            "node": "Send message to slack channel if the analysis is neutral",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Restructure the sentiment negative data to slack block": {
      "main": [
        [
          {
            "node": "Send message to slack channel if the analysis is negative",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Restructure the sentiment positive data to slack block": {
      "main": [
        [
          {
            "node": "Send message to slack channel if the analysis is positive",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}