16 - InsightMark: AI-gestützte Kommentaranalyse

Fortgeschritten

Dies ist ein AI Summarization, Multimodal AI-Bereich Automatisierungsworkflow mit 13 Nodes. Hauptsächlich werden Code, ClickUp, Hubspot, MondayCom, FormTrigger und andere Nodes verwendet. Formulareingaben mit GPT-4 analysieren und Aufgaben zu Monday, ClickUp und HubSpot synchronisieren

Voraussetzungen
  • HubSpot API Key
  • OpenAI API Key
Workflow-Vorschau
Visualisierung der Node-Verbindungen, mit Zoom und Pan
Workflow exportieren
Kopieren Sie die folgende JSON-Konfiguration und importieren Sie sie in n8n
{
  "id": "sewE6RsPSzHTD82d",
  "meta": {
    "instanceId": "c91c5b6efe2709e07c37996245857ac5d863d575d07e0072127351337c204c40",
    "templateCredsSetupCompleted": true
  },
  "name": "16 - InsightMark: AI-Powered Review",
  "tags": [
    {
      "id": "2V3HXFbv2wqNGm6s",
      "name": "Dev",
      "createdAt": "2025-06-17T05:42:41.949Z",
      "updatedAt": "2025-06-17T05:42:41.949Z"
    }
  ],
  "nodes": [
    {
      "id": "ab9f0698-cf91-4bde-bae9-f7b4f0beeea7",
      "name": "🧪 Code",
      "type": "n8n-nodes-base.code",
      "position": [
        -1680,
        -40
      ],
      "parameters": {
        "jsCode": "const raw = $input.first().json;\n\nreturn {\n  review_text: raw.Message,\n  customer_name: raw.Name,\n  rating: parseInt(raw.Rating),\n  product_service: raw[\"Product Service\"],\n};"
      },
      "typeVersion": 2
    },
    {
      "id": "35d329e3-d4fb-4c54-a8e4-b4525f02789d",
      "name": "📝 Bei Formularübermittlung",
      "type": "n8n-nodes-base.formTrigger",
      "position": [
        -1900,
        -40
      ],
      "webhookId": "b757ef50-c8d1-4041-95c5-2b1aa62cf017",
      "parameters": {
        "options": {},
        "formTitle": "Feedback Form",
        "formFields": {
          "values": [
            {
              "fieldLabel": "Name",
              "placeholder": "Your Name",
              "requiredField": true
            },
            {
              "fieldType": "textarea",
              "fieldLabel": "Message",
              "placeholder": "Feedback",
              "requiredField": true
            },
            {
              "fieldType": "dropdown",
              "fieldLabel": "Rating",
              "fieldOptions": {
                "values": [
                  {
                    "option": "1"
                  },
                  {
                    "option": "2"
                  },
                  {
                    "option": "3"
                  },
                  {
                    "option": "4"
                  },
                  {
                    "option": "5"
                  }
                ]
              },
              "requiredField": true
            },
            {
              "fieldType": "textarea",
              "fieldLabel": "Product Service",
              "requiredField": true
            }
          ]
        },
        "formDescription": "Please Let us know about your concerns"
      },
      "typeVersion": 2.2
    },
    {
      "id": "dc7bd1ea-c3d3-48b5-8294-24fcfe958947",
      "name": "🧠 OpenAI Analyse",
      "type": "@n8n/n8n-nodes-langchain.openAi",
      "notes": "AI ANALYSIS: Uses OpenAI GPT-4 to analyze sentiment, categorize feedback, and determine required actions. Adjust temperature for more/less creative responses.",
      "position": [
        -1460,
        -40
      ],
      "parameters": {
        "modelId": {
          "__rl": true,
          "mode": "list",
          "value": "gpt-4o-mini",
          "cachedResultName": "GPT-4O-MINI"
        },
        "options": {
          "temperature": 0.3
        },
        "messages": {
          "values": [
            {
              "role": "system",
              "content": "You are an expert customer feedback analyzer. Analyze the provided customer review and return a JSON response with the following structure:\n\n{\n  \"sentiment\": \"positive/negative/neutral\",\n  \"sentiment_score\": 0.85,\n  \"category\": \"product/service/support/delivery/pricing\",\n  \"priority\": \"high/medium/low\",\n  \"department\": \"customer_support/product_team/marketing/sales\",\n  \"action_required\": true/false,\n  \"key_insights\": [\"insight1\", \"insight2\"],\n  \"suggested_response_tone\": \"apologetic/grateful/informative\",\n  \"keywords\": [\"keyword1\", \"keyword2\"],\n  \"summary\": \"Brief summary of the review\"\n}\n\nBe accurate and consistent in your analysis."
            },
            {
              "content": "=Please analyze this customer review:\n\nReview: {{ $json.review_text }}\nCustomer: {{ $json.customer_name }}\nRating: {{ $json.rating }}/5\nProduct/Service: {{ $json.product_service }}"
            }
          ]
        }
      },
      "credentials": {
        "openAiApi": {
          "id": "c8cbK7g7bUw6Ifjy",
          "name": "OpenAi account 8"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "c41226f7-9ccc-4852-bccd-b64f7e09aff5",
      "name": "🧮 Datenverarbeitung",
      "type": "n8n-nodes-base.code",
      "notes": "DATA PROCESSING: Parses AI response, prepares task data, and sets routing flags. Modify the create_*_task flags to enable/disable integrations.",
      "position": [
        -1084,
        -40
      ],
      "parameters": {
        "jsCode": "const aiInput = $input.first().json;\n\n// Extract original form data (passed through from previous nodes)\nconst formData = {\n  review_text: $('🧪 Code').first().json.review_text,\n  customer_name: $('🧪 Code').first().json.customer_name,\n  rating: $('🧪 Code').first().json.rating,\n  product_service: $('🧪 Code').first().json.product_service,\n  review_date: new Date().toISOString()\n};\n\n// Parse AI response - it should be a JSON string\nlet aiResponse = {};\ntry {\n  if (typeof aiInput.response === 'string') {\n    aiResponse = JSON.parse(aiInput.response);\n  } else if (aiInput.response && typeof aiInput.response === 'object') {\n    aiResponse = aiInput.response;\n  } else {\n    aiResponse = aiInput;\n  }\n} catch (error) {\n  console.error('Failed to parse AI response:', error);\n  aiResponse = {\n    sentiment: 'neutral',\n    sentiment_score: 0.5,\n    category: 'unspecified',\n    priority: 'medium',\n    department: 'customer_support',\n    action_required: true,\n    key_insights: ['Failed to analyze review'],\n    suggested_response_tone: 'informative',\n    keywords: [],\n    summary: 'Analysis failed'\n  };\n}\n\n// Safety fallback\nconst sentiment = aiResponse.sentiment ?? 'neutral';\n\n// Construct final processed output (data only)\nconst processedData = {\n  // Original data\n  review_text: formData.review_text,\n  customer_name: formData.customer_name,\n  rating: formData.rating,\n  product_service: formData.product_service,\n  review_date: formData.review_date,\n\n  // Enriched data\n  sentiment,\n  sentiment_score: aiResponse.sentiment_score ?? 0.5,\n  category: aiResponse.category ?? 'unspecified',\n  priority: aiResponse.priority ?? 'medium',\n  department: aiResponse.department ?? 'customer_support',\n  action_required: aiResponse.action_required ?? true,\n  key_insights: aiResponse.key_insights ?? [],\n  suggested_response_tone: aiResponse.suggested_response_tone ?? 'informative',\n  keywords: aiResponse.keywords ?? [],\n  summary: aiResponse.summary ?? '',\n\n  // Computed metadata\n  task_title: `Review Response: ${sentiment.toUpperCase()} - ${formData.customer_name}`,\n  task_description: `Customer Review Analysis\n\nCustomer: ${formData.customer_name}\nRating: ${formData.rating}/5\nSentiment: ${sentiment} (${aiResponse.sentiment_score ?? 'N/A'})\nCategory: ${aiResponse.category ?? 'unspecified'}\nPriority: ${aiResponse.priority ?? 'medium'}\n\nReview: \"${formData.review_text}\"\n\nKey Insights:\n${(aiResponse.key_insights ?? []).map(i => `• ${i}`).join('\\n')}\n\nSuggested Response Tone: ${aiResponse.suggested_response_tone ?? 'informative'}\n\nKeywords: ${(aiResponse.keywords ?? []).join(', ')}`,\n\n  // Due date logic\n  due_date:\n    (aiResponse.priority ?? 'medium') === 'high'\n      ? new Date(Date.now() + 1 * 24 * 60 * 60 * 1000).toISOString()\n      : (aiResponse.priority ?? 'medium') === 'medium'\n      ? new Date(Date.now() + 3 * 24 * 60 * 60 * 1000).toISOString()\n      : new Date(Date.now() + 7 * 24 * 60 * 60 * 1000).toISOString()\n};\n\nreturn processedData;"
      },
      "typeVersion": 2
    },
    {
      "id": "cadef244-c319-4166-936a-6fb2943bdb75",
      "name": "🕵️‍♂️ KI-Agent",
      "type": "@n8n/n8n-nodes-langchain.agent",
      "position": [
        -864,
        -40
      ],
      "parameters": {
        "text": "=Create a structured task using the following customer review analysis. The output must be in valid JSON format and contain fields that are friendly for Monday.com, HubSpot, and ClickUp.\n\nRequirements:\nOutput only a JSON object.\n\nUse a clear, professional tone.\n\nEnsure the task is actionable, with proper metadata, title, description, and priority.\n\nInclude customer insights, sentiment analysis, and due date.\n\nUser Provided Data:\n{\n  \"review_text\": \"{{ $json.review_text }}\",\n  \"customer_name\": \"{{ $json.customer_name }}\",\n  \"rating\": \"{{ $json.rating }}\",\n  \"product_service\": \"{{ $json.product_service }}\",\n  \"review_date\": \"{{ $json.review_date }}\",\n  \"sentiment\": \"{{ $json.sentiment }}\",\n  \"sentiment_score\": {{ $json.sentiment_score }},\n  \"category\": \"{{ $json.category }}\",\n  \"priority\": \"{{ $json.priority }}\",\n  \"department\": \"{{ $json.department }}\",\n  \"action_required\": {{ $json.action_required }},\n  \"due_date\": \"{{ $json.due_date }}\",\n  \"task_title\": \"{{ $json.task_title }}\",\n  \"task_description\": `{{ $json.task_description }}`\n}\n\nOutput format (example structure):\n\n{\n  \"title\": \"Review Response: POSITIVE - John Doe\",\n  \"description\": \"Clear, professional task description with insights and action items.\",\n  \"priority\": \"High\",\n  \"due_date\": \"2025-08-08\",\n  \"metadata\": {\n    \"customer_name\": \"John Doe\",\n    \"rating\": 5,\n    \"product_service\": \"Product X\",\n    \"review_date\": \"2025-08-05\",\n    \"sentiment\": \"positive\",\n    \"sentiment_score\": 0.95,\n    \"category\": \"delivery\",\n    \"department\": \"customer_support\",\n    \"action_required\": true\n  }\n}\n\nMake sure:\n\nThe order is exactly maintained as above.\n\nNo additional fields are included.\n\nNo surrounding commentary or formatting is added.\n\nReturn the result as a pure JSON object (no markdown, no explanations, no code block formatting like ```json).\n\nOutput is only the JSON object.",
        "options": {},
        "promptType": "define"
      },
      "typeVersion": 2
    },
    {
      "id": "c35348dd-0830-465a-ac90-d65cebb7de98",
      "name": "💬 OpenAI Chat-Modell",
      "type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
      "position": [
        -776,
        180
      ],
      "parameters": {
        "model": {
          "__rl": true,
          "mode": "list",
          "value": "gpt-4o-mini"
        },
        "options": {}
      },
      "credentials": {
        "openAiApi": {
          "id": "c8cbK7g7bUw6Ifjy",
          "name": "OpenAi account 8"
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "93e07162-0348-49f4-88bc-73aab6d34584",
      "name": "🗓️ Monday.com-Eintrag erstellen",
      "type": "n8n-nodes-base.mondayCom",
      "notes": "MONDAY.COM INTEGRATION: Creates item in Monday.com board. Update BOARD_ID and column IDs to match your board structure.",
      "position": [
        -488,
        -240
      ],
      "parameters": {
        "name": "=Feedback",
        "boardId": "2054150933",
        "groupId": "group_mktjh98q",
        "resource": "boardItem",
        "additionalFields": {
          "columnValues": "={{ $json.output }}"
        }
      },
      "credentials": {
        "mondayComApi": {
          "id": "phJg8XbofdmenpXl",
          "name": "Monday.com account - (Dev)"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "e934b992-6063-4178-a3e3-71e78bc087fa",
      "name": "✅ ClickUp-Aufgabe erstellen",
      "type": "n8n-nodes-base.clickUp",
      "notes": "CLICKUP INTEGRATION: Creates task in ClickUp with priority mapping and keyword tagging. Update LIST_ID with your ClickUp list.",
      "position": [
        -488,
        -40
      ],
      "parameters": {
        "list": "901610042700",
        "name": "=Feedback",
        "team": "90161084725",
        "space": "90164686646",
        "folder": "90166023626",
        "authentication": "oAuth2",
        "additionalFields": {
          "customFieldsJson": "={{ $json.output }}"
        }
      },
      "credentials": {
        "clickUpOAuth2Api": {
          "id": "oWjc2WsgQYtkq2Aq",
          "name": "ClickUp account - (DEV)"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "386f2bf4-948e-4032-b4f4-2ea46a30d401",
      "name": "📌 HubSpot Aufgabe erstellen",
      "type": "n8n-nodes-base.hubspot",
      "notes": "HUBSPOT INTEGRATION: Creates task in HubSpot CRM with priority mapping and due date. Requires HubSpot API key in credentials.",
      "position": [
        -488,
        160
      ],
      "parameters": {
        "type": "task",
        "metadata": {
          "body": "={{ $json.output }}"
        },
        "resource": "engagement",
        "authentication": "appToken",
        "additionalFields": {}
      },
      "credentials": {
        "hubspotAppToken": {
          "id": "ZfQVFpoeed975usK",
          "name": "HubSpot account - (Dev)"
        }
      },
      "typeVersion": 2
    },
    {
      "id": "4e46e5a1-e1ab-40c6-bbe4-67e6f072b3d4",
      "name": "Haftnotiz",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -1940,
        -360
      ],
      "parameters": {
        "width": 440,
        "height": 700,
        "content": "## Nodes Covered: On form submission, Code\n\n📝 Note:\n\nFORM CAPTURE & PRE-PROCESSING\n\n*Captures user feedback via a dynamic form and extracts the input fields (Name, Message, Rating, and Product Service). Passes clean, structured data to the AI for further analysis. This is the entry point for customer sentiment workflows.*"
      },
      "typeVersion": 1
    },
    {
      "id": "f60c29cf-8f8d-4451-aa75-846a01a8ec7d",
      "name": "Haftnotiz1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -1480,
        -360
      ],
      "parameters": {
        "color": 5,
        "width": 540,
        "height": 700,
        "content": "## Nodes Covered: OpenAI Analysis, Data Processing\n\n🧠 Note:\n\nAI-DRIVEN FEEDBACK INTELLIGENCE\n\n*Uses GPT-4 to analyze the customer review for sentiment, category, department, priority, and more. Then formats this output with due dates, task descriptions, and metadata. Ensures consistency and fallback handling for failed AI responses.*"
      },
      "typeVersion": 1
    },
    {
      "id": "7ab41f5f-ca38-4fcc-aa8d-e14844dc7c71",
      "name": "Haftnotiz2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -920,
        -360
      ],
      "parameters": {
        "color": 3,
        "width": 340,
        "height": 700,
        "content": "## Nodes Covered: AI Agent, OpenAI Chat Model\n\n📊 Note:\n\nSTRUCTURED OUTPUT FOR TASK SYSTEMS\n\n*Transforms enriched AI response into a clean, JSON-only object ready to be pushed into Monday.com, ClickUp, and HubSpot. Maintains strict field order, tone, and formatting. Acts as a bridge between data processing and task integrations.*"
      },
      "typeVersion": 1
    },
    {
      "id": "3ec93f97-6d95-42fa-b4fc-242d31827a63",
      "name": "Haftnotiz3",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -560,
        -540
      ],
      "parameters": {
        "color": 4,
        "width": 440,
        "height": 880,
        "content": "## Nodes Covered: Create Monday.com Item, Create ClickUp Task, Create HubSpot Task\n\n📬 Note:\n\nMULTI-PLATFORM TASK CREATION\n\n*Automatically sends analyzed feedback to Monday.com, ClickUp, and HubSpot with consistent metadata, due dates, and formatting. Integrations are toggleable as needed.*"
      },
      "typeVersion": 1
    }
  ],
  "active": false,
  "pinData": {},
  "settings": {
    "executionOrder": "v1"
  },
  "versionId": "da2bc46c-abcc-4537-bd0c-ea048e7e42e3",
  "connections": {
    "ab9f0698-cf91-4bde-bae9-f7b4f0beeea7": {
      "main": [
        [
          {
            "node": "dc7bd1ea-c3d3-48b5-8294-24fcfe958947",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "dc7bd1ea-c3d3-48b5-8294-24fcfe958947": {
      "main": [
        [
          {
            "node": "c41226f7-9ccc-4852-bccd-b64f7e09aff5",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "c41226f7-9ccc-4852-bccd-b64f7e09aff5": {
      "main": [
        [
          {
            "node": "cadef244-c319-4166-936a-6fb2943bdb75",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "c35348dd-0830-465a-ac90-d65cebb7de98": {
      "ai_languageModel": [
        [
          {
            "node": "cadef244-c319-4166-936a-6fb2943bdb75",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "e934b992-6063-4178-a3e3-71e78bc087fa": {
      "main": [
        []
      ]
    },
    "35d329e3-d4fb-4c54-a8e4-b4525f02789d": {
      "main": [
        [
          {
            "node": "ab9f0698-cf91-4bde-bae9-f7b4f0beeea7",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "386f2bf4-948e-4032-b4f4-2ea46a30d401": {
      "main": [
        []
      ]
    },
    "cadef244-c319-4166-936a-6fb2943bdb75": {
      "main": [
        [
          {
            "node": "93e07162-0348-49f4-88bc-73aab6d34584",
            "type": "main",
            "index": 0
          },
          {
            "node": "e934b992-6063-4178-a3e3-71e78bc087fa",
            "type": "main",
            "index": 0
          },
          {
            "node": "386f2bf4-948e-4032-b4f4-2ea46a30d401",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "93e07162-0348-49f4-88bc-73aab6d34584": {
      "main": [
        []
      ]
    }
  }
}
Häufig gestellte Fragen

Wie verwende ich diesen Workflow?

Kopieren Sie den obigen JSON-Code, erstellen Sie einen neuen Workflow in Ihrer n8n-Instanz und wählen Sie "Aus JSON importieren". Fügen Sie die Konfiguration ein und passen Sie die Anmeldedaten nach Bedarf an.

Für welche Szenarien ist dieser Workflow geeignet?

Fortgeschritten - KI-Zusammenfassung, Multimodales KI

Ist es kostenpflichtig?

Dieser Workflow ist völlig kostenlos. Beachten Sie jedoch, dass Drittanbieterdienste (wie OpenAI API), die im Workflow verwendet werden, möglicherweise kostenpflichtig sind.

Workflow-Informationen
Schwierigkeitsgrad
Fortgeschritten
Anzahl der Nodes13
Kategorie2
Node-Typen9
Schwierigkeitsbeschreibung

Für erfahrene Benutzer, mittelkomplexe Workflows mit 6-15 Nodes

Autor
Avkash Kakdiya

Avkash Kakdiya

@itechnotion

🚀 Founder of iTechNotion — we build custom AI-powered automation workflows for startups, agencies, and founders. 💡 Specializing in agentic AI systems, content automation, sales funnels, and digital workers. 🔧 14+ years in tech | Building scalable no-code/low-code solutions using n8n, OpenAI, and other API-first tools. 📬 Let’s automate what slows you down.

Externe Links
Auf n8n.io ansehen

Diesen Workflow teilen

Kategorien

Kategorien: 34