AutomationFlowsGeneral › Add Discussion Comment

Add Discussion Comment

Add Discussion Comment. Uses respondToWebhook. Webhook trigger; 4 nodes.

Webhook trigger★★★★☆ complexity4 nodes
General Trigger: Webhook Nodes: 4 Complexity: ★★★★☆

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
{
  "id": "BMqI4wb9boKML4Ix",
  "name": "Add Discussion Comment",
  "description": null,
  "active": true,
  "isArchived": false,
  "nodes": [
    {
      "parameters": {
        "path": "add-discussion-comment",
        "httpMethod": "POST",
        "responseMode": "responseNode",
        "options": {}
      },
      "id": "webhook-1",
      "name": "Webhook",
      "type": "n8n-nodes-base.webhook",
      "typeVersion": 2.1,
      "position": [
        240,
        300
      ]
    },
    {
      "parameters": {
        "jsCode": "const fs = require('fs');\nconst path = '/home/paul/Projects/wf-monorepo/.agentTask/discussion.md';\n\n// Read current discussion file\nlet currentContent = '';\ntry {\n  currentContent = fs.readFileSync(path, 'utf8');\n} catch (error) {\n  throw new Error('No active discussion found. Create a discussion first.');\n}\n\n// Check if discussion is already resolved\nif (currentContent.includes('[x]') || currentContent.includes('[X]')) {\n  throw new Error('Discussion is already resolved. Create a new discussion instead.');\n}\n\nconst body = $input.item.json.body || $input.item.json;\nconst { comment, agent = 'unknown' } = body;\n\nif (!comment) {\n  throw new Error('comment is required');\n}\n\nconst timestamp = new Date().toISOString();\n\nreturn {\n  json: {\n    currentContent,\n    comment,\n    agent,\n    timestamp\n  }\n};"
      },
      "id": "validate-comment",
      "name": "Validate Comment",
      "type": "n8n-nodes-base.code",
      "typeVersion": 2,
      "position": [
        460,
        300
      ]
    },
    {
      "parameters": {
        "jsCode": "const fs = require('fs');\nconst data = $input.item.json;\n\nconst newComment = `\\n**${data.agent}** - ${data.timestamp}\\n> ${data.comment}\\n`;\n\n// Find the Resolution section and insert before it\nconst resolutionIndex = data.currentContent.indexOf('## Resolution');\n\nlet updatedContent;\nif (resolutionIndex !== -1) {\n  updatedContent = \n    data.currentContent.substring(0, resolutionIndex) +\n    newComment +\n    '\\n---\\n\\n' +\n    data.currentContent.substring(resolutionIndex);\n} else {\n  // If no Resolution section found, append to end\n  updatedContent = data.currentContent + '\\n---\\n' + newComment;\n}\n\nconst discussionPath = '/home/paul/Projects/wf-monorepo/.agentTask/discussion.md';\n\ntry {\n  fs.writeFileSync(discussionPath, updatedContent, 'utf8');\n  return {\n    json: {\n      success: true,\n      message: 'Comment added to discussion',\n      agent: data.agent,\n      timestamp: data.timestamp\n    }\n  };\n} catch (error) {\n  throw new Error(`Failed to update discussion file: ${error.message}`);\n}"
      },
      "id": "append-comment",
      "name": "Append Comment",
      "type": "n8n-nodes-base.code",
      "typeVersion": 2,
      "position": [
        680,
        300
      ]
    },
    {
      "parameters": {
        "respondWith": "allIncomingItems",
        "options": {}
      },
      "id": "webhook-response",
      "name": "Respond to Webhook",
      "type": "n8n-nodes-base.respondToWebhook",
      "typeVersion": 1.5,
      "position": [
        900,
        300
      ]
    }
  ],
  "connections": {
    "Webhook": {
      "main": [
        [
          {
            "node": "Validate Comment",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Validate Comment": {
      "main": [
        [
          {
            "node": "Append Comment",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Append Comment": {
      "main": [
        [
          {
            "node": "Respond to Webhook",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  },
  "settings": {
    "executionOrder": "v1",
    "callerPolicy": "workflowsFromSameOwner",
    "availableInMCP": true
  },
  "staticData": null,
  "versionId": "b13ea6c0-a892-472e-9a4f-be1f09523eaa",
  "createdAt": "2025-12-21 02:31:52.700",
  "updatedAt": "2025-12-26 13:28:07.619"
}

About this workflow

Add Discussion Comment. Uses respondToWebhook. Webhook trigger; 4 nodes.

Source: https://github.com/pchambless/wf-monorepo/blob/47cd16469735c59a12b7c76e2552861f899e335d/.n8n/workflows/add-discussion-comment.json — original creator credit. Request a take-down →

More General workflows → · Browse all categories →