{
  "name": "Team morale monitoring from Teams/Slack messages with Gemini AI",
  "nodes": [
    {
      "id": "bb8d11dc-5c7c-4e27-8090-8670682ecf9d",
      "name": "Split In Batches",
      "type": "n8n-nodes-base.splitInBatches",
      "position": [
        -864,
        208
      ]
    },
    {
      "id": "dea3c66c-a383-4092-afb5-e8e1bbe13ffb",
      "name": "Fetch Teams Messages (Simulated)1",
      "type": "n8n-nodes-base.code",
      "position": [
        -1088,
        208
      ]
    },
    {
      "id": "a03c52e8-e4dd-4b7f-b6cf-398d6352fb0e",
      "name": "Log Progress1",
      "type": "n8n-nodes-base.code",
      "position": [
        -416,
        208
      ]
    },
    {
      "id": "8dec94bd-20e3-44b1-aacc-e7e2cd5da5cd",
      "name": "Weekly Morale Check Trigger",
      "type": "n8n-nodes-base.scheduleTrigger",
      "position": [
        -1536,
        208
      ]
    },
    {
      "id": "3d6d4f1a-51d2-4bdb-b12f-d14515a86780",
      "name": "Workflow Configuration",
      "type": "n8n-nodes-base.set",
      "position": [
        -1312,
        208
      ]
    },
    {
      "id": "a4d77258-1178-4365-ad86-70448907299e",
      "name": "Aggregate Sentiment Scores",
      "type": "n8n-nodes-base.aggregate",
      "position": [
        -192,
        208
      ]
    },
    {
      "id": "163118d1-9387-4678-a2d3-662d3ec34688",
      "name": "Calculate Weekly Statistics",
      "type": "n8n-nodes-base.code",
      "position": [
        48,
        208
      ]
    },
    {
      "id": "e061e16e-70b9-4852-86b4-e4080b3d16da",
      "name": "Generate Morale Report (OpenAI)1",
      "type": "@n8n/n8n-nodes-langchain.googleGemini",
      "position": [
        272,
        208
      ]
    },
    {
      "id": "bc331851-dd10-4c94-affc-ce0bb5a8cc58",
      "name": "Sentiment Analysis (OpenAI)1",
      "type": "@n8n/n8n-nodes-langchain.googleGemini",
      "position": [
        -640,
        208
      ]
    },
    {
      "id": "a4807793-b036-469d-a4c2-f873e0b84f72",
      "name": "Send a message1",
      "type": "n8n-nodes-base.slack",
      "position": [
        496,
        208
      ]
    },
    {
      "id": "7aa489e4-f487-4334-bd6c-4e54961b2995",
      "name": "Template Overview",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -2160,
        -48
      ],
      "parameters": {
        "width": 528,
        "height": 752,
        "content": "## AI Team Morale Monitor\n\n### Who’s it for\nFor team leads, HR, and managers who want to monitor the emotional tone and morale of their teams based on message sentiment.\n\n### How it works\n1. **Trigger"
      }
    },
    {
      "id": "aa1e99df-6667-42b0-8e5f-a16a95ebb704",
      "name": "Trigger Description",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -1616,
        16
      ],
      "parameters": {
        "width": null,
        "height": 352,
        "content": "### Weekly Trigger\nActivates automatically every Monday at 9:00 AM.\nYou can change this schedule in the node settings."
      }
    },
    {
      "id": "0a1e5f36-4395-48d5-ac3a-e1434e7b4f54",
      "name": "Configuration Description",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -1376,
        16
      ],
      "parameters": {
        "width": 208,
        "height": 352,
        "content": "### Workflow Configuration\nDefines IDs and settings such as:\n- Team ID\n- Channel ID\n- Manager User ID\n- Analysis Period (days)"
      }
    },
    {
      "id": "9e301552-4f9f-4326-bb03-94b5ffbd6512",
      "name": "Fetch Messages Description",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -1168,
        16
      ],
      "parameters": {
        "width": 464,
        "height": 352,
        "content": "### Fetch Messages\nCollects recent Microsoft Teams messages.\nReplace this with a real API node for live data."
      }
    },
    {
      "id": "4346e576-a225-434e-a1fc-20c47c94fa25",
      "name": "AI Analysis Description",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -704,
        16
      ],
      "parameters": {
        "width": 464,
        "height": 352,
        "content": "### Sentiment Analysis\nUses Gemini or OpenAI to assess sentiment, stress, and engagement per message."
      }
    },
    {
      "id": "0b81f776-097d-472b-9bf5-2ea5bc84b5d9",
      "name": "Aggregate Description",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -240,
        16
      ],
      "parameters": {
        "width": 448,
        "height": 352,
        "content": "### Aggregate Statistics\nCalculates weekly averages of sentiment and stress indicators."
      }
    },
    {
      "id": "fc2bd727-c235-4843-88b7-7eb17179aa4e",
      "name": "Report Description",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        208,
        16
      ],
      "parameters": {
        "width": null,
        "height": 352,
        "content": "### Generate Report\nSummarizes emotional insights into a readable report for managers."
      }
    },
    {
      "id": "21427b2f-e985-4977-8422-642a4902a2a0",
      "name": "Slack Description",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        448,
        16
      ],
      "parameters": {
        "width": 208,
        "height": 352,
        "content": "### Post to Slack\nPublishes the morale report to Slack or Teams for visibility."
      }
    }
  ],
  "connections": {
    "Log Progress1": {
      "main": [
        [
          {
            "node": "Aggregate Sentiment Scores",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Split In Batches": {
      "main": [
        [
          {
            "node": "Sentiment Analysis (OpenAI)1",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Workflow Configuration": {
      "main": [
        [
          {
            "node": "Fetch Teams Messages (Simulated)1",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Aggregate Sentiment Scores": {
      "main": [
        [
          {
            "node": "Calculate Weekly Statistics",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Calculate Weekly Statistics": {
      "main": [
        [
          {
            "node": "Generate Morale Report (OpenAI)1",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Weekly Morale Check Trigger": {
      "main": [
        [
          {
            "node": "Workflow Configuration",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Sentiment Analysis (OpenAI)1": {
      "main": [
        [
          {
            "node": "Log Progress1",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Generate Morale Report (OpenAI)1": {
      "main": [
        [
          {
            "node": "Send a message1",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Fetch Teams Messages (Simulated)1": {
      "main": [
        [
          {
            "node": "Split In Batches",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}