{
  "name": "Automate sprint planning with OpenAI, Google Calendar, and Gmail for agile teams",
  "nodes": [
    {
      "id": "1225a732-79c9-4708-8b51-5f5c98fe279b",
      "name": "When clicking ‘Test workflow’",
      "type": "n8n-nodes-base.manualTrigger",
      "position": [
        960,
        740
      ]
    },
    {
      "id": "49c5c9f6-bdd4-4968-a900-86984c86f6bf",
      "name": "Schedule Trigger",
      "type": "n8n-nodes-base.scheduleTrigger",
      "position": [
        960,
        540
      ]
    },
    {
      "id": "b70a1eb5-3a23-4c64-87ca-9889d8c1a748",
      "name": "No Operation, do nothing",
      "type": "n8n-nodes-base.noOp",
      "position": [
        1300,
        620
      ]
    },
    {
      "id": "b6bdb50d-261c-495f-8f79-f7d12bd33a58",
      "name": "Load Calendar of Scrum Master",
      "type": "n8n-nodes-base.googleCalendar",
      "position": [
        1440,
        620
      ]
    },
    {
      "id": "34f17cb4-add3-465f-aa4e-8ead5047efab",
      "name": "Sticky Note",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        920,
        360
      ],
      "parameters": {
        "width": null,
        "height": null,
        "content": ""
      }
    },
    {
      "id": "3e87adfc-558e-4a36-bc97-9ac7cd96c214",
      "name": "Sticky Note7",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        0,
        0
      ],
      "parameters": {
        "width": null,
        "height": null,
        "content": ""
      }
    },
    {
      "id": "27a26cb0-894e-4754-b52c-0a916198994c",
      "name": "Sticky Note1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1760,
        360
      ],
      "parameters": {
        "width": null,
        "height": null,
        "content": ""
      }
    },
    {
      "id": "849b6794-efa9-423d-8145-67ee0e896c98",
      "name": "Sticky Note4",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        6480,
        740
      ],
      "parameters": {
        "width": null,
        "height": null,
        "content": ""
      }
    },
    {
      "id": "bb29413d-17d5-4a21-85bc-aa2b9994e059",
      "name": "Read DoR criteria",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        4580,
        780
      ]
    },
    {
      "id": "8c6f62f0-7931-42e3-bf17-567a70cb65ea",
      "name": "Loop Over Items for DoR check",
      "type": "n8n-nodes-base.splitInBatches",
      "position": [
        4380,
        660
      ]
    },
    {
      "id": "33e6137f-fa03-462c-a2c4-1e9cfc5151ca",
      "name": "Compare User Story to DoR Criterium",
      "type": "@n8n/n8n-nodes-langchain.agent",
      "position": [
        4800,
        640
      ]
    },
    {
      "id": "f3265727-a369-432a-97ea-224705f3f505",
      "name": "If no event do nothing",
      "type": "n8n-nodes-base.noOp",
      "position": [
        1780,
        620
      ]
    },
    {
      "id": "9767e68a-2c8c-432b-850f-03fe66e3de87",
      "name": "Take backlog link for further referral",
      "type": "n8n-nodes-base.googleDrive",
      "position": [
        2200,
        620
      ]
    },
    {
      "id": "4c7e15ee-ed8c-46de-9e05-16f29180818f",
      "name": "Update Scrum feedback in Backlog",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        5780,
        800
      ]
    },
    {
      "id": "46222056-16b2-4692-a0f5-961e48f4e28a",
      "name": "OpenAI Scrum Master Emailer",
      "type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
      "position": [
        6640,
        1180
      ]
    },
    {
      "id": "205dc58d-288a-4c35-be5f-64dcd47203d6",
      "name": "OpenAI Scrum Master Story Feedback",
      "type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
      "position": [
        5440,
        840
      ]
    },
    {
      "id": "83ae186a-98dd-4fda-9990-1b758204700f",
      "name": "OpenAI Scrum Master DoR Check",
      "type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
      "position": [
        4800,
        820
      ]
    },
    {
      "id": "9a522bfc-1d82-4c07-be26-afd40ffcce97",
      "name": "Sticky Note6",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        6480,
        40
      ],
      "parameters": {
        "width": null,
        "height": null,
        "content": ""
      }
    },
    {
      "id": "15ee91af-d319-4b68-896e-351189e0c4d5",
      "name": "Aggregate DoR check to User Story Level",
      "type": "n8n-nodes-base.aggregate",
      "position": [
        5100,
        640
      ]
    },
    {
      "id": "c6507650-93a7-40ba-af72-c0e61ab7be4d",
      "name": "Add DoR feedback to User Story",
      "type": "n8n-nodes-base.merge",
      "position": [
        5280,
        740
      ]
    },
    {
      "id": "a34ff332-dc9e-40b2-822b-8902994a552f",
      "name": "Provide Scrum Master Feedback on the story",
      "type": "@n8n/n8n-nodes-langchain.agent",
      "position": [
        5460,
        640
      ]
    },
    {
      "id": "280613e4-d643-4fcc-9d49-b1b31734b4f8",
      "name": "Combine stories into one list",
      "type": "n8n-nodes-base.aggregate",
      "position": [
        6140,
        480
      ]
    },
    {
      "id": "028b2092-db71-44b6-a12e-688111dcd8ab",
      "name": "Sticky Note5",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        920,
        140
      ],
      "parameters": {
        "width": null,
        "height": null,
        "content": ""
      }
    },
    {
      "id": "c40f0f02-25cb-4e86-a24a-d5f52be3fc1b",
      "name": "Error Trigger",
      "type": "n8n-nodes-base.errorTrigger",
      "position": [
        1260,
        180
      ]
    },
    {
      "id": "15e5d0ca-6209-4433-b90e-584d249fb6b2",
      "name": "Sticky Note9",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        7160,
        740
      ],
      "parameters": {
        "width": null,
        "height": null,
        "content": ""
      }
    },
    {
      "id": "7e7205d3-4bd1-434c-bd07-888aa9378095",
      "name": "Ask Approval to Scrum Master",
      "type": "n8n-nodes-base.gmail",
      "position": [
        7300,
        1000
      ]
    },
    {
      "id": "afb7ff5c-f086-4724-98c2-6fdef0c244ce",
      "name": "Send Email to Attendees",
      "type": "n8n-nodes-base.gmail",
      "position": [
        7680,
        940
      ]
    },
    {
      "id": "d0707e83-641a-4a72-9ae8-0f435f72a7e6",
      "name": "Create Draft in Scrum Master Email",
      "type": "n8n-nodes-base.gmail",
      "position": [
        7680,
        1100
      ]
    },
    {
      "id": "2067303e-fc81-4e04-94e7-ecb62e4e7aa1",
      "name": "Make aware the draft is ready to be adjusted manually",
      "type": "n8n-nodes-base.gmail",
      "position": [
        7900,
        1100
      ]
    },
    {
      "id": "9b09a185-84f9-4a86-b985-1fd223b20a5e",
      "name": "If Email content is Approved",
      "type": "n8n-nodes-base.if",
      "position": [
        7480,
        1000
      ]
    },
    {
      "id": "039137a5-4055-4cc6-947a-728530d6091b",
      "name": "Start Here: Set Environment Variables",
      "type": "n8n-nodes-base.set",
      "position": [
        1140,
        620
      ]
    },
    {
      "id": "b6b660ae-4876-4595-a39b-e272aafd8fbe",
      "name": "Take DoR link for further referral",
      "type": "n8n-nodes-base.googleDrive",
      "position": [
        2000,
        620
      ]
    },
    {
      "id": "3ec31cc1-879f-4023-9dff-bf9f38d91b1d",
      "name": "Send Error Email",
      "type": "n8n-nodes-base.gmail",
      "position": [
        1500,
        180
      ]
    },
    {
      "id": "169ccfec-efde-45f4-8acc-ab50652f0ca8",
      "name": "Check for Upcoming Sprint Planning Project A",
      "type": "n8n-nodes-base.filter",
      "position": [
        1600,
        620
      ]
    },
    {
      "id": "3058aa89-824a-4335-98a7-edc5cc65191c",
      "name": "Select Stories Ready for Sprint Planning from Backlog",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        3960,
        820
      ]
    },
    {
      "id": "7c13c390-ed54-4401-bea1-8adfda8aaa3a",
      "name": "Check Open Stories in Current Sprint",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        2420,
        620
      ]
    },
    {
      "id": "ec3c025e-6d51-4997-8147-a7eacbf9c42f",
      "name": "Draft Email for Sprint Planning",
      "type": "@n8n/n8n-nodes-langchain.agent",
      "position": [
        6660,
        960
      ]
    },
    {
      "id": "79327a55-acff-45c3-b122-e2c379667823",
      "name": "Aggregate Stories for Form Creation",
      "type": "n8n-nodes-base.aggregate",
      "position": [
        2680,
        800
      ]
    },
    {
      "id": "948dc930-d76a-4c0b-90b4-22cc8430f0e1",
      "name": "Create Dynamic Form",
      "type": "n8n-nodes-base.code",
      "position": [
        2860,
        800
      ]
    },
    {
      "id": "19a40363-b558-4b57-9c61-b3874e7c27f2",
      "name": "Ask Scrum Master for Current Sprint Stories Check",
      "type": "n8n-nodes-base.gmail",
      "position": [
        3060,
        800
      ]
    },
    {
      "id": "aa588f83-b355-4c65-8611-65bf948bc859",
      "name": "Process Feedback on Index",
      "type": "n8n-nodes-base.splitOut",
      "position": [
        3220,
        620
      ]
    },
    {
      "id": "fce6cb70-b4f1-42e3-b2c0-b57e3f81b007",
      "name": "Append Feedback to Story",
      "type": "n8n-nodes-base.merge",
      "position": [
        3400,
        440
      ]
    },
    {
      "id": "6e7ac978-3a14-4ed0-ae34-406c0627d6f9",
      "name": "Sticky Note14",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        7160,
        40
      ],
      "parameters": {
        "width": null,
        "height": null,
        "content": ""
      }
    },
    {
      "id": "0a92e38d-5ec3-48d4-9a51-734848547ce3",
      "name": "Draft Email for Sprint Goal Suggestions",
      "type": "@n8n/n8n-nodes-langchain.agent",
      "position": [
        6660,
        260
      ]
    },
    {
      "id": "886f5a41-5a84-4f35-a9a4-ff8122e7679a",
      "name": "Keep stories that were not committed",
      "type": "n8n-nodes-base.filter",
      "position": [
        3560,
        440
      ]
    },
    {
      "id": "3556ec6e-5288-489d-9e39-e561345df679",
      "name": "Combine Sprint Spill over with Ready for Sprint Planning",
      "type": "n8n-nodes-base.merge",
      "position": [
        4160,
        600
      ]
    },
    {
      "id": "2bd7dac6-5862-4725-b587-df62b26bbb96",
      "name": "Append Stories with DoR feedback",
      "type": "n8n-nodes-base.merge",
      "position": [
        5060,
        460
      ]
    },
    {
      "id": "b33e5be2-1b79-437c-bfcf-3363f761b069",
      "name": "OpenAI Sprint Goal Email Agent",
      "type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
      "position": [
        6660,
        460
      ]
    },
    {
      "id": "53644996-51a3-4c55-a30e-07745fac52d9",
      "name": "Send Email to PO",
      "type": "n8n-nodes-base.gmail",
      "position": [
        7680,
        260
      ]
    },
    {
      "id": "fc56b9e6-8af9-42c1-8744-cbbd4d59c6b7",
      "name": "Sticky Note2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        2380,
        360
      ],
      "parameters": {
        "width": null,
        "height": null,
        "content": ""
      }
    },
    {
      "id": "a6dcee15-ae4f-4548-a1da-23d39807a173",
      "name": "Sticky Note10",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        3720,
        360
      ],
      "parameters": {
        "width": null,
        "height": null,
        "content": ""
      }
    },
    {
      "id": "048d3a30-6a69-4c9c-8504-f72b0d5c5b8e",
      "name": "Wait until X days before the Sprint Planning1",
      "type": "n8n-nodes-base.wait",
      "position": [
        3760,
        520
      ]
    }
  ],
  "connections": {
    "Error Trigger": {
      "main": [
        [
          {
            "node": "Send Error Email",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Schedule Trigger": {
      "main": [
        [
          {
            "node": "Start Here: Set Environment Variables",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Read DoR criteria": {
      "main": [
        [
          {
            "node": "Compare User Story to DoR Criterium",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Create Dynamic Form": {
      "main": [
        [
          {
            "node": "Ask Scrum Master for Current Sprint Stories Check",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "If no event do nothing": {
      "main": [
        [
          {
            "node": "Take DoR link for further referral",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Append Feedback to Story": {
      "main": [
        [
          {
            "node": "Keep stories that were not committed",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "No Operation, do nothing": {
      "main": [
        [
          {
            "node": "Load Calendar of Scrum Master",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Process Feedback on Index": {
      "main": [
        [
          {
            "node": "Append Feedback to Story",
            "type": "main",
            "index": 1
          }
        ]
      ]
    },
    "OpenAI Scrum Master Emailer": {
      "ai_languageModel": [
        [
          {
            "node": "Draft Email for Sprint Planning",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "Ask Approval to Scrum Master": {
      "main": [
        [
          {
            "node": "If Email content is Approved",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "If Email content is Approved": {
      "main": [
        [
          {
            "node": "Send Email to Attendees",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Create Draft in Scrum Master Email",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Combine stories into one list": {
      "main": [
        [
          {
            "node": "Draft Email for Sprint Planning",
            "type": "main",
            "index": 0
          },
          {
            "node": "Draft Email for Sprint Goal Suggestions",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Load Calendar of Scrum Master": {
      "main": [
        [
          {
            "node": "Check for Upcoming Sprint Planning Project A",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Loop Over Items for DoR check": {
      "main": [
        [
          {
            "node": "Append Stories with DoR feedback",
            "type": "main",
            "index": 1
          }
        ],
        [
          {
            "node": "Read DoR criteria",
            "type": "main",
            "index": 0
          },
          {
            "node": "Add DoR feedback to User Story",
            "type": "main",
            "index": 1
          }
        ]
      ]
    },
    "OpenAI Scrum Master DoR Check": {
      "ai_languageModel": [
        [
          {
            "node": "Compare User Story to DoR Criterium",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "Add DoR feedback to User Story": {
      "main": [
        [
          {
            "node": "Provide Scrum Master Feedback on the story",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "OpenAI Sprint Goal Email Agent": {
      "ai_languageModel": [
        [
          {
            "node": "Draft Email for Sprint Goal Suggestions",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "Draft Email for Sprint Planning": {
      "main": [
        [
          {
            "node": "Ask Approval to Scrum Master",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Append Stories with DoR feedback": {
      "main": [
        [
          {
            "node": "Combine stories into one list",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Update Scrum feedback in Backlog": {
      "main": [
        [
          {
            "node": "Loop Over Items for DoR check",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "When clicking ‘Test workflow’": {
      "main": [
        [
          {
            "node": "Start Here: Set Environment Variables",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Create Draft in Scrum Master Email": {
      "main": [
        [
          {
            "node": "Make aware the draft is ready to be adjusted manually",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "OpenAI Scrum Master Story Feedback": {
      "ai_languageModel": [
        [
          {
            "node": "Provide Scrum Master Feedback on the story",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "Take DoR link for further referral": {
      "main": [
        [
          {
            "node": "Take backlog link for further referral",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Aggregate Stories for Form Creation": {
      "main": [
        [
          {
            "node": "Create Dynamic Form",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Compare User Story to DoR Criterium": {
      "main": [
        [
          {
            "node": "Aggregate DoR check to User Story Level",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Check Open Stories in Current Sprint": {
      "main": [
        [
          {
            "node": "Aggregate Stories for Form Creation",
            "type": "main",
            "index": 0
          },
          {
            "node": "Append Feedback to Story",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Keep stories that were not committed": {
      "main": [
        [
          {
            "node": "Wait until X days before the Sprint Planning1",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Start Here: Set Environment Variables": {
      "main": [
        [
          {
            "node": "No Operation, do nothing",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Take backlog link for further referral": {
      "main": [
        [
          {
            "node": "Check Open Stories in Current Sprint",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Aggregate DoR check to User Story Level": {
      "main": [
        [
          {
            "node": "Add DoR feedback to User Story",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Draft Email for Sprint Goal Suggestions": {
      "main": [
        [
          {
            "node": "Send Email to PO",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Provide Scrum Master Feedback on the story": {
      "main": [
        [
          {
            "node": "Update Scrum feedback in Backlog",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Check for Upcoming Sprint Planning Project A": {
      "main": [
        [
          {
            "node": "If no event do nothing",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Wait until X days before the Sprint Planning1": {
      "main": [
        [
          {
            "node": "Combine Sprint Spill over with Ready for Sprint Planning",
            "type": "main",
            "index": 0
          },
          {
            "node": "Select Stories Ready for Sprint Planning from Backlog",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Ask Scrum Master for Current Sprint Stories Check": {
      "main": [
        [
          {
            "node": "Process Feedback on Index",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Select Stories Ready for Sprint Planning from Backlog": {
      "main": [
        [
          {
            "node": "Combine Sprint Spill over with Ready for Sprint Planning",
            "type": "main",
            "index": 1
          }
        ]
      ]
    },
    "Combine Sprint Spill over with Ready for Sprint Planning": {
      "main": [
        [
          {
            "node": "Loop Over Items for DoR check",
            "type": "main",
            "index": 0
          },
          {
            "node": "Append Stories with DoR feedback",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}