AutomationFlowsAI & RAG › Automate Sprint Planning with Openai, Google Calendar, and Gmail for Agile Teams

Automate Sprint Planning with Openai, Google Calendar, and Gmail for Agile Teams

ByWillemijn @willemijn on n8n.io

This workflow is designed for Scrum Masters and Agile Coaches who prepare and coordinate Sprint Planning sessions, using Google Calendar, Google Sheets, and OpenAI.

Event trigger★★★★★ complexityAI-powered52 nodesGoogle CalendarGoogle SheetsAgentGoogle DriveOpenAI ChatError TriggerGmail
AI & RAG Trigger: Event Nodes: 52 Complexity: ★★★★★ AI nodes: yes Added:

This workflow corresponds to n8n.io template #4038 — we link there as the canonical source.

This workflow follows the Agent → Error Trigger recipe pattern — see all workflows that pair these two integrations.

The workflow JSON

Copy or download the full n8n JSON below. Paste it into a new n8n workflow, add your credentials, activate. Full import guide →

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

For the full experience including quality scoring and batch install features for each workflow upgrade to Pro

About this workflow

This workflow is designed for Scrum Masters and Agile Coaches who prepare and coordinate Sprint Planning sessions, using Google Calendar, Google Sheets, and OpenAI.

Source: https://n8n.io/workflows/4038/ — original creator credit. Request a take-down →

More AI & RAG workflows → · Browse all categories →

Related workflows

Workflows that share integrations, category, or trigger type with this one. All free to copy and import.

AI & RAG

This workflow is designed for Scrum Masters, Agile Coaches, and Product Owners who want to automate backlog refinement preparation using Google Sheets, Gmail, and OpenAI. It’s ideal for teams seeking

Google Calendar, Google Sheets, Agent +4
AI & RAG

Transform your manual hiring process into an intelligent evaluation system that saves 15-20 minutes per candidate! This workflow automates the entire candidate assessment pipeline - from CSV/XLSX uplo

Form Trigger, Google Sheets, Google Drive +8
AI & RAG

The Multi-Model Agency Content Engine is a high-performance editorial system designed for agencies. It solves the "blank page" problem by alternating between real-world social proof and strategic expe

Google Sheets, Gmail, Google Drive +6
AI & RAG

This n8n workflow template automates your lead generation and follow-up process using AI. It captures leads through a form, enriches them with company data, classifies them into different categories,

Gmail, Output Parser Structured, Form Trigger +5
AI & RAG

This n8n workflow automates turning short user ideas into production-ready real-estate marketing assets (photorealistic images and optional 360° videos). A form submission seeds a prompt board → an LL

Form Trigger, Google Sheets, Agent +6