Workflow: Summarize Stickynote Automation

Workflow Details

Download Workflow
{
    "id": "U1xUqDLvBYYSU6EU",
    "meta": {
        "instanceId": "8d54a4232b4618928ac9df0152e207cb858f5f9ffa6f3ba2d31d941bdcaec9d7",
        "templateCredsSetupCompleted": true
    },
    "name": "Jira Retrospective",
    "tags": [],
    "nodes": [
        {
            "id": "b91c4727-8c63-4bf3-8101-6282aa6f592c",
            "name": "Jira Get All Issues",
            "type": "n8n-nodes-base.jira",
            "position": [
                60,
                60
            ],
            "parameters": {
                "options": [],
                "operation": "getAll"
            },
            "credentials": {
                "jiraSoftwareCloudApi": {
                    "id": "AqnrDWxoCa8luriP",
                    "name": "Jira SW Cloud account"
                }
            },
            "typeVersion": 1
        },
        {
            "id": "4cf0689c-2a1f-4a90-81f4-d3483c63fc96",
            "name": "Jira Get All Comments",
            "type": "n8n-nodes-base.jira",
            "position": [
                280,
                60
            ],
            "parameters": {
                "options": [],
                "issueKey": "={{ $json.key }}",
                "resource": "issueComment",
                "operation": "getAll"
            },
            "credentials": {
                "jiraSoftwareCloudApi": {
                    "id": "AqnrDWxoCa8luriP",
                    "name": "Jira SW Cloud account"
                }
            },
            "typeVersion": 1
        },
        {
            "id": "26803742-1a94-4969-878b-2f757aced4f8",
            "name": "AI Agent",
            "type": "@n8n\/n8n-nodes-langchain.agent",
            "position": [
                940,
                60
            ],
            "parameters": {
                "text": "=comments = {{ $json.concatenated_Comment }}\ndescription = {{ $json.Description }}\ntitle = {{ $json.Title }}\nstatus = {{ $json.EpicStatus }}\nepic_name = {{ $json.EpicName }}\n",
                "options": {
                    "systemMessage": "=You are an AI assistant specialized in creating comprehensive Agile retrospective documents. Your task is to analyze the provided information about a completed task and generate an insightful **Lessons Learned** report formatted in **clean Markdown**, optimized for seamless conversion to Google Docs.\n\n---\n\n### \ud83d\udce5 Input Format\nYou will receive structured input containing:\n* `epic_name`: The broader initiative or project category\n* `title`: The specific task or user story name\n* `description`: A concise explanation of what the task involved\n\n---\n\n### \ud83d\udce4 Output Instructions\nGenerate a detailed **Lessons Learned** report using the following **Markdown** structure:\n\n# LESSONS LEARNED REPORT\n\n**Epic:** {epic_name} \n**Date:** {{$today.format('yyyy-MM-dd')}}}  \n**Task:** {title}  \n**Description:** {description}\n\n## Key Findings\n\n* Clear, specific insight about a technical challenge encountered\n* Process-related discovery that impacted delivery\n* Team dynamics observation or workflow improvement identified\n* {Add more if needed}\n\n## Comments & Observations\n\n{Write 2\u20133 paragraphs with:}\n\n* Specific examples from task execution\n* Feedback or quotes from team members (if available)\n* Comparisons to prior approaches\n* Unexpected challenges or positive surprises\n\n## Actionable Recommendations\n\n1. Specific, implementable action to address a finding\n2. Concrete suggestion for process improvement\n3. Recommendation for knowledge sharing or team development\n4. {Add more as needed}\n\n## Metrics & Impact\n\n{When possible, include:}\n\n* Time saved or efficiency gained\n* Quality improvements\n* User\/customer feedback\n* Cost implications\n\n## Tags\n\n`#lessons-learned` `#{normalized_epic_name}` `#{relevant_technology}` `#{improvement_area}`\n\n---\n\n### \ud83d\udcdd Guidelines\n\n1. **Be specific** \u2013 use real details, not vague statements\n2. **Stay relevant** \u2013 stick to the task and its broader context\n3. **Focus on learning** \u2013 prioritize transferable insights\n4. **Balance** \u2013 include both wins and challenges\n5. **Actionability** \u2013 make every suggestion doable\n6. **Concise yet clear** \u2013 avoid fluff; write for impact\n7. **Formatting Guidelines for Google Docs compatibility:**\n   * Use only asterisks (*) for bullet points, never hyphens (-)\n   * Add two spaces after each line in lists for proper line breaks\n   * Always leave a blank line before and after headings\n   * Avoid using underscores (_) in text; use hyphens (-) instead\n   * For emphasis, use consistently **bold** for important points and *italics* for supplementary information\n   * When mentioning code or technical terms, use `single backticks`, never triple backticks\n   * Use a pipe-separated format for tables as shown in the template\n   * Keep paragraphs short (3-5 sentences) for better readability\n8. **Metadata Handling:** Include the epic name and task title exactly as provided in the input, without modification\n9. **Date Format:** Use YYYY-MM-DD format for the date for consistent sorting and display\n10. **Tags:** Keep tags lowercase, with hyphens instead of spaces, and relevant to the content\n\n---"
                },
                "promptType": "define"
            },
            "typeVersion": 1.899999999999999911182158029987476766109466552734375
        },
        {
            "id": "29e37c80-68a4-490a-8952-2dcf974ff8d3",
            "name": "OpenAI Chat Model",
            "type": "@n8n\/n8n-nodes-langchain.lmChatOpenAi",
            "position": [
                920,
                280
            ],
            "parameters": {
                "model": {
                    "__rl": true,
                    "mode": "list",
                    "value": "gpt-4o-mini"
                },
                "options": []
            },
            "credentials": {
                "openAiApi": {
                    "id": "f3KRKVUp9GyRxd6U",
                    "name": "OpenAi account"
                }
            },
            "typeVersion": 1.1999999999999999555910790149937383830547332763671875
        },
        {
            "id": "da5e365b-cc69-4bdd-bd58-e5b2ecb17387",
            "name": "Edit Fields",
            "type": "n8n-nodes-base.set",
            "position": [
                500,
                60
            ],
            "parameters": {
                "options": [],
                "assignments": {
                    "assignments": [
                        {
                            "id": "84fcaf69-4234-46be-9fa7-15026c60fed4",
                            "name": "EpicName",
                            "type": "string",
                            "value": "={{ $('Jira Get All Issues').item.json.fields.parent.fields.summary }}"
                        },
                        {
                            "id": "a7890a6b-1d0d-4486-908e-d3db571b89af",
                            "name": "EpicStatus",
                            "type": "string",
                            "value": "={{ $('Jira Get All Issues').item.json.fields.parent.fields.status.statusCategory.name }}"
                        },
                        {
                            "id": "c2c58d73-17a8-47b5-beb6-8295905cd8c2",
                            "name": "Title",
                            "type": "string",
                            "value": "={{ $('Jira Get All Issues').item.json.fields.summary }}"
                        },
                        {
                            "id": "baa10a35-ab3e-490f-b9ed-e661a6e9f4aa",
                            "name": "Description",
                            "type": "string",
                            "value": "={{ $('Jira Get All Issues').item.json.fields.description }}"
                        },
                        {
                            "id": "5da4ae54-07e6-41b8-bd51-054fe56beb5f",
                            "name": "Comment",
                            "type": "string",
                            "value": "={{ $json.body.content[0].content[0].text }}"
                        }
                    ]
                }
            },
            "typeVersion": 3.399999999999999911182158029987476766109466552734375
        },
        {
            "id": "9718b066-e28f-41ea-97c2-559cbd894764",
            "name": "Summarize",
            "type": "n8n-nodes-base.summarize",
            "position": [
                720,
                60
            ],
            "parameters": {
                "options": [],
                "fieldsToSplitBy": "EpicName, EpicStatus, Title, Description",
                "fieldsToSummarize": {
                    "values": [
                        {
                            "field": "Comment",
                            "separateBy": "\n",
                            "aggregation": "concatenate"
                        }
                    ]
                }
            },
            "typeVersion": 1.100000000000000088817841970012523233890533447265625
        },
        {
            "id": "1d37efb7-09f1-43a7-a6c0-77d07b1f7a6b",
            "name": "Google Docs",
            "type": "n8n-nodes-base.googleDocs",
            "position": [
                1280,
                60
            ],
            "parameters": {
                "simple": false,
                "actionsUi": {
                    "actionFields": [
                        {
                            "text": "={{ $json.output }}",
                            "action": "insert"
                        }
                    ]
                },
                "operation": "update",
                "documentURL": "14X5gcowEprmL6ORyoo9tIrWWEB1HlhkixXUelesCLXs"
            },
            "credentials": {
                "googleDocsOAuth2Api": {
                    "id": "Qe3TZG3K1euzTr3n",
                    "name": "Google Docs account"
                }
            },
            "typeVersion": 2
        },
        {
            "id": "bfab4af8-1f26-45b0-952b-1bd5f411d5f4",
            "name": "Jira Trigger",
            "type": "n8n-nodes-base.jiraTrigger",
            "position": [
                -380,
                180
            ],
            "webhookId": "3eb46690-d7b1-4a69-9a99-8adf8f843ed9",
            "parameters": {
                "events": [
                    "jira:issue_updated"
                ],
                "additionalFields": {
                    "filter": ""
                }
            },
            "credentials": {
                "jiraSoftwareCloudApi": {
                    "id": "AqnrDWxoCa8luriP",
                    "name": "Jira SW Cloud account"
                }
            },
            "typeVersion": 1.100000000000000088817841970012523233890533447265625
        },
        {
            "id": "cc654cf3-c360-4704-a4b7-57447dbec8c6",
            "name": "If",
            "type": "n8n-nodes-base.if",
            "position": [
                -200,
                180
            ],
            "parameters": {
                "options": [],
                "conditions": {
                    "options": {
                        "version": 2,
                        "leftValue": "",
                        "caseSensitive": true,
                        "typeValidation": "strict"
                    },
                    "combinator": "and",
                    "conditions": [
                        {
                            "id": "a7028dd9-e262-4528-a20f-c80a26a28202",
                            "operator": {
                                "name": "filter.operator.equals",
                                "type": "string",
                                "operation": "equals"
                            },
                            "leftValue": "={{ $json.changelog.items[0].toString }}",
                            "rightValue": "Done"
                        }
                    ]
                }
            },
            "typeVersion": 2.20000000000000017763568394002504646778106689453125
        },
        {
            "id": "b3ccd93e-a412-46f5-858d-ef8a2cd0efa9",
            "name": "Simple Memory",
            "type": "@n8n\/n8n-nodes-langchain.memoryBufferWindow",
            "position": [
                1080,
                280
            ],
            "parameters": {
                "sessionKey": "47",
                "sessionIdType": "customKey"
            },
            "typeVersion": 1.3000000000000000444089209850062616169452667236328125
        },
        {
            "id": "e8379684-93ca-4118-bab5-f52a444c50e1",
            "name": "Sticky Note",
            "type": "n8n-nodes-base.stickyNote",
            "position": [
                -420,
                -120
            ],
            "parameters": {
                "width": 380,
                "height": 580,
                "content": "## Epic Done?\nThis Node is Triggered on any issue change in Jira. However it only triggers the automation when the Epic status is changed to **Done**"
            },
            "typeVersion": 1
        },
        {
            "id": "cdddcd3f-f896-4dbf-89e2-09060111cbc6",
            "name": "Sticky Note1",
            "type": "n8n-nodes-base.stickyNote",
            "position": [
                20,
                -120
            ],
            "parameters": {
                "color": 5,
                "width": 820,
                "height": 580,
                "content": "## Fetch issue Description and Comments\nOnce the Epic is Done, these nodes fetch issues and comments that fall under the Epic. For further processing the output is bundled."
            },
            "typeVersion": 1
        },
        {
            "id": "c718a2e8-be7b-47b9-b7cc-9f4549a1060f",
            "name": "Sticky Note2",
            "type": "n8n-nodes-base.stickyNote",
            "position": [
                880,
                -120
            ],
            "parameters": {
                "color": 3,
                "width": 540,
                "height": 580,
                "content": "## Summarize and send to Google Docs\nThe LLM is summarizing the description \/ comments and generates a report with a layout defined in the System Message. Finally the output is send to Google Docs."
            },
            "typeVersion": 1
        }
    ],
    "active": false,
    "pinData": [],
    "settings": {
        "executionOrder": "v1"
    },
    "versionId": "793ad505-261f-44ae-a197-a7c0e496dd69",
    "connections": {
        "If": {
            "main": [
                [
                    {
                        "node": "Jira Get All Issues",
                        "type": "main",
                        "index": 0
                    }
                ]
            ]
        },
        "AI Agent": {
            "main": [
                [
                    {
                        "node": "Google Docs",
                        "type": "main",
                        "index": 0
                    }
                ]
            ]
        },
        "Summarize": {
            "main": [
                [
                    {
                        "node": "AI Agent",
                        "type": "main",
                        "index": 0
                    }
                ]
            ]
        },
        "Edit Fields": {
            "main": [
                [
                    {
                        "node": "Summarize",
                        "type": "main",
                        "index": 0
                    }
                ]
            ]
        },
        "Jira Trigger": {
            "main": [
                [
                    {
                        "node": "If",
                        "type": "main",
                        "index": 0
                    }
                ]
            ]
        },
        "Simple Memory": {
            "ai_memory": [
                [
                    {
                        "node": "AI Agent",
                        "type": "ai_memory",
                        "index": 0
                    }
                ]
            ]
        },
        "OpenAI Chat Model": {
            "ai_languageModel": [
                [
                    {
                        "node": "AI Agent",
                        "type": "ai_languageModel",
                        "index": 0
                    }
                ]
            ]
        },
        "Jira Get All Issues": {
            "main": [
                [
                    {
                        "node": "Jira Get All Comments",
                        "type": "main",
                        "index": 0
                    }
                ]
            ]
        },
        "Jira Get All Comments": {
            "main": [
                [
                    {
                        "node": "Edit Fields",
                        "type": "main",
                        "index": 0
                    }
                ]
            ]
        }
    }
}
Back to Workflows

Related Workflows

Manual Facebookgraphapi Automation Triggered
View
Write a file to the host machine
View
[n8n] - Shopify Orders to D365 Business Central Sales Orders / Sales Invoices
View
Telegram Functionitem Create Scheduled
View
HTTP Manual Automation Webhook
View
Receive updates when a new list is created in Affinity
View
Google analytics template
View
Archive empty pages in Notion Database
View
AI-Powered Short-Form Video Generator with OpenAI, Flux, Kling, and ElevenLabs and upload to all social networks
View
Splitout Schedule Update Scheduled
View